Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

neoway m590 + arduino nie działający program

max-pl 29 Sie 2017 22:26 1536 43
  • #1 29 Sie 2017 22:26
    max-pl
    Poziom 7  

    Witam
    Chcę aby arduino za pośrednictwem m590 wysłał odczyt z czujnika temp. sms,kiedy dostanie komende " #tmp ".Napisałem taki kod,ale po wysłaniu smsa nic się nie dzieje.W monitorze portu szeregowego wyświetla sie tylko po "modem test " a po chwili z 10 x "coś się dzieje ".Dopiero zaczynam z programowaniem i elektroniką więc proszę o wyrozumiałość i cierpliwość : >

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 29
  • #2 30 Sie 2017 09:32
    adam74m
    Poziom 11  

    Witam.
    Napisz, jak zasilasz m590. Trzeba pamiętać, że modem pobiera krótkie impulsy prądu o wartości 2A i zasilanie musi dać radę.

    0
  • #3 30 Sie 2017 10:48
    max-pl
    Poziom 7  

    Zasilacz 3A 12V to podłączone do przetwornicy,napięcie wyjściowe 3,9V.Przed podłączeniem do arduino modem sprawdzalem podpięty bezposrednio do PC przez konwerter.Wszystko działa,loguje się,nie restartuje się,działa stabilnie.Myslę ze to kwestia kodu,ponieważ modem cały czas jest zalogowany i chodzi ( jest sygnał jak dzwonie ).

    0
  • #4 30 Sie 2017 21:33
    22053
    Użytkownik usunął konto  
  • #6 30 Sie 2017 23:47
    22053
    Użytkownik usunął konto  
  • #7 30 Sie 2017 23:53
    max-pl
    Poziom 7  

    Czujnik temperatury ds18b20.To "coś się dzieje " służyło mi tylko do diagnozowania kodu i usunąłem jako zbędne.Aktualnie modem dostaje komendy CNMI itp. Zawarte w kodzie i odpowiada na nie OK.Ale po wysłaniu sms z komendą dalej nic sie nie dzieje.

    0
  • #8 31 Sie 2017 01:10
    22053
    Użytkownik usunął konto  
  • #9 31 Sie 2017 08:40
    max-pl
    Poziom 7  

    Przepraszam za chaotyczność,już tłumacze.Do modułu wysyłają się tylko komendy z setup czyli: At,At,CMGF,CNMI na które moduł odpowiada Ok ( po każdej z tych komend odpowiada ok).Po wysłaniu sms do modułu z treścią " #tmp" nic się nie dzieje ale moduł cały czas chodzi o gdy na niego zadzwonie to jest sygnał.To powtarzanie "coś się dzieje" mogło być kwestią podłączenia rx i tx,po zmianie kodu i zmianie pinów rx i tx ( wczesniej miałem podłączone na 0 i 1 w Arduino,teraz 2,3 ) problem znikł.
    Dziękuje za pomoc i jeśli są jeszcze jakieś niejasności to odpowiem.

    0
  • #10 31 Sie 2017 08:52
    22053
    Użytkownik usunął konto  
  • #11 31 Sie 2017 09:51
    adam74m
    Poziom 11  

    Na moje oko, to kolega R_MIK już napisał o przyczynie. W programie zamień CMGW na CMGS.

    0
  • #12 31 Sie 2017 10:28
    max-pl
    Poziom 7  

    Zamieniłem CMGW na CMGS oraz "#tmp" na "#" i dalej nic.Dla zdiagnozowania wpisałem " Serial.println ("moduł działa..");" po " if (cellSerial.available() > 0) "w void loop.Powinno chyba wyrzucić w monitorze " moduła działa..." kiedy dzwonie na moduł a nic się nie dzieje mimo że sygnał jest.

    0
  • #13 31 Sie 2017 10:43
    22053
    Użytkownik usunął konto  
  • #14 31 Sie 2017 11:01
    max-pl
    Poziom 7  

    Kod zaktualizowany.Gdy sprawdzałem moduł to wyrzucał komunikat RING gdy dzwoniłem.Pisząc że jest sygnał chodzi mi że gdy dzwonie na modem to mam sygnał w słuchawce czyli wynika z tego że moduł jest zalogowany do sieci.
    Co do komunikatu po CMGS.Jeśli chodzi o kod to CMGS nie jest wysyłany do modułu ( tak jak pisałem wyżej w monitorze pojawiają się tylko komendy z void setup.Czyli At,At,CMGF,CNMI na które moduł odpowiada OK.Tylko te komendy pojawiają się w monitorze).Jeśli wpisywałem CMGS podczas sprawdzania modułu to moduł wyrzucał " > ".

    0
  • #15 31 Sie 2017 11:05
    adam74m
    Poziom 11  

    Po cmgs pojawia się '>', co jest znakiem zachęty. Wpisuje się wtedy treść i potwierdza ctrl+z.

    0
  • #16 31 Sie 2017 11:09
    max-pl
    Poziom 7  

    Tak,rozumiem.W kodzie mam wpisaną cellSerial.println(message); // zawartość wiadomości SMS
    cellSerial.println((char)26); // wysłanie

    0
  • #17 31 Sie 2017 11:13
    22053
    Użytkownik usunął konto  
  • #18 31 Sie 2017 11:27
    max-pl
    Poziom 7  

    Ok,przepraszam za bałagan,dopiero zaczynam z programowaniem i elektroniką,proszę o wyrozumiałość.

    R-MIK napisał:
    Pytam więc, co miał się dziac po tym gdy zatelefonujesz na modem (dzwoni to się w kościele).

    Wydaje mi się że gdy telefonuje powinno pojawiac się w monitorze " moduł działa..." zgodnie z komendą:
    max-pl napisał:
    if (cellSerial.available() > 0)
    {
    Serial.println ("moduł działa..");
    umieszczoną na początku void loop.

    0
  • #19 31 Sie 2017 11:46
    22053
    Użytkownik usunął konto  
  • #20 31 Sie 2017 11:51
    max-pl
    Poziom 7  

    Ok.Czyli rozumiem że " moduł działa..." powinno wyświetlić dopiero gdy jest jakaś wiadomość sms i nie będzie tego podczas telefonowania ? Czemu w takim razie gdy prześle sms # nie wyświetla "moduł działa"?

    0
  • Pomocny post
    #21 31 Sie 2017 11:55
    22053
    Użytkownik usunął konto  
  • #23 02 Wrz 2017 21:45
    max-pl
    Poziom 7  

    Na podstawie przykładu kodu z sieci i jego modyfikacji stworzyłem kod który działa.Mam jedynie jeden problem.Po wysłaniu "tmp" dostaje sms zwrotny z temperaturą lecz ta temperatura nie zmienia się,jeśli nagrzeje w ręku czujnik i ponownie wyśle " tmp" to dostaje sms z temperaturą odczytaną wcześniej.Sam czujnik na pewno działa,testowałem go na prostym programie do odczytu temperatury w monitorze.Wszystko jest ok,pokazuje temperaturę która prawidłowo się zmienia.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #24 02 Wrz 2017 22:57
    22053
    Użytkownik usunął konto  
  • #25 03 Wrz 2017 10:30
    max-pl
    Poziom 7  

    Wkleiłem fragment kodu wyświetlający temp. na monitorze.Pomiary normalnie się zmieniają.Poniżej wklejam kod z dopisanym fragmentem.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #26 03 Wrz 2017 11:00
    22053
    Użytkownik usunął konto  
  • #28 03 Wrz 2017 14:58
    22053
    Użytkownik usunął konto  
  • #29 03 Wrz 2017 16:42
    max-pl
    Poziom 7  

    Dodałem "odczytana temp.. " w powyższym fragmencie i jest on cały czas poprawnie wykonywany.Jedynie odczytana temperatura jest nie halo.Pierwszy odczyt jest ok ale następne odczyty ( po wysłaniu 2 sms-a i kolejnych ) są powtórzeniem pierwszego odczytu.Nie moge znaleźć co tu jest nie tak.Wygląda jakby czujnik po pierwszym pomiarze się zawieszał i podawał tylko temperaturę odczytaną za pierwszym razem.

    0
  • #30 03 Wrz 2017 19:55
    22053
    Użytkownik usunął konto