Moduł sterowania urządzeniami poprzez wiadomość SMS na Arduino
Zdalne sterowanie niegdyś było dość rzadko poruszanym tematem. Autor pisze, że kiedy był małym dzieckiem, wyobrażał sobie, że ma przy sobie urządzenie, przy pomocy którego może sterować całym wyposażeniem domu. Teraz jednak stało się to możliwe i na dodatek całkiem łatwe do wykonania. W tym artykule krok po kroku zostanie przedstawione jak zdalnie sterować sprzętami domowymi przy pomocy GPRS/GSM SMS i przekaźników.
Na początek trochę podstawowych informacji na temat przekaźnika
Przekaźniki są używane wszędzie, gdzie koniecznym jest kontrolowanie obwodu przy pomocy sygnału o małej mocy (z pełną izolacją elektryczną pomiędzy kontrolerem i obwodem kontrolowany), albo tam gdzie kilka obwodów musi być sterowanych jednym sygnałem. Znaczy to mniej więcej tyle co ,,sterowany niskim napięciem przełącznik, sterujący wysokim napięciem". Na przykład, jeśli chcesz kontrolować pracę zmywarki lub klimatyzatora, które to najczęściej są zasilane napięciem 110V lub 220V przy użyciu mikrokontrolera takiego jak AVR lub PIC to znacznie bezpieczniej będzie, jeśli użyjesz do tego celu przekaźników.
Przy pomocy wiadomości GSM SMS, możliwe jest zdalne sterowanie przekaźnikiem nawet na kompletnym odludziu. Wysyłając wiadomość z telefonu możemy sterować stanem urządzenia pomiędzy włączony/wyłączony. Dzięki temu systemowi z łatwością możemy bezprzewodowo kontrolować np. system nawadniania, "inteligentnym domem", urządzenia znajdujące się na zewnątrz.
A więc zróbmy przekaźnik sterowany poprzez SMS na platformie Arduino z wykorzystaniem GPRS/GSM i modułu przekaźnika.
Krok 1: Przygotuj części i materiały

Wybierz moduły, które będziesz potrzebował, moduł Xrduino, moduł GPRS/GSM i moduł przekaźnika są niezbędne. Zauważ, że prąd znamionowy przekaźnika jest bardzo ważnym parametrem, upewnij się, że jest on zgodny z twoimi oczekiwaniami, w przeciwnym wypadku jego użycie może być niebezpieczne. Autor w swoim projekcie użył przekaźnika o prądzie znamionowym 2A, który jest wystarczający dla jego zastosowania (sterowanie lampą). Poniżej umieszczony jest orientacyjny pobór prądu różnych domowych urządzeń.
Urządzenie Maksymalny pobór prądu
Wiatrak 1A
Lampa 2A
Telewizor 2A
Lodówka 2A
Kuchenka mikrofalowa 8A
Klimatyzator Zależy od ustawień, zwykle poniżej 20A
Moduły, których użył autor można zobaczyć klikając w poniższe linki
Crowduino Link
Elecrow GPRS/GSM Shield Link
Elecrow Relay Shield Link
Krok 2: Włóż kartę SIM do modułu GPRS

Moduł GPRS do poprawnej pracy wymaga zainstalowania w nim karty SIM, takiej samej jak w telefonie komórkowym. Włóż kartę SIM w slot, upewnij się, że karta ta nie jest zablokowana. Zapisz numer karty SIM, będzie potrzebny podczas konfiguracji platformy Arduino.
Krok 3: Komunikacja z Crowduino/Arduino poprzez szeregowe złącze sprzętowe
Są dwa sposoby na połączenie modułu GPRS/GSM z mikrokontrolerem. Jednym z nich jest użycie programowego portu szeregowego, drugim zaś użycie sprzętowego portu szeregowego. W artykule tym zostanie zaprezentowany sposób drugi, czyli połączenie z Crowduino/Arduino za pomocą portu sprzętowego. W module GPRS znajduje się złącze 2*3 piny. Możesz zobaczyć oznaczenie po dwóch stronach pinów. Jedna strona jest przeznaczona do Xduino (złącze sprzętowe), a druga do SW (złącze programowe). Połącz to w taki sposób, jak jest to pokazane na poniższym obrazku.
Krok 4: Wybór rodzaju płytki Arduino
Do zaprogramowania modułu, będziesz potrzebował Arduino IDE oraz będziesz musiał pobrać program do tego przeznaczony.
Link do pobrania:
Using_SMS_to_Control_Relay_Hardware Serial.ino Link
Przed skompilowaniem programu należy otworzyć plik: SoftwareSerial.h w arduino \ biblioteki \ SoftwareSerial i zmienić wartość
#define _SS_MAX_RX_BUFF 64 // RX buffer size
na
#define _SS_MAX_RX_BUFF 128 // RX buffer size
Dzięki tej modyfikacji moduł Arduino będzie miał większy bufor służący do zbierania informacji o błędach.
Z tę modyfikacją, Arduino miałby więcej buforu dla otrzymany posyłać wiadomość, by uniknąć jakichś błędów komunikacji.
Jeżeli nie czujesz się na siłach, aby wnikać w takie szczegóły, możesz po prostu skopiować kod do Arduino IDE i kontynuować.
Później otwórz ten plik przy użyciu Arduino IDE. Załaduj program do Crowduino, PAMIĘTAJ, ABY NIE PODŁĄCZAĆ MODUŁU GPRS DO CROWDUINO W TRAKCIE ŁADOWANIA PROGRAMU, BARDZO WAŻNE!
Krok 5: Podłączanie modułów do Crowduino
Podłącz twój moduł do Crowduino. Na samej gorze podłącz moduł GPRS lub moduł przekaźnika. Właśnie w tym miejscu, ponieważ moduł przekaźnika zostanie użyty dopiero później.
Krok 6: Ręczne sterowanie przekaźnikami
Teraz kiedy cały sprzęt został podłączony, a program zaktualizowany, możemy przystąpić do testowania modułu przekaźnika. Moduł który został użyty w tym projekcie jest bardzo ciekawym urządzeniem. Posiada on 4 niezależne przekaźniki, z których każdy może być sterowany przy pomocy Arduino lub ręcznie. Posiada on również 4 diody LED sygnalizujące użytkownikowi status poszczególnych przekaźników.
Krok 7: Test ręcznego sterowania



Zanim spróbujemy sterować zdalnie lampą, możemy przeprowadzić pewien eksperyment. Będziemy do tego potrzebowali płytki stykowej, diody LED, dwóch baterii typu AA i kilku kabli łączeniowych.
Podłącz plus zasilacza (czerwony) do anody diody LED przy użyciu płytki stykowej. W ten sam sposób podłącz katodę diody LED.
Właściwie potrzebujemy użyć tylko jednego przekaźnika, użyjemy wiec przekaźnika U3, który sterowany jest przy użyciu złącza 5 Arduino. Dostępne są 3 rodzaje terminali, przy pomocy których możemy sterować przekaźnikiem: COM3, NC3 i NO3. COM3 jest wspólnym portem, podczas gdy NO oznacza „Normalnie Otwarty”, a NC „Normalnie Zamknięty”. Zależności pomiędzy tymi terminalami są następujące:
Kiedy przekaźnik jest wyłączony COM3 jest połączony z NC3 i rozłączony z NO3.
Kiedy przekaźnik jest włączony COM3 jest rozłączony z NC3 i połączony z NO3
Umieść czarny przewód (minus zasilania) w złączu NO3, a następnie katodę diody LED w złączy COM3 i przykręć je przy pomocy śrubokręta.
Teraz możesz sterować diodą LED używając przycisku 3.
Krok 8: Sterowanie diodą LED przez SMS




Teraz nadszedł czas na wypróbowanie układu w praktyce, wysyłając wiadomość tekstową “onb” na numer karty SIM, która umieszczona jest w module GPRS. W tym momencie przekaźnik powinien się załączyć, przez co dioda LED zaświeci się.
W tym miejscu należałoby wyjaśnić zasadę działania programu. Jeśli wydaje ci się to nudne lub zbyt proste, po prostu pomiń poniższy akapit, jednak zapamiętaj, że są 4 przekaźniki: U1, U2, U3, U4 odpowiednio d, c, b, a. Jeśli chcesz sterować przekaźnikiem pierwszym, powinieneś wysłać wiadomość „ond” lub „offd” na numer karty SIM umieszczonej w module GPRS, przekaźnik U1 będzie się odpowiednio wyłączał i włączał. Jeśli chcesz sterować wieloma przekaźnikami naraz w jednym SMSie, po prostu wyślij kilka komend w jednej wiadomości. Na przykład, jeśli chcesz włączyć U1, U2, U3 i wyłączyć U4, wysyłasz wiadomość wyglądającą następująco “ond onc onb offa”. Autor projektu używał U3 do sterowania diodą LED, więc kiedy wysyłał wiadomość „onb”, przekaźnik U3 włączał się, a dioda LED zaświecała się.
Jest kilka ważnych funkcji, które powinieneś zrozumieć, jeśli chcesz nauczyć się więcej w temacie modułu GPRS:
void ProcessGprsMsg()
Funkcja: przetwarza dane, które zostały pobrane przez Arduino z modułu GPS. Jeśli w przychodzących danych znajdzie się zmienna „+CMGR:”, Arduino przetworzy informacje “dostałem któtką wiadomość, muszę przeanalizować ją aby wiedzieć jaką następną czynność wykonać”
Paramet: none
Return: none;
void ProcessSms( String sms )
Funkcja: Arduino analizuje otrzymaną krótką wiadomość. Jeśli zmienna ma wartość „ona”, zostanie aktywowane odpowiednie wyjście i przekaźnik włączy się, łącząc terminal COM4 z terminalem NO4, podczas gdy pobranie zmiennej „offa” spowoduje dezaktywacje wyjścia, w celu rozłączenia terminalu COM4 z terminalem NO4.
Parametr: otrzymana wiadomość;
Return : none
W programie tym, kiedy Arduino otrzyma komendę “offa”, która oznacza “wyłącz wyjście a” usłyszysz dźwięk brzmiący mniej więcej, jak „bang… bang…”, a dioda LED zamruga.
Krok 9: Podłączanie lampy do modułu przekaźników




Pamiętasz wspominaną na początku lampę? W tym kroku zostanie zaprezentowane jak zniszczyć tą śliczną lampę.
Odetnij przewód zasilający od lampy (tak jak na obrazku) a następnie włóż jedną końcówkę do złącza COM3 i przykręć ją za pomocą śrubokręta, drugą końcówkę podłącz do złącza NO3 w taki sam sposób.
Upewnij się, że Crowduino I moduły są podłączone do zasilania, a program działa poprawnie.
Włącz lampę i odsuń się od niej.
Krok 10: Sterowanie lampą przez SMS


Jeśli wszystko jest w porządku wyjmij telefon i wyślij wiadomość „onb” na numer karty SIM włożonej do moduły GPRS. Lampa ostatecznie powinna się zapalić!
W ten sposób możesz sterować czym tylko chcesz. Możesz również sterować 4 urządzeniami jednocześnie, wystarczy zmodyfikować program w Arduino. Ale pamiętaj o potencjalnym zagrożeniu płynącym z wysokiego napięcie i prądu. Powodzenia!
Źródło: Link



Zdalne sterowanie niegdyś było dość rzadko poruszanym tematem. Autor pisze, że kiedy był małym dzieckiem, wyobrażał sobie, że ma przy sobie urządzenie, przy pomocy którego może sterować całym wyposażeniem domu. Teraz jednak stało się to możliwe i na dodatek całkiem łatwe do wykonania. W tym artykule krok po kroku zostanie przedstawione jak zdalnie sterować sprzętami domowymi przy pomocy GPRS/GSM SMS i przekaźników.
Na początek trochę podstawowych informacji na temat przekaźnika
Przekaźniki są używane wszędzie, gdzie koniecznym jest kontrolowanie obwodu przy pomocy sygnału o małej mocy (z pełną izolacją elektryczną pomiędzy kontrolerem i obwodem kontrolowany), albo tam gdzie kilka obwodów musi być sterowanych jednym sygnałem. Znaczy to mniej więcej tyle co ,,sterowany niskim napięciem przełącznik, sterujący wysokim napięciem". Na przykład, jeśli chcesz kontrolować pracę zmywarki lub klimatyzatora, które to najczęściej są zasilane napięciem 110V lub 220V przy użyciu mikrokontrolera takiego jak AVR lub PIC to znacznie bezpieczniej będzie, jeśli użyjesz do tego celu przekaźników.
Przy pomocy wiadomości GSM SMS, możliwe jest zdalne sterowanie przekaźnikiem nawet na kompletnym odludziu. Wysyłając wiadomość z telefonu możemy sterować stanem urządzenia pomiędzy włączony/wyłączony. Dzięki temu systemowi z łatwością możemy bezprzewodowo kontrolować np. system nawadniania, "inteligentnym domem", urządzenia znajdujące się na zewnątrz.
A więc zróbmy przekaźnik sterowany poprzez SMS na platformie Arduino z wykorzystaniem GPRS/GSM i modułu przekaźnika.
Krok 1: Przygotuj części i materiały


Wybierz moduły, które będziesz potrzebował, moduł Xrduino, moduł GPRS/GSM i moduł przekaźnika są niezbędne. Zauważ, że prąd znamionowy przekaźnika jest bardzo ważnym parametrem, upewnij się, że jest on zgodny z twoimi oczekiwaniami, w przeciwnym wypadku jego użycie może być niebezpieczne. Autor w swoim projekcie użył przekaźnika o prądzie znamionowym 2A, który jest wystarczający dla jego zastosowania (sterowanie lampą). Poniżej umieszczony jest orientacyjny pobór prądu różnych domowych urządzeń.
Urządzenie Maksymalny pobór prądu
Wiatrak 1A
Lampa 2A
Telewizor 2A
Lodówka 2A
Kuchenka mikrofalowa 8A
Klimatyzator Zależy od ustawień, zwykle poniżej 20A
Moduły, których użył autor można zobaczyć klikając w poniższe linki
Crowduino Link
Elecrow GPRS/GSM Shield Link
Elecrow Relay Shield Link
Krok 2: Włóż kartę SIM do modułu GPRS


Moduł GPRS do poprawnej pracy wymaga zainstalowania w nim karty SIM, takiej samej jak w telefonie komórkowym. Włóż kartę SIM w slot, upewnij się, że karta ta nie jest zablokowana. Zapisz numer karty SIM, będzie potrzebny podczas konfiguracji platformy Arduino.
Krok 3: Komunikacja z Crowduino/Arduino poprzez szeregowe złącze sprzętowe

Są dwa sposoby na połączenie modułu GPRS/GSM z mikrokontrolerem. Jednym z nich jest użycie programowego portu szeregowego, drugim zaś użycie sprzętowego portu szeregowego. W artykule tym zostanie zaprezentowany sposób drugi, czyli połączenie z Crowduino/Arduino za pomocą portu sprzętowego. W module GPRS znajduje się złącze 2*3 piny. Możesz zobaczyć oznaczenie po dwóch stronach pinów. Jedna strona jest przeznaczona do Xduino (złącze sprzętowe), a druga do SW (złącze programowe). Połącz to w taki sposób, jak jest to pokazane na poniższym obrazku.
Krok 4: Wybór rodzaju płytki Arduino

Do zaprogramowania modułu, będziesz potrzebował Arduino IDE oraz będziesz musiał pobrać program do tego przeznaczony.
Link do pobrania:
Using_SMS_to_Control_Relay_Hardware Serial.ino Link
Przed skompilowaniem programu należy otworzyć plik: SoftwareSerial.h w arduino \ biblioteki \ SoftwareSerial i zmienić wartość
#define _SS_MAX_RX_BUFF 64 // RX buffer size
na
#define _SS_MAX_RX_BUFF 128 // RX buffer size
Dzięki tej modyfikacji moduł Arduino będzie miał większy bufor służący do zbierania informacji o błędach.
Z tę modyfikacją, Arduino miałby więcej buforu dla otrzymany posyłać wiadomość, by uniknąć jakichś błędów komunikacji.
Jeżeli nie czujesz się na siłach, aby wnikać w takie szczegóły, możesz po prostu skopiować kod do Arduino IDE i kontynuować.
Później otwórz ten plik przy użyciu Arduino IDE. Załaduj program do Crowduino, PAMIĘTAJ, ABY NIE PODŁĄCZAĆ MODUŁU GPRS DO CROWDUINO W TRAKCIE ŁADOWANIA PROGRAMU, BARDZO WAŻNE!
Krok 5: Podłączanie modułów do Crowduino

Podłącz twój moduł do Crowduino. Na samej gorze podłącz moduł GPRS lub moduł przekaźnika. Właśnie w tym miejscu, ponieważ moduł przekaźnika zostanie użyty dopiero później.
Krok 6: Ręczne sterowanie przekaźnikami

Teraz kiedy cały sprzęt został podłączony, a program zaktualizowany, możemy przystąpić do testowania modułu przekaźnika. Moduł który został użyty w tym projekcie jest bardzo ciekawym urządzeniem. Posiada on 4 niezależne przekaźniki, z których każdy może być sterowany przy pomocy Arduino lub ręcznie. Posiada on również 4 diody LED sygnalizujące użytkownikowi status poszczególnych przekaźników.
Krok 7: Test ręcznego sterowania




Zanim spróbujemy sterować zdalnie lampą, możemy przeprowadzić pewien eksperyment. Będziemy do tego potrzebowali płytki stykowej, diody LED, dwóch baterii typu AA i kilku kabli łączeniowych.
Podłącz plus zasilacza (czerwony) do anody diody LED przy użyciu płytki stykowej. W ten sam sposób podłącz katodę diody LED.
Właściwie potrzebujemy użyć tylko jednego przekaźnika, użyjemy wiec przekaźnika U3, który sterowany jest przy użyciu złącza 5 Arduino. Dostępne są 3 rodzaje terminali, przy pomocy których możemy sterować przekaźnikiem: COM3, NC3 i NO3. COM3 jest wspólnym portem, podczas gdy NO oznacza „Normalnie Otwarty”, a NC „Normalnie Zamknięty”. Zależności pomiędzy tymi terminalami są następujące:
Kiedy przekaźnik jest wyłączony COM3 jest połączony z NC3 i rozłączony z NO3.
Kiedy przekaźnik jest włączony COM3 jest rozłączony z NC3 i połączony z NO3
Umieść czarny przewód (minus zasilania) w złączu NO3, a następnie katodę diody LED w złączy COM3 i przykręć je przy pomocy śrubokręta.
Teraz możesz sterować diodą LED używając przycisku 3.
Krok 8: Sterowanie diodą LED przez SMS





Teraz nadszedł czas na wypróbowanie układu w praktyce, wysyłając wiadomość tekstową “onb” na numer karty SIM, która umieszczona jest w module GPRS. W tym momencie przekaźnik powinien się załączyć, przez co dioda LED zaświeci się.
W tym miejscu należałoby wyjaśnić zasadę działania programu. Jeśli wydaje ci się to nudne lub zbyt proste, po prostu pomiń poniższy akapit, jednak zapamiętaj, że są 4 przekaźniki: U1, U2, U3, U4 odpowiednio d, c, b, a. Jeśli chcesz sterować przekaźnikiem pierwszym, powinieneś wysłać wiadomość „ond” lub „offd” na numer karty SIM umieszczonej w module GPRS, przekaźnik U1 będzie się odpowiednio wyłączał i włączał. Jeśli chcesz sterować wieloma przekaźnikami naraz w jednym SMSie, po prostu wyślij kilka komend w jednej wiadomości. Na przykład, jeśli chcesz włączyć U1, U2, U3 i wyłączyć U4, wysyłasz wiadomość wyglądającą następująco “ond onc onb offa”. Autor projektu używał U3 do sterowania diodą LED, więc kiedy wysyłał wiadomość „onb”, przekaźnik U3 włączał się, a dioda LED zaświecała się.
Jest kilka ważnych funkcji, które powinieneś zrozumieć, jeśli chcesz nauczyć się więcej w temacie modułu GPRS:
void ProcessGprsMsg()
Funkcja: przetwarza dane, które zostały pobrane przez Arduino z modułu GPS. Jeśli w przychodzących danych znajdzie się zmienna „+CMGR:”, Arduino przetworzy informacje “dostałem któtką wiadomość, muszę przeanalizować ją aby wiedzieć jaką następną czynność wykonać”
Paramet: none
Return: none;
void ProcessSms( String sms )
Funkcja: Arduino analizuje otrzymaną krótką wiadomość. Jeśli zmienna ma wartość „ona”, zostanie aktywowane odpowiednie wyjście i przekaźnik włączy się, łącząc terminal COM4 z terminalem NO4, podczas gdy pobranie zmiennej „offa” spowoduje dezaktywacje wyjścia, w celu rozłączenia terminalu COM4 z terminalem NO4.
Parametr: otrzymana wiadomość;
Return : none
W programie tym, kiedy Arduino otrzyma komendę “offa”, która oznacza “wyłącz wyjście a” usłyszysz dźwięk brzmiący mniej więcej, jak „bang… bang…”, a dioda LED zamruga.
Krok 9: Podłączanie lampy do modułu przekaźników






Pamiętasz wspominaną na początku lampę? W tym kroku zostanie zaprezentowane jak zniszczyć tą śliczną lampę.
Odetnij przewód zasilający od lampy (tak jak na obrazku) a następnie włóż jedną końcówkę do złącza COM3 i przykręć ją za pomocą śrubokręta, drugą końcówkę podłącz do złącza NO3 w taki sam sposób.
Upewnij się, że Crowduino I moduły są podłączone do zasilania, a program działa poprawnie.
Włącz lampę i odsuń się od niej.
Krok 10: Sterowanie lampą przez SMS



Jeśli wszystko jest w porządku wyjmij telefon i wyślij wiadomość „onb” na numer karty SIM włożonej do moduły GPRS. Lampa ostatecznie powinna się zapalić!
W ten sposób możesz sterować czym tylko chcesz. Możesz również sterować 4 urządzeniami jednocześnie, wystarczy zmodyfikować program w Arduino. Ale pamiętaj o potencjalnym zagrożeniu płynącym z wysokiego napięcie i prądu. Powodzenia!
Źródło: Link
Cool? Ranking DIY