Elektroda.pl
Elektroda.pl
X
Computer ControlsComputer Controls
Proszę, dodaj wyjątek dla 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

29 Sie 2017 22:26 2025 43
  • Poziom 8  
    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
  • Computer ControlsComputer Controls
  • Poziom 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ę.
  • Poziom 8  
    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 ).
  • Użytkownik usunął konto  
  • Użytkownik usunął konto  
  • Computer ControlsComputer Controls
  • Poziom 8  
    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.
  • Użytkownik usunął konto  
  • Poziom 8  
    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.
  • Użytkownik usunął konto  
  • Poziom 12  
    Na moje oko, to kolega R_MIK już napisał o przyczynie. W programie zamień CMGW na CMGS.
  • Poziom 8  
    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.
  • Użytkownik usunął konto  
  • Poziom 8  
    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ł " > ".
  • Poziom 12  
    Po cmgs pojawia się '>', co jest znakiem zachęty. Wpisuje się wtedy treść i potwierdza ctrl+z.
  • Poziom 8  
    Tak,rozumiem.W kodzie mam wpisaną cellSerial.println(message); // zawartość wiadomości SMS
    cellSerial.println((char)26); // wysłanie
  • Użytkownik usunął konto  
  • Poziom 8  
    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.
  • Użytkownik usunął konto  
  • Poziom 8  
    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"?
  • Pomocny post
    Użytkownik usunął konto  
  • Poziom 8  
    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
  • Użytkownik usunął konto  
  • Poziom 8  
    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
  • Użytkownik usunął konto  
  • Użytkownik usunął konto  
  • Poziom 8  
    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.
  • Użytkownik usunął konto