Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

neoway m590 + arduino nie działający program

max-pl 29 Aug 2017 22:26 2412 43
Altium Designer Computer Controls
  • #1
    max-pl
    Level 9  
    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ść : >
    Code: c
    Log in, to see the code
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • Altium Designer Computer Controls
  • #2
    adam74m
    Level 12  
    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ę.
  • #3
    max-pl
    Level 9  
    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 ).
  • #4
    Anonymous
    Anonymous  
  • #6
    Anonymous
    Anonymous  
  • #7
    max-pl
    Level 9  
    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.
  • Altium Designer Computer Controls
  • #8
    Anonymous
    Anonymous  
  • #9
    max-pl
    Level 9  
    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.
  • #10
    Anonymous
    Anonymous  
  • #11
    adam74m
    Level 12  
    Na moje oko, to kolega R_MIK już napisał o przyczynie. W programie zamień CMGW na CMGS.
  • #12
    max-pl
    Level 9  
    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.
  • #13
    Anonymous
    Anonymous  
  • #14
    max-pl
    Level 9  
    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ł " > ".
  • #15
    adam74m
    Level 12  
    Po cmgs pojawia się '>', co jest znakiem zachęty. Wpisuje się wtedy treść i potwierdza ctrl+z.
  • #16
    max-pl
    Level 9  
    Tak,rozumiem.W kodzie mam wpisaną cellSerial.println(message); // zawartość wiadomości SMS
    cellSerial.println((char)26); // wysłanie
  • #17
    Anonymous
    Anonymous  
  • #18
    max-pl
    Level 9  
    Ok,przepraszam za bałagan,dopiero zaczynam z programowaniem i elektroniką,proszę o wyrozumiałość.
    R-MIK wrote:
    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 wrote:
    if (cellSerial.available() > 0)
    {
    Serial.println ("moduł działa..");
    umieszczoną na początku void loop.
  • #19
    Anonymous
    Anonymous  
  • #20
    max-pl
    Level 9  
    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"?
  • Helpful post
    #21
    Anonymous
    Anonymous  
  • #23
    max-pl
    Level 9  
    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.
    Code: c
    Log in, to see the code
  • #24
    Anonymous
    Anonymous  
  • #25
    max-pl
    Level 9  
    Wkleiłem fragment kodu wyświetlający temp. na monitorze.Pomiary normalnie się zmieniają.Poniżej wklejam kod z dopisanym fragmentem.
    Code: c
    Log in, to see the code
  • #26
    Anonymous
    Anonymous  
  • #28
    Anonymous
    Anonymous  
  • #29
    max-pl
    Level 9  
    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.
  • #30
    Anonymous
    Anonymous