Budżetowy alarm GSM z mózgiem Arduino. Alarm domowy lub wykorzystanie czujnika ruchu i monitora LCD z Arduino Czytaj więcej w filmie

Budżetowy alarm GSM z mózgiem Arduino.  Alarm domowy lub wykorzystanie czujnika ruchu i monitora LCD z Arduino Czytaj więcej w filmie
Budżetowy alarm GSM z mózgiem Arduino. Alarm domowy lub wykorzystanie czujnika ruchu i monitora LCD z Arduino Czytaj więcej w filmie

Dzień dobry Znów wielokrotna recenzja języka chińskiego części elektroniczne, jak zwykle trochę o wszystkim, postaram się krótko, ale czy się uda? Poznaj więc system alarmowy GSM kosztujący nawet 700 ₽. Ciekawy? Proszę używać słowa „wytnij”!

Zacznijmy! Zanim zaczniesz, polecam przyjrzeć się temu, mniej komponentów i większa autonomia. Tak więc „specyfikacje techniczne”, podstawowe wymagania dotyczące sygnalizacji:

1) Powiadamiaj o uruchomieniu czujników.
2) W przypadku awarii zasilania należy zapewnić pewną autonomię.
3) Sterowanie alarmami poprzez SMS i połączenia.

W związku z tym, że proces tworzenia alarmu trwał kilka miesięcy i niektórzy sprzedawcy nie sprzedają już komponentów, które zostały u nich zakupione, zostaną zaktualizowane linki do produktów innych sprzedawców, którzy mają maksimum lub blisko maksymalny numer sprzedaż produktów i najlepsza cena. Ceny zawarte w recenzji są aktualne na dzień jej napisania.

Lista tego, czego będziesz potrzebować:

Lista zmian

GSM_03_12_2016-14-38.hex- poprawiono współpracę urządzenia z modemem M590.
GSM_05_12_2016-13-45.hex- dodano polecenie konsoli memtest, optymalizujące wykorzystanie pamięci RAM.
GSM_2016_12_06-15-43.hex- dodano wyprowadzanie wyników poleceń do konsoli, optymalizacja pamięci. Zajęte: 49% SRAM.
GSM_2016_12_07-10-59.hex- teraz numery telefonów są dodawane i usuwane poprawnie. Zajęty: 49% SRAM, 74% pamięci Flash.
GSM_2016_12_07-15-38.hex- dodano możliwość podłączenia czujnika ruchu, podłączenie do pinu A0 (w w tym przypadku pin A0 jest używany jako cyfrowy). Dodano polecenia SMS PIRon, PIROff. Zajęty: 48% SRAM, 76% pamięci Flash.
GSM_2016_12_08-13-53.hex- Teraz po pomyślnym wykonaniu polecenia, które w odpowiedzi nie wysyła wiadomości SMS, urządzenie miga raz niebieską diodą LED. Teraz po błędnym wykonaniu polecenia, które w odpowiedzi nie wysyła wiadomości SMS, urządzenie dwukrotnie mruga niebieską diodą. Teraz po inicjalizacji parametrów urządzenia, jeśli włączony jest tryb „cichy” (SendSms = 0), urządzenie często miga niebieską diodą LED przez 2 sekundy. Naprawiono błąd, przez który numer nie zawsze był usuwany z pamięci poleceniem Usuń Telefon. Zajęty: 48% SRAM, 78% pamięci Flash.
GSM_2016_12_11-09-12.hex- Dodano polecenia konsoli AddPhone i DeletePhone, składnia jest podobna do poleceń SMS. Optymalizacja pamięci. Zajęty: 43% SRAM, 79% pamięci Flash.
GSM_2017_01_03-22-51.hex- Wprowadzono obsługę podobnych ekspanderów portów I/O w układzie PCF8574, umożliwiających podłączenie dodatkowych 8 czujników, w tym kontaktronów. Automatyczne wyszukiwanie adresów i ustawienie automatyczne moduł. Zmiany standardowych nazw czujników i poziomu logicznego ich reakcji dokonuje się za pomocą polecenia EditSensor. Zmieniono treść SMS-a alarmowego dla czujnika głównego (pin D0): „Alarm! Główny czujnik! i czujnik ruchu (pin A0) „Alarm! Czujnik PIR! Dodano polecenia EditSensor i I2CScan. Zajęte: 66% SRAM, 92% pamięci Flash.
GSM_2017_01_15-23-26.hex- Wsparcie dla modemu A6_Mini. Kontrola dostępności zewnętrzny zasilacz(pin D7). Dodano polecenia SMS WatchPowerOn, WatchPowerOff. Dodano polecenia konsoli ListConfig, ListSensor. Teraz polecenie EditSensor SMS działa poprawnie. Nieznacznie zmniejszono wysyłanie informacji debugowania do monitora portu. Zajęte: 66% SRAM, 95% pamięć Flash.
GSM_2017_01_16-23-54.hex- Teraz w odpowiedzi na polecenie SMS „Info” raportowany jest również stan czujnika ruchu. Naprawiono błąd, przez który czasami wysyłane były puste wiadomości SMS z odpowiedzią. Teraz urządzenie powiadamia nie tylko o wyłączeniu, ale także o wznowieniu zasilania zewnętrznego. Wszystkie modemy zaczęły mniej gadać, a teraz monitor portu jest trochę czystszy. Zajęte: 66% SRAM, 95% pamięć Flash.
GSM_2017_02_04-20-23.hex- Naprawiono błąd „Uważaj na włączenie zasilania”. Teraz po rozbrojeniu „pin alarmowy” jest wyłączony. Teraz po usunięciu numeru w konsoli wyświetla się właściwa informacja. Prawdopodobnie naprawiono błąd, przez który czasami wysyłane były puste wiadomości SMS z odpowiedzią. Zajęty: 66% SRAM, 90% pamięci Flash.
GSM_2017_02_14-00-03.hex- Teraz domyślnie wysyłane są wiadomości SMS, parametr SendSms ponownie ma wartość 1. Teraz, gdy styki kontaktronu głównego są zwarte (zamknięcie drzwi), urządzenie miga niebieską diodą przez 2 sekundy, sygnalizując normalna operacja czujnik Zajęty: 66% SRAM, 90% pamięci Flash.
GSM_2017_03_01-23-37.hex- Usunięto polecenie WatchPowerOn. Dodano polecenie konsoli WatchPowerOff, identyczne z poleceniem SMS. Dodano polecenia WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - monitorowanie zasilania zewnętrznego włączone, jeśli alarm jest uzbrojony, WatchPowerOn2 - monitorowanie zasilania zewnętrznego włączone zawsze. Zaimplementowano funkcję uzbrajania i rozbrajania urządzenia zewnętrzne, służą do tego kołki A1(D15) i A2(D16). Alarm uzbraja/rozbraja się, gdy pojawi się na pinie A1 (D15) wysoki poziom+5V lub na pinie A2(D16) niski poziom GND. Pin A1(D15) jest podciągnięty do GND, pin A2(D16) jest podciągnięty do +5V przez rezystory 20 (10) kOhm. Dodano polecenia GuardButtonOn i GuardButtonOff. Teraz po załączeniu czuwania czerwona dioda LED miga do czasu sprawdzenia integralności obwodu głównego kontaktronu. Jeżeli obwód jest nienaruszony, zapala się czerwona dioda LED. Zajęte: 66% SRAM, 95% pamięć Flash.
GSM_2017_03_12-20-04.hex- Teraz konsola stała się jeszcze czystsza, ale jeśli włączony jest tryb testowy „TestOn”, w konsoli wyświetlane są dodatkowe informacje. Naprawiono błąd „Wysłano!”; informacja o wysyłaniu wiadomości jest teraz poprawnie wyświetlana w konsoli. Naprawiono błąd „powtarzającego się fałszywego połączenia”. Teraz żądanie salda powinno działać poprawnie na wszystkich modemach. Zajęte: 67% SRAM, 95% pamięć Flash.
GSM_2017_04_16-12-00.hex- Poprawione. Teraz polecenia Informacje i Pieniądze będą zawsze wysyłać SMS-y z odpowiedzią. Polecenie GuardButtonOn zostało zastąpione poleceniami GuardButtonOn1 i GuardButtonOn2. Zajęte: 67% SRAM, 99% pamięć Flash.
GSM_2017_04_21-09-43.hex - nie zaleca się używania, tylko w celach testowych, dzięki za wykrycie błędów :) - Teraz parametr sendsms nie ma wpływu na wysyłanie wiadomości SMS do monitorowania sieci energetycznej. Dodano komendę SMS DelayBeforeGuard odpowiedzialną za opóźnienie załączenia czuwania, wartość nie może przekroczyć 255 sekund. Dodano polecenie SMS DelayBeforeAlarm, które odpowiada za opóźnienie wysłania powiadomień i włączenie „pinu alarmowego” w przypadku zadziałania czujników, wartość nie może przekroczyć 255 sekund; Polecenia ClearSMS zostały usunięte, wiadomości są teraz usuwane automatycznie po otrzymaniu. Zajęte: 68% SRAM, 100% Flash.
GSM_2017_04_22-20-42.hex- Naprawiono wiele błędów. Polecenia ClearSMS są ponownie obecne w oprogramowaniu sprzętowym. Optymalizacja pamięci. Zajęty: 68% SRAM, 98% pamięci Flash.
GSM_2017_04_23-17-50.hex- Teraz żądanie salda powinno działać poprawnie na wszystkich modemach. Uzbrajanie i rozbrajanie za pomocą urządzeń zewnętrznych działa teraz poprawnie. Wiadomości zwrotne SMS z polecenia Info nie powinny być puste. Optymalizacja pamięci. Zajęty: 68% SRAM, 98% pamięci Flash.
GSM_2017_04_24-13-22.hex- Teraz wysyłam polecenia konsoli do Moduł GSM jest wykonywana tylko wtedy, gdy włączony jest tryb testowy. Teraz nie ma podziału na polecenia SMS i polecenia z konsoli; wszystkie istniejące polecenia można przesyłać zarówno za pośrednictwem wiadomości SMS, jak i za pośrednictwem konsoli. Być może naprawiono błąd związany z poleceniem Info. Optymalizacja pamięci. Zajęty: 68% SRAM, 94% pamięci Flash.
GSM_2017_04_25-20-54.hex- Naprawiono błąd powodujący zmianę wartości polecenia ListConfig ostatnie wydarzenie. Teraz podczas wprowadzania poleceń przez konsolę niepotrzebne wiadomości SMS nie są wysyłane. Być może naprawiono błąd związany z poleceniem Info. Optymalizacja pamięci. Zajęty: 66% SRAM, 94% pamięci Flash.
GSM_2017_04_30-12-57.hex- Wyjście tymczasowo włączone Dodatkowe informacje do konsoli podczas wysyłania wiadomości SMS i generowania odpowiedzi na polecenie Info. Być może naprawiono błąd związany z poleceniem Info. Optymalizacja pamięci. Zajęte: 66% SRAM, 92% pamięci Flash.
GSM_2017_05_06-11-52.hex- Naprawiono funkcję DelayBeforeAlarm. Zajęte: 66% SRAM, 93% pamięci Flash.
GSM_2017_05_23-21-27.hex- Wyjście informacji do konsoli zostało nieznacznie zmienione. Dodano obsługę modułów rozszerzeń portów w PCF8574A z adresami od 0x38 do 0x3f włącznie. Naprawiony błąd c. Teraz urządzenie uruchamia się automatycznie po wykonaniu poleceń FullReset, ResetConfig, ResetPhone i po pomyślnym wykonaniu polecenia MemTest. Dodano polecenie WatchPowerTime. Można teraz ustawić czas, po którym zostanie wysłana wiadomość SMS informująca o wyłączeniu zewnętrznego źródła zasilania. Zajęty: 67% SRAM, 94% pamięci Flash.
GSM_2017_05_26-20-22.hex— Naprawiono inicjalizację pamięci czujnika karty rozszerzeń. Zmieniono składnię polecenia AddPhone. Dodano polecenie EditMainPhone. Zmieniono zasadę działania systemu powiadamiania; po uruchomieniu czujnika w pierwszej kolejności zostaną wysłane wiadomości SMS, po czym zostaną wykonane połączenia głosowe. Alarmowe wiadomości SMS będą wysyłane na numery telefonów ze znakiem „S” (SMS). Połączenia głosowe będą realizowane na numery ze znakiem „R” (Dzwonek). Wiadomości o wyłączeniu/włączeniu zewnętrznego źródła zasilania będą wysyłane na numery telefonów ze znakiem „P” (Zasilanie). Dodano polecenie RingTime. Można teraz ustawić czas trwania alarmującego połączenia głosowego; parametr może przyjmować wartość od 10 do 255 sekund. Polecenie RingOn/RingOff teraz globalnie włącza/wyłącza powiadomienia o połączeniach głosowych. Dodano polecenie ResetSensor. Zajęte: 68% SRAM, 99% pamięć Flash.
GSM_2017_06_02-17-43.hex- Do poleceń AddPhone i EditMainPhone dodano parametr „I” (Info), który odpowiada za powiadamianie SMS o załączeniu lub rozbrojeniu urządzenia. Teraz po dodaniu numeru głównego urządzenie automatycznie uruchamia się ponownie. Teraz możesz wprowadzić identyczne liczby do pamięci urządzenia. Podczas dodawania drugiego i kolejnych duplikatów numerów atrybuty „M”, „S”, „P” i „I” zostaną z nich automatycznie usunięte. Numery te będą wykorzystywane do powtarzających się połączeń głosowych po uruchomieniu czujników. Naprawiono błąd powodujący nieprawidłowe wyświetlanie konsoli po wykonaniu polecenia Dodaj telefon; teraz informacje nie są wyświetlane automatycznie po dodaniu numeru. Dodano polecenie ponownego uruchomienia. Zajęte: 69% SRAM, 99% pamięć Flash.
GSM_2017_06_11-00-07.hex- Teraz ponownie, gdy styki kontaktronu głównego są zwarte (zamykając drzwi), urządzenie miga przez 2 sekundy niebieską diodą LED, sygnalizując normalną pracę czujnika, ale nie uwzględnia to, czy urządzenie jest uzbrojone lub rozbrojony. Polecenia RingOn/RingOff zostały usunięte. Teraz urządzenie można rozbroić podczas wywołania alarmowego; teraz są one wykonywane w tle. Zajęte: 69% SRAM, 99% pamięć Flash.
GSM_2017_07_04-21-52.hex- Teraz polecenie Pauza nie wysyła odpowiedzi SMS. Polecenia TestOn i TestOff zostały usunięte. Atrybut Zarządzanie został usunięty ze wszystkich numerów. Zajęty: 68% SRAM, 96% pamięci Flash.
GSM_2017_07_24-12-02.hex- Dodano polecenia ReedSwitchOn/ReedSwitchOff do monitorowania głównego czujnika kontaktronowego, teraz można go włączać/wyłączać w taki sam sposób, jak czujnik ruchu. Naprawiono błąd w poleceniu Informacje. Polecenia TestOn i TestOff są ponownie obecne w oprogramowaniu sprzętowym. Zajęty: 68% SRAM, 96% pamięci Flash.
GSM_2017_07_26-10-03.hex- Dodano polecenie ModemID. Automatyczne wykrycie modemu następuje tylko wtedy, gdy wartość tego parametru wynosi 0. Po ustawieniu wartości parametru na 0 urządzenie automatycznie uruchamia się ponownie. Zajęty: 68% SRAM, 98% pamięci Flash.
GSM_2017_08_03-22-03.hex- Teraz alarm może sterować urządzeniami zewnętrznymi. Do sterowania wykorzystywane jest wyjście analogowe A3 (D17 - wykorzystywane jako cyfrowe). Poziom wyjścia logicznego (+5V lub GND) można zmienić; po zmianie poziomu za pomocą polecenia konfiguracyjnego urządzenie automatycznie uruchomi się ponownie. Można zmienić czas trwania sygnału sterującego urządzeniem zewnętrznym. Dodano polecenia ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Otwórz. Niektóre zmiany w logice poleceń sterujących. Optymalizacja pamięci. Zajęte: 68% SRAM, 99% pamięć Flash.
GSM_2017_08_10-12-17.hex- Polecenia SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIRRoff i wszystko z nimi powiązane zostały usunięte. Polecenie DelayBeforeAlarm zostało zastąpione poleceniami rozszerzonymi. Zmieniono dane wyjściowe polecenia Info. Zoptymalizowano wyjście polecenia ListConfig na konsolę. Teraz dowolne czujniki cyfrowe o wysokim lub niskim poziomie reakcji, w tym kontaktrony, można podłączyć do pinów D6 i A0. Piny D6 i A0 należy połączyć z masą (GND) poprzez rezystancję 10 (20) kOhm. Jeżeli czujnik jest ustawiony na niski poziom reakcji (włączony w trybie kontaktronu), wówczas sprawdzana jest integralność obwodu. Poziom logiczny wyzwalania na wejściach D6 i A0 (+5V lub GND) można zmienić. Po zmianie poziomu logicznego urządzenie automatycznie uruchomi się ponownie. Dla każdego z czujników (głównego, drugiego, karty rozszerzeń PCF) po wyzwoleniu można ustawić własny czas, po którym nastąpi powiadomienie (SMS i/lub połączenie głosowe). Nazwa „Czujnik PIR” została zmieniona na „Drugi czujnik”. Naprawiono działanie karty rozszerzeń, błąd powodujący, że urządzenie zawsze powiadamiało o zadziałaniu czujników, niezależnie od tego, czy urządzenie było uzbrojone, czy nie. Teraz możesz wybrać tryb pracy, w którym urządzenie może monitorować czujniki karty rozszerzeń zarówno w trybie czuwania (GuardOn), jak i w trybie wyłączonym (GuardOff). Dodano polecenia PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Zajęte: 68% SRAM, 99% pamięć Flash.

*Kolejne wersje oprogramowania sprzętowego zawierają zmiany w stosunku do poprzednich wersji.


Wykorzystane porty Arduino Nano v3

D4- wyjście pinu „alarm”; w przypadku zadziałania czujnika na ten pin ustawiany jest sygnał o wysokim poziomie
D5- odwrotne wyjście pinu „alarm”; w przypadku zadziałania czujnika na ten pin ustawiany jest sygnał o niskim poziomie

D6- czujnik kontaktronowy. Począwszy od wersji GSM_2017_08_10-12-17.hex, do pinu D6 można podłączyć dowolne czujniki cyfrowe o wysokim lub niskim poziomie reakcji, w tym kontaktrony. Pin D6 należy połączyć z masą (GND) poprzez rezystancję 10 (20) kOhm.
D7- podłączony do dzielnika napięcia z zewnętrznego źródła zasilania +5V. Ramię 2,2 kOhm, dolne ramię 3,3 kOhm.

Dzielnik napięcia


D8- modem TX
D9- Modem RX

D10- czerwona dioda LED
D11- niebieska dioda LED
D12- zielona dioda LED

Połączenie peryferyjne:
A0- Czujnik ruchu . Począwszy od wersji GSM_2017_08_10-12-17.hex, do pinu A0 można podłączyć dowolne czujniki cyfrowe o wysokim lub niskim poziomie reakcji, w tym kontaktrony. Pin A0 należy połączyć z masą (GND) poprzez rezystancję 10 (20) kOhm.

A1- Wejście do sterowania zewnętrznego. Alarm uzbraja/rozbraja się, gdy na wejściu pojawi się wysoki poziom +5V.
A2- Odwrotne wejście dla sterowania zewnętrznego. Alarm uzbraja/rozbraja się, gdy na wejściu pojawi się niski poziom GND.

A3- Konfigurowalne wyjście (+5V lub GND) do sterowania urządzeniami zewnętrznymi. Po otrzymaniu polecenia sterującego wartość na tym wyjściu zmienia się w zależności od tego, co zostało ustawione na zadany okres czasu.

A4- SDA I2C
A5- SLC I2C
, do podłączenia dodatkowych 8 czujników.


Polecenia sterujące dla oprogramowania układowego hex

Uwaga! Zespoły oddane pogrubione można wykonać tylko z numeru głównego, ponieważ odpowiadają one za konfigurację urządzenia. Inne polecenia można wykonywać z liczb posiadających atrybut „Zarządzanie”.

SMS – w poleceniach sterujących wielkość liter nie jest uwzględniana:
Dodaj telefon- Dodaj numer telefonu. Łącznie można dodać nie więcej niż 9 numerów + 1 numer główny, który jest automatycznie zapisywany w pamięci przy pierwszym połączeniu z urządzeniem po przywróceniu jego ustawień fabrycznych za pomocą poleceń Zresetuj telefon Lub Pełny reset. Te. ten, kto pierwszy zadzwonił do urządzenia po przywróceniu ustawień fabrycznych, jest „masterem”, numer ten jest wpisywany do pierwszej komórki pamięci i nie można go zmienić ani usunąć za pomocą wiadomości SMS. Nie można dodać dwóch identycznych liczb.
Przykładowe polecenie:



Składnia polecenia:

Dodaj telefon- zespół
: - ogranicznik
5 - zapisz do piątej komórki pamięci
+71234567890 - numer telefonu
Do wersji GSM_2017_05_26-20-22.hex:
a - Parametr „Alarm” - na numery posiadające ten parametr będą wysyłane wiadomości SMS - komunikaty o włączeniu alarmu oraz komunikaty o załączeniu lub wyłączeniu czuwania.
Począwszy od wersji GSM_2017_05_26-20-22.hex:
m - parametr „Zarządzanie” - włączone jest zarządzanie alarmami
s - parametr „SMS” - po zadziałaniu czujników zostanie wysłana wiadomość SMS
r - Parametr „Dzwonek” - po zadziałaniu czujników zostanie wykonane połączenie głosowe
p - parametr „Zasilanie” - po włączeniu/wyłączeniu zasilania zewnętrznego zostanie wysłana wiadomość SMS
i - Parametr „Info” - wiadomość SMS zostanie wysłana w przypadku załączenia lub wyłączenia czuwania
Jeżeli brakuje parametrów „m”, „s”, „r”, „p”, „i”, telefon zostaje zapisany w pamięci, ale nie jest w żaden sposób używany.


Usuń telefon- Usuń numer telefonu.
Przykładowe polecenie:

Składnia polecenia:

Usuń telefon - polecenie
: - ogranicznik
+71234567891 - numer telefonu


EdytujMainPhone- Zmień parametry „s”, „r”, „p”, „i” telefonu głównego, numer ten zostanie zapisany w pierwszej komórce pamięci.
Przykładowe polecenie:

Składnia polecenia:

EdytujMainPhone - polecenie
: - ogranicznik
srpi – parametry


SaldoNum- Zmiana numeru żądania salda i przetwarzanie długości odpowiedzi na żądanie. Wartość domyślna dla Beeline: #100#L22.
Przykładowe polecenie:

Składnia polecenia:

BilansNum - polecenie
: - ogranicznik
#103# - numer żądania salda
L24 - Długość (dł.) przesłanej odpowiedzi wynosi 24 znaki, odcinamy spam od żądania salda.


Edytuj czujnik- Zmień nazwę czujnika i poziom reakcji logicznej. Łącznie nie może być więcej niż 8 dodatkowych czujników. Po zmianie parametrów należy ponownie uruchomić urządzenie.
Przykładowe polecenie:
EditSensor:1+Datchik dvizheniya v koridore#h

Składnia polecenia:

EdytujCzujnik - polecenie
: - ogranicznik
1 - zapisz do pierwszej komórki pamięci
+ - separator
Datchik dvizheniya v koridore - nazwa czujnika, nie może przekraczać 36 znaków ze spacjami.
#h - Znak wysokiego poziomu logicznego z czujnika, po otrzymaniu którego zostanie wywołany alarm. Jeżeli brakuje „#h”, alarm zostanie wywołany po odebraniu z czujnika niskiego poziomu logicznego.


Czas na spanie- Czas, w którym alarm „zaśnie” po odebraniu polecenia SMS „Pauza” jest podawany w minutach. Wartość domyślna: 15, nie może być mniejsza niż 1 i większa niż 60.
Przykładowe polecenie:

Składnia polecenia:

Czas usypiania – polecenie
: - ogranicznik
20 - 20 minut „snu”.


AlarmPinTime- Czas włączenia/wyłączenia alarmu/inwersji jest pokazywany w sekundach. Wartość domyślna: 60, nie może być krótsza niż 1 sekunda i większa niż 43200 sekund (12 godzin).
Przykładowe polecenie:

Składnia polecenia:

AlarmPinTime - polecenie
: - ogranicznik
30 - 30 sekund, aby włączyć/wyłączyć pin alarmowy.


Opóźnienie przed strażnikiem- Czas przed uzbrojeniem urządzenia, po otrzymaniu odpowiedniego polecenia.
Przykładowe polecenie:

Składnia polecenia:

DelayBeforeGuard - polecenie
: - ogranicznik
25 - 25 sekund przed uzbrojeniem


Opóźnienie przed alarmem- Czas, po którym zostanie wysłany SMS z powiadomieniem „alarm”, jeśli w tym czasie alarm nie został rozbrojony. Zastąpione rozszerzonymi poleceniami począwszy od wersji GSM_2017_08_10-12-17.hex
Przykładowe polecenie:

Składnia polecenia:

OpóźnieniePrzedAlarmem - polecenie
: - ogranicznik
40 - 40 sekund przed wysłaniem powiadomienia „alarmowego”.


Oglądaj PowerTime- Czas w minutach, po którym zostanie wysłana wiadomość SMS informująca o wyłączeniu zewnętrznego źródła zasilania. Jeżeli zasilanie zewnętrzne zostanie przywrócone przed upływem ustawionego czasu, wiadomość nie zostanie wysłana.
Przykładowe polecenie:

Składnia polecenia:

WatchPowerTime – polecenie
: - ogranicznik
5 - 5 minut przed wysłaniem wiadomości SMS


Czas dzwonienia- Czas trwania alarmującego połączenia głosowego, parametr może przyjmować wartość od 10 do 255 sekund.
Przykładowe polecenie:

Składnia polecenia:

Czas dzwonienia – polecenie
: - ogranicznik
40 - 40 czas trwania połączenia wyniesie 40 sekund, po czym zostanie wywołany kolejny abonent.


ID modemu - Wymuszona instalacja model używanego modemu. Możliwe wartości: 0 - autodetekcja modemu, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Przykładowe polecenie:

Składnia polecenia:

ModemID - polecenie
: - ogranicznik
2 - Identyfikator modemu.


Zew. czas urządzenia- Liczba sekund, o jaką będzie się zmieniać poziom sygnału na wyjściu sterującym urządzenia zewnętrznego.
Przykładowe polecenie:

Składnia polecenia:

ExtDeviceTime- polecenie
: - ogranicznik
5 - 5 sekund


Zew.Poziom urządzeniaNiski- Urządzenie zewnętrzne podłączone do wyjścia A3 jest sterowane niskim poziomem sygnału (GND). Wyjście będzie domyślnie ustawione na wysoki poziom +5 V do czasu otrzymania polecenia sterującego z urządzenia zewnętrznego
ExtDeviceLevelHigh- Urządzenie zewnętrzne podłączone do wyjścia A3 sterowane jest sygnałem o wysokim poziomie (+5V). Wyjście będzie domyślnie ustawione na niski poziom GND do czasu otrzymania polecenia sterowania urządzeniem zewnętrznym.

Zresetuj czujnik- zresetować czujniki ekspandera portów

Zresetuj konfigurację- reset ustawień do ustawień fabrycznych

Zresetuj telefon- usunięcie wszystkiego z pamięci numer telefonu

Pełny reset- reset ustawień, usunięcie wszystkich numerów telefonów z pamięci, przywrócenie domyślnej wartości polecenia BalanceNum.

RingOn- włączyć powiadamianie poprzez wywołanie numeru „głównego” zapisanego w pierwszej komórce pamięci po uruchomieniu czujnika. Usunięto począwszy od wersji GSM_2017_06_11-00-07.hex
Wyłączenie dzwonka- wyłącz powiadomienie poprzez dzwonienie w przypadku uruchomienia czujnika. Usunięto począwszy od wersji GSM_2017_06_11-00-07.hex

SmsOn- włącz powiadomienie SMS o uruchomieniu czujnika. Usunięto począwszy od wersji GSM_2017_08_10-12-17.hex
SmsWył- wyłącz powiadomienie SMS o uruchomieniu czujnika. Usunięto począwszy od wersji GSM_2017_08_10-12-17.hex

PIRon- włączyć przetwarzanie czujnika ruchu
PIROff- wyłącz przetwarzanie czujnika ruchu

ReedSwitchOn- umożliwiają przetwarzanie głównego kontaktronu
ReedSwitchOff- wyłącz przetwarzanie głównego kontaktronu

Oglądaj PowerOn- włączyć sterowanie zasilaniem zewnętrznym, pod warunkiem, że system alarmowy jest uzbrojony, zostanie wysłana wiadomość SMS o wyłączeniu zasilania zewnętrznego. Usunięto począwszy od wersji GSM_2017_03_01-23-37.

OglądajPowerOn1- włączyć sterowanie zasilaniem zewnętrznym, pod warunkiem, że system alarmowy jest uzbrojony, zostanie wysłana wiadomość SMS o wyłączeniu zasilania zewnętrznego.
OglądajPowerOn2- włączyć sterowanie zasilaniem zewnętrznym, w każdym przypadku zostanie wysłana wiadomość SMS o awarii zasilania zewnętrznego

OglądajPowerOff- wyłączyć zewnętrzne sterowanie zasilaniem

Przycisk StrażnikaWł- włączone jest sterowanie alarmem za pomocą urządzeń zewnętrznych lub przycisku. Usunięto począwszy od wersji GSM_2017_04_16-12-00.
GuardButtonOn1- funkcja ustawienie lub usunięcie ochrona za pomocą urządzeń zewnętrznych lub przycisku jest włączona
GuardButtonOn2- funkcja tylko produkcje załączenie czuwania przez urządzenia zewnętrzne lub przycisk jest włączony; rozbrojenie następuje poprzez wywołanie urządzenia lub za pomocą polecenia SMS.
Przycisk StrażnikaWył- wyłączone jest sterowanie alarmem za pomocą urządzeń zewnętrznych lub przycisku

PCForceOn- stały monitoring grupy wszystkich czujników modułów rozszerzeń
PCFForceOff- monitorowanie grupy wszystkich czujników modułu rozszerzeń tylko w przypadku czuwania urządzenia

Główny poziom czujnikaWysoki- powiadomienie o alarmie zostanie wysłane w przypadku pojawienia się sygnału wysokiego poziomu (+5 V) na wejściu (D6) czujnika
Poziom głównego czujnika Niski- powiadomienie o alarmie zostanie wysłane w przypadku pojawienia się sygnału niskiego poziomu (GND) na wejściu (D6) czujnika
Główny poziom czujnika wyłączony- przetwarzanie wejścia czujnika (D6) jest wyłączone

Poziom drugiego czujnika wysoki- powiadomienie o alarmie zostanie wysłane, gdy na wejściu (A0) czujnika pojawi się sygnał o wysokim poziomie (+5 V)
Poziom drugiego czujnika niski- powiadomienie o alarmie zostanie wysłane, gdy na wejściu (A0) czujnika pojawi się sygnał o niskim poziomie (GND).
Poziom drugiego czujnika wyłączony- przetwarzanie wejścia czujnika (A0) jest wyłączone

Główne opóźnienie przed alarmem- czas po jakim zostanie wysłana wiadomość SMS z powiadomieniem „alarm” w przypadku zadziałania czujnika głównego (D6), jeśli w tym czasie alarm nie został rozbrojony. Składnia jest taka sama jak w przypadku polecenia DelayBeforeAlarm.
Drugie opóźnienie przed alarmem- czas po jakim zostanie wysłana wiadomość SMS z powiadomieniem „alarm” w przypadku zadziałania dodatkowego czujnika (A0), jeśli w tym czasie alarm nie został rozbrojony. Składnia jest taka sama jak w przypadku polecenia DelayBeforeAlarm.
PCFOpóźnienie przed alarmem- czas po jakim zostanie wysłana wiadomość SMS z powiadomieniem „alarm” w przypadku zadziałania czujników karty rozszerzeń (PCF8574), jeśli w tym czasie alarm nie został rozbrojony. Składnia jest taka sama jak w przypadku polecenia DelayBeforeAlarm.

GuardOn - ramię
GuardOff - usuń osłonę

Otwórz - polecenie sterowania urządzeniem zewnętrznym

Informacje - sprawdź status, w odpowiedzi na tę wiadomość zostanie wysłany SMS z informacją na jaki numer zostało włączone/wyłączone zabezpieczenie

Pauza – zatrzymuje system na czas określony komendą usypiania w minutach, system nie reaguje na wyzwolenia czujników.

TestOn - tryb testowy jest włączony, niebieska dioda LED miga.
TestOff - tryb testowy jest wyłączony.

LedOff - wyłącza diodę LED gotowości.
LedOn - włącza diodę standby.

Pieniądze - prośba o saldo.

ClearSms - Usuń wszystkie SMS-y z pamięci

Polecenia konsoli (do wersji GSM_2017_04_24-13-22.hex) - wprowadzane w monitorze Port Arduino IDENTYFIKACJA:

AddPhone - podobne do polecenia sms AddPhone

DeletePhone - podobnie jak polecenie DeletePhone sms

EditSensor - podobny do polecenia sms EditSensor

ListPhone - wyjście do monitora portu listy telefonów zapisanych w pamięci

ResetConfig - podobne do polecenia sms ResetConfig

ResetPhone - podobne do polecenia SMS ResetPhone

FullReset - podobny do polecenia sms FullReset

ClearSms - podobne do polecenia sms ClearSms

WatchPowerOn1 - podobny do polecenia sms WatchPowerOn1
WatchPowerOn2 - podobne do polecenia sms WatchPowerOn2
WatchPowerOff - podobny do polecenia sms WatchPowerOff

GuardButtonOn - podobny do polecenia sms GuardButtonOn. Usunięto począwszy od wersji GSM_2017_04_16-12-00
GuardButtonOn1 - podobny do polecenia sms GuardButtonOn1
GuardButtonOn2 - podobny do polecenia sms GuardButtonOn2
GuardButtonOff - podobny do polecenia sms GuardButtonOff

Memtest - test pamięci nieulotnej urządzenia; wszystkie ustawienia urządzenia zostaną zresetowane, podobnie jak polecenie FullReset.

I2CScan - wyszukuje i inicjuje obsługiwane urządzenia na magistrali I2C.

ListConfig - wyświetla aktualną konfigurację urządzenia na monitorze portu.

ListSensor - wyjście do monitora portu aktualnej konfiguracji czujnika.

UPD. Podczas korzystania z czujnika ruchu, wykluczyć fałszywe alarmy gdy modem działa, jest to konieczne między szpilki GND I A0 Arduino stawiać opór, Dziękuję towarzyszu
Zezwól na telefon = („70001234501”, „70001234502”, „70001234503”, „70001234504”, „70001234505”) - Numery, które mogą zarządzać bezpieczeństwem.
AlarmPhone = („70001234501”, „70001234502”) - Numery do wysyłania powiadomień SMS w przypadku zadziałania czujnika oraz powiadomień o rozbrojeniu lub uzbrojeniu. Po uruchomieniu czujnika zostanie wywołany pierwszy numer z listy, jeżeli domyślnie wykonana została komenda RingOn, opcja ta jest włączona; Dzieje się tak, ponieważ wiadomości SMS mogą dotrzeć z pewnym opóźnieniem, ale połączenie powinno zostać zrealizowane natychmiast.

Jeżeli zostanie odebrane połączenie z autoryzowanego numeru lub wiadomość SMS z poleceniem GuardOn/GuardOff, to w zależności od stan aktulany ochrona zostanie wysłana wiadomość SMS o załączeniu lub rozbrojeniu czuwania na numery znajdujące się w tablicy AlarmPhone, a także na numer, z którego nadeszło połączenie, zostanie wysłana wiadomość SMS.

Kiedy czujnik zostanie uruchomiony Na wszystkie numery z tablicy (listy) AlarmPhone wysyłane są wiadomości SMS i nawiązywane jest połączenie głosowe na pierwszy numer z tej tablicy.

Wskazanie świetlne:
Dioda LED świeci na czerwono – jest uzbrojona.
Świeci się dioda LED zielony- rozbrojony, włączony/wyłączony komendą SMS LedOn/LedOff.
Dioda LED stale miga na niebiesko - oznacza to, że z Arduino wszystko jest w porządku, płytka nie jest zawieszona, służy wyłącznie do debugowania, jest włączana/wyłączana komendą SMS TestOn/TestOff.
* Kod zawiera funkcję LedTest(), miga niebieską diodą LED, służy tylko do monitorowania Arduino, miga - oznacza, że ​​działa, nie miga - jest zamrożony. Jeszcze się nie rozłączyłem :)

Nieistotne!

Podłączenie 2 lub więcej czujników w celu otwartego oprogramowania sprzętowego (dotyczy tylko tego oprogramowania sprzętowego Sketch_02_12_2016.ino)
Do podłączenia dodatkowych kontaktronów wykorzystujemy wolne piny cyfrowe D2, D3, D5 lub D7. Schemat podłączenia z dodatkowym czujnikiem na D7.

Niezbędne zmiany w oprogramowaniu
... #define DoorPin 6 // Numer wejścia podłączonego do głównego czujnika int8_t DoorState = 0; // Zmienna do przechowywania stanu głównego czujnika int8_t DoorFlag = 1; // Zmienna do przechowywania stanu czujnika głównego #define BackDoorPin 7 // Numer wejścia podłączonego do czujnika dodatkowego int8_t BackDoorState = 0; // Zmienna do przechowywania stanu dodatkowego czujnika int8_t BackDoorFlag = 1; // Zmienna przechowująca stan dodatkowego czujnika...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Odczyt wartości z czujników DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Przetwarzanie głównego czujnika if (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; opóźnienie (100); if (LedOn == 1) digitalWrite(GLed, LOW); if (DoorState == WYSOKI && DoorFlag == 1)( DoorFlag = 0; opóźnienie (100); ) //Przetwarzanie dodatkowego czujnika if (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; opóźnienie(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (BackDoorState == WYSOKIE && BackDoorFlag = = 1)(BackDoorFlag = 0; opóźnienie(100); ) ) ...

I jeszcze jedno:
1. Lepiej zastosować diody na prąd 2 A, bo moduł płynie prądem 1 A, a jeszcze trzeba czymś zasilić Arduino i modem. W tym przykładzie zastosowano diody 1N4007; jeśli zawiodą, należy je wymienić na diody 2A.
2. Wszystkie rezystory do diody LED zastosowałem na 20 kOhm, żeby nie oświetlać w nocy całego korytarza.
3. Umieściłem także rezystor 20 kOhm na kontaktronie pomiędzy pinem GND a pinem D6.

To wszystko na teraz. Dziękuję za uwagę! :)

Planuję kupić +207 Dodaj do ulubionych Recenzja przypadła mi do gustu +112 +243

System alarmowy GSM na Arduino

W tym artykule dowiesz się jak bardzo tanio (kupić) samodzielnie wykonać alarm GSM za pomocą modułu GSM i Arduino. Przedmiot ochrony Alarm GSM doskonały zrobi to dacza, dom, garaż, mieszkanie.


Krok 1: Elementy
Do tego projektu będziesz potrzebować:


Tarcza GSM

Brzęczyk
Syrena alarmowa 12V
Zasilanie 12V

Klawiatura dla Arduino
Rama.

Krok 2: Łączenie komponentów


Najpierw zamontujesz moduł GSM Arduino Uno, należy przylutować przewody GND i VCC wraz z dwoma czujnikami, brzęczykiem i wejściem modułu przekaźnikowego. Następnie podłącz te lutowane przewody do odpowiedniego złącza osłony GSM. Następnie z tych części utworzysz złącze sygnału I/O, a ostatnią rzeczą, którą będziesz musiał zrobić, to podłączyć klawiaturę

Terminale Arduino Uno/GSM:

Pin 0: nie podłączony;
Wniosek 1: niepowiązany;
Pin 2: niepodłączony (GSM użyje tego pinu);
Pin 3: niepodłączony (GSM użyje tego pinu);
Pin 4: ostatnia linia za pomocą klawiatury (pin 4 klawiatury - od 8);
Wniosek 5: niepowiązany;
Pin 6: druga kolumna za pomocą klawiatury (pin 6 klawiatury - z 8);
Wyjście 7: trzecia kolumna z klawiatury (klawiatura palcowa 7 - od 8);
Pin 8: niepodłączony (GSM użyje tego pinu);
Pin 9: niepodłączony (GSM użyje tego pinu);
Pin 10: Dane czujnika PIR nr 2;
Pin 11: sygnał dźwiękowy syreny (wpisywany na wejście modułu przekaźnikowego);
Pin 12: Dane czujnika PIR nr 1;
Pin 13: sygnał wejściowy brzęczyka;

Jak widać, choć klawiatura ma 8 pinów, to podłączone są tylko trzy (jeden rząd i dwie kolumny, co pozwala na odczyt dwóch liczb - matryca 1×2), więc z tych trzech przewodów mogę tworzyć hasła i nie ma musisz używać wszystkich kontaktów z klawiatury. Dzieje się tak dlatego, że gdy czujnik ruchu wykryje osobę wchodzącą do pomieszczenia, będzie ona miała tylko 5 sekund na wyłączenie alarmu. Po tym jak alarm się nie włączy ten moment czas, GSM Shield wyśle ​​do Ciebie wiadomość SMS lub zadzwoni na Twój numer telefonu. Arduino zostało zaprogramowane tak, aby wykonywać połączenie i natychmiast po jego odebraniu połączenie telefoniczne, rozłączy się.

Oczywiście istnieje możliwość uzyskania fałszywych odczytów z czujnika, dlatego istnieje możliwość wyłączenia alarmu poprzez wysłanie SMS-a z telefonu do Arduino. Dodatkowo inną opcją, którą możesz zrobić, jest ustawienie tarczy tak, aby wysyłała Ci jedną wiadomość dziennie, abyś wiedział, że działa poprawnie.

Krok 3: Kod

Wystarczy pobrać poniższy kod i skompilować. Wykorzystuje biblioteki Keypad.h i GSM.h.
Pobierz plik: (pobrań: 181)
Pobierz plik: (pobrań: 104)

Krok 4: Wniosek


Biorąc pod uwagę, że kod Arduino Uno wyśle ​​SMS-a i zadzwoni na Twój telefon w ciągu zaledwie pięciu sekund po włamaniu się do Twojego domu, domyślam się, że będziesz miał mnóstwo czasu, aby zadzwonić na policję. Oczywiście syrena odstraszy złodziei, a dzięki temu artykułowi Twój dom lub inny lokal stanie się bezpieczniejszy.

Wiosnie, jak wiadomo, towarzyszą najróżniejsze zaostrzenia, a teraz główne „zaostrzenie” wypełzło ze swoich dziur na ulicę, aby przywłaszczyć sobie to, co do niej nie należy. Oznacza to, że temat ochrony Twojego mienia staje się coraz bardziej aktualny niż kiedykolwiek.
Na stronie znajduje się już kilka recenzji domowych. Są oczywiście funkcjonalne, ale każdy je ma cecha ogólna- zależność od gniazdka. Jeśli nie stanowi to problemu w przypadku nieruchomości, w której prąd jest już dostarczony, to co z nieruchomością, w której gniazdko jest daleko lub okolica jest całkowicie pozbawiona prądu? Postanowiłem pójść inną drogą - złożyć coś trwałego, tak prostego, jak to możliwe i niezależnego zasilanie sieciowe urządzenie, które będzie cały czas uśpione, a gdy włamie się złodziej, uruchomi się i zadzwoni na telefon właściciela, sygnalizując to prostym połączeniem alarmowym.

Przejrzyj przedmioty

Zakupione:
1. Deska do chleba jednostronny 5x7 cm: getinaks- Lub włókno szklane
* - włókno szklane jest znacznie lepszej jakości niż getinax.
2. Moduł Neoway M590 - z anteną na PCB -
3. Arduino Pro Mini „RobotDyn” ATmega168PA 8 MHz 3,3 V -
4. Płyta kontrolna ładowania i rozładowania litu -

Wydobyte z ruin cywilizacji:
1. Stojaki na tablice wycinane z obudów urządzeń - 6 szt.
2. Płaska bateria litowa 1300 mAh
3. Zszywki służące do mocowania kabla do ściany
4. Gumka biurowa
5. Kabel miedziany Grubość 1,5 mm
6. Obudowa przyrządów z lokalnego rynku radiowego - 1.5$
7. Para diod LED inny kolor(zrobione z odtwarzacza VHS)
8. Antena i przycisk z nasadką (pobrane z routera Wi-Fi)
9. 4-pinowa listwa zaciskowa (pobrana ze ściemniacza)
10. Złącze zasilania (wyjęte ze starej ładowarki do 18650)
11. Złącze 6-pinowe (pobrane z napędu DVD)
12. Puszka (na przykład puszka po kawie)

Arduino Pro Mini „RobotDyn” Atmega 168PA 3,3 V 8 MHz

Dane techniczne:
Mikrokontroler: ATmega168PA
Napięcie robocze bezpośredni: 0,8–5,5 V
Napięcie robocze poprzez stabilizator LE33: 3,3 V lub 5 V (w zależności od modelu)
Temperatura pracy:-40°C… 105°C
Napięcie wejściowe: 3,35–12 V (model 3,3 V) lub 5–12 V (model 5 V)
Wejścia/wyjścia cyfrowe: 14 (z czego 6 można wykorzystać jako wyjścia PWM: 3, 5, 6, 9, 10 i 11)
Wejścia analogowe: 6
Liczniki czasowe: dwa 8-bitowe i jeden 16-bitowy
Tryby oszczędzania energii: 6
Prąd stały przez wejście/wyjście: 40 mA
Pamięć flash: 16 KB (2 używane na bootloader)
BARAN: 1KB
Pamięć EEPROM: 512 bajtów
Zasób zapisu/kasowania pamięci: 10 000 Flash/100 000 EEPROM
Częstotliwość zegara: 8 MHz (model 3,3 V) lub 16 MHz (model 5 V)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) i A5 (SCL)
UART TTL: 0 (odbiór) i 1 (TX)
Arkusz danych:

Wybór padł na tę atmegę zupełnie przez przypadek. na jednym forum, na którym dyskutowano o projektach energooszczędnych, w komentarzach pojawiała się rada, aby zastosować 168. atmegę.
Musiałem jednak majstrować, aby znaleźć taką płytkę, ponieważ dość często wszystkie partie były wypełnione 328 atmegami o częstotliwości 16 MHz, działającymi od 5 V. W moim projekcie takie cechy były od początku zbędne i niewygodne, a poszukiwania stały się bardziej skomplikowane.
W rezultacie natknąłem się na 3,3-woltową wersję Pro Mini na Atmega 168PA w serwisie eBay i to nie tylko prostą chińską, ale pod marką RobotDyn od rosyjskiego programisty. Tak, na początku, podobnie jak Ty, również miałem ziarno wątpliwości. Ale na próżno. Kiedy projekt był już zmontowany, a AliExpress wprowadził obowiązkową płatną dostawę tanich towarów (po czym paczki zaczęły gubić się znacznie częściej), zamówiłem później zwykłego Pro Mini Atmega168 (bez PA) 3,3V 8MHz. Poeksperymentowałem trochę z trybami oszczędzania energii na obu płytach, wrzucając do każdej specjalny szkic, który zanurzał mikrokontroler w trybie maksymalnego oszczędzania energii, i oto co wyszło:
1) Arduino Pro Mini „RobotDyn”: ~250µA
2) Arduino Pro Mini „NoName”: po podłączeniu zasilania do stabilizatora napięcia (pin RAW) i przylutowaniu diody LED, pobór prądu wynosi ~3,92mA




- jak rozumiesz różnica w zużyciu energii jest prawie 16-krotna, a wszystko dlatego, że Pro Mini firmy NoName korzysta z kombinacji Atmega168+, z której sam MK zjada tylko 20uA prąd (sprawdzałem to osobno), całą resztę obżarstwa załatwia liniowy przetwornik napięcia AMS1117 - datasheet tylko to potwierdza:


W przypadku płytki od RobotDyn zestawienie jest nieco inne - jest to Atmega168PA+ - tutaj zastosowano inny stabilizator LDO, którego charakterystyka pod względem oszczędności energii okazała się przyjemniejsza:


Nie wylutowałem, więc nie jestem w stanie powiedzieć ile prądu pobiera Atmega168PA czysta forma. W tym przypadku miałem dość ~250µA przy zasilaniu przez firmę Nokia bateria litowa. Jeśli jednak odlutujesz AMS1117 od płyty głównej NoName, to zwykły ATmega168 w czystej postaci, jak powiedziałem powyżej, zużywa 20uA.
Diody wraz z zasilaczem można stłuc czymś ostrym. To nie problem. Stabilizator został wylutowany suszarką do włosów. Jednak nie każdy ma suszarkę do włosów i umiejętności, aby z nią pracować, więc obie powyższe opcje mają prawo istnieć.

Moduł Neoway M590E

Dane techniczne:
Częstotliwości: EGSM900/DCS1800 Dwuzakresowy lub GSM850/1900 lub czterozakresowy
Wrażliwość:-107 dBm
Maksymalna moc przenoszenie: EGSM900 klasa 4 (2 W), DCS1800 klasa 1 (1 W)
Prąd szczytowy: 2A
Prąd roboczy: 210mA
Prąd uśpienia: 2,5 mA
Temperatura pracy:-40°C… +85°C
Napięcie robocze: 3,3 V…4,5 V (zalecane 3,9 V)
Protokoły: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP itp.
Internet: KLASA GPRS 10
Arkusz danych:

Najtańszy moduł GSM jaki można znaleźć na rynku, zwykle używany, lutowany nie zawsze wprawnie z chińskimi rękami ze sprzętu. Dlaczego nie zawsze zręczny? Tak, wszystko przez wylutowanie suszarką - często ludzie otrzymują te moduły ze zwartym plusem i minusem, co jest jedną z przyczyn ich niesprawności. Dlatego pierwszym krokiem jest sprawdzenie styków mocy pod kątem zwarcia.

Notatka. Chciałbym zwrócić uwagę na osobną, ważną moim zdaniem kwestię, że moduły te mogą być wyposażone w okrągłe złącze koncentryczne do anteny, co pozwala osobno zamówić poważniejszą antenę i podłączyć ją do modułu bez tańca z tamburynem. Mogą też zostać dostarczone bez tego złącza. To tak, jeśli mówimy o najtańszych zestawach. Jeśli nie chcesz liczyć na szczęśliwy wypadek to są nieco droższe zestawy, w których występuje to złącze + w zestawie antena zewnętrzna na płytce tekstolitowej.

Moduł ten jest też kapryśny jeśli chodzi o zasilanie, gdyż w szczytowych momentach pobiera aż do 2A prądu, a dioda dołączona do zestawu zdaje się być zaprojektowana tak, aby obniżać napięcie z 5V (dlatego na samej płytce jest napisane 5V ) do 4,2 V, ale sądząc po skargach ludzi, stwarza to więcej problemów niż jest tego warte.
Załóżmy, że zmontowałeś już ten moduł i zamiast diody wlutowano zworkę, ponieważ nie będziemy podawać do niego napięcia 5 V, ale będziemy go zasilać bezpośrednio z akumulatora litowego, co mieści się w dopuszczalnym zakresie limity napięcia 3,3-4,2 V.
Trzeba będzie jakoś podłączyć go do komputera i sprawdzić funkcjonalność. W tym wypadku lepiej wcześniej kupić taki dla siebie - za jego pośrednictwem będziemy komunikować się z modułem i płytkami Arduino poprzez interfejs szeregowy UART (USART).
Połączenie pokazano poniżej na obrazku (narysowałem to najlepiej jak potrafię):
Modem TX >>> Konwerter RX
modemu RX<<< TX конвертера
Plus baterii - plus modemu
Minus baterii litowej łączy się z GND modemu i GND konwertera
Aby uruchomić modem, przyłóż pin BOOT przez rezystor 4,7 kOhm do GND


W międzyczasie uruchom program na swoim komputerze. Zwróć uwagę na ustawienia:
1) Wybierz port COM, do którego podłączony jest konwerter TTL, w moim przypadku jest to COM4, ​​u Ciebie może być inaczej.
2) Wybierz prędkość przesyłania danych. (Tu jest niuans, bo same moduły można skonfigurować na różne prędkości, najczęściej 9600 bodów lub 115200 bodów. Tutaj trzeba to dobrać empirycznie, dobierając jakąś prędkość, podłączając się i wysyłając polecenie AT, jeśli wyjdą pęknięcia w odpowiedzi, to się rozłączy, wybierze inną prędkość i powtórzy polecenie I tak dalej, aż odpowiedź będzie OK).
3) Wybierz długość pakietu (w tym przypadku 8 bitów), bit parzystości wyłączony (brak), bit stopu (1).
4) Pamiętaj, aby zaznaczyć pole +CR, a wtedy do każdego polecenia, które wysyłamy do modułu na końcu, automatycznie będzie dodawany znak powrotu karetki - moduł rozumie tylko polecenia z tym znakiem na końcu.
5) Połączenie, tutaj wszystko jest jasne, kliknij i możemy pracować z modułem.

Jeżeli klikniesz na „Połączenie”, a następnie uruchomisz moduł poprzez przyłożenie BOOT przez rezystor 4,7K do masy, to najpierw na terminalu wyświetli się napis „MODEM:STARTUP”, a po chwili napis „+PBREADY”, co oznacza, że ​​numer telefonu został przeczytany w książce, nawet jeśli może być pusty:

Pod tym spoilerem znajdują się polecenia AT z przykładami

Wypisujemy polecenie AT - w odpowiedzi moduł wysyła nam nasze polecenie, ponieważ tryb echa jest włączony i OK:

Sprawdźmy stan modemu komendą AT+CPAS - odpowiedzią znów jest nasza komenda +CPAS: 0 i OK.
Wartość 0 oznacza, że ​​moduł jest gotowy do pracy, ale w zależności od sytuacji mogą występować inne numery, np. 3 – połączenie przychodzące, 4 – w trybie połączenia, 5 – stan uśpienia. Nie znalazłem informacji o 1 i 2.

Zmiana szybkości transmisji danych poprzez UART odbywa się za pomocą polecenia AT+IPR=9600 - to tak, jeśli potrzebna jest prędkość 9600. Jeśli coś innego, podobnie jak np. AT+IPR=19200 lub AT+IPR=115200.

Sprawdźmy sygnał sieci. AT+CSQ pojawia się odpowiedź +CSQ: 22,1 - wartość przed przecinkiem ma zakres 0...31 (115...52 dBl) - jest to poziom sygnału, im wyższy, tym lepiej. Ale 99 oznacza jego brak. Wartość po przecinku to jakość sygnału 0...7 - tutaj jest odwrotnie, im niższa liczba, tym lepiej.

Wyłączmy tryb echa wysyłając polecenie ATE0, aby zduplikowane polecenia nie przeszkadzały. Tryb ten włącza się ponownie komendą ATE1.

Zobacz wersję oprogramowania AT+GETVERS



Te i wiele innych poleceń można wyświetlić

Wyrównywanie desek

O ile lutowanie Pro Mini do płytki prototypowej nie jest trudne, to z modułem GSM sytuacja jest nieco bardziej skomplikowana, gdyż jego grzebień kontaktowy znajduje się tylko z jednej strony, a jeśli tylko go przylutujesz, to druga strona płytki po prostu wisi w powietrzu. Następnie ponownie musiałem wywiercić na oko dodatkowe 3 otwory w pobliżu trzech rogów deski. Następnie zamaskowano obszary wokół każdego z otworów. Dla wygody odłączone przewody od grzebienia umieściłem na płytce stykowej bezlutowej (białej) i instalując na nich płytkę modułu GSM, przylutowałem je normalnie:

Później musiałem zrobić kolejny otwór, w moim przypadku na literę „I”, gdzie jest napisane „Made In China”, od krawędzi deski.


Okazało się, że dodany styk, czyli w istocie GND, został umiejscowiony obok GND płytki Pro Mini i w ten sposób możliwe stało się połączenie masy modułu GSM i Pro Mini za pomocą kropli lutowia (długi pin na środku i pin Pro Mini po jego prawej stronie) - zaznaczyłem je strzałkami. Oczywiście okazało się trochę krzywe, ale teraz trzyma się bezpiecznie:



Pomiędzy płytkami zostało trochę wolnego miejsca - w nim umieściłem litową płytkę kontrolującą ładowanie wyładowań z wlutowanym fabrycznie złączem microUSB i wlutowanymi przewodami.

Chusta mieści się tam bardzo ciasno, a blask diod umieszczonych z boku będzie doskonale widoczny przez niewielki otwór w etui.



Stojaki na karty

Aby bezpiecznie zamontować płytkę wewnątrz obudowy, musiałem spędzić kilka dni na zastanawianiu się, jak można to wdrożyć. Opcja z klejem termotopliwym nie była brana pod uwagę z kilku powodów - mógłby spaść, zdeformować się, a co najważniejsze, konstrukcja byłaby trudna do demontażu.
Doszedłem do wniosku, że najprostszą i najwłaściwszą opcją byłoby tutaj zastosowanie stojaków, których oczywiście nie miałem. Było jednak kilka niedziałających ładowarek, z których wycięto jedną długą podstawkę z gwintem na wkręty samogwintujące. Każdy stojak został przecięty na pół i spiłowany do około 9,5 mm - to właśnie na tej wysokości akumulator znajdujący się pod deską ma wystarczający margines około 2 mm - robi się to tak, aby przylutowane styki płytki wraz z jej końcówkami nie nie dotykaj go i tak, aby można było włożyć między nie kawałek pianki w celu unieruchomienia.
Jeśli chodzi o mocowanie płytki bezpośrednio do obudowy, tutaj wyciąłem cztery paski z puszki po kawie, wywierciłem na ich końcach otwór, a następnie przymocowałem je na tych samych śrubach, które wkręca się w stojaki. Zobacz na zdjęciu poniżej jak to wygląda.
Następnym krokiem jest przykręcenie kilku stojaków po drugiej stronie deski, czyli od góry, tak aby po zamknięciu obudowy pokrywa lekko opierała się na tych stojakach, tworząc dodatkowe mocowanie. Nieco później natknąłem się w tym celu na obudowę sowieckiego radia propagandowego (gdyby została znaleziona wcześniej, wziąłbym stąd wszystkie stojaki), gdzie znalazłem kilka mniej więcej odpowiednich wysokości, ale najpierw wywierciłem je na środku wiertłem pod wkręty samogwintujące Następnie je odpiłowałem i również wykończyłem pilnikiem, usuwając nadmiar. Tutaj wpadłem na jedną subtelność - na zdjęciu widać, że jeden biały stojak jest przykręcony do płyty getinaks od krawędzi, a drugi biały jest przykręcony bezpośrednio do płyty modułu, ponieważ od jednej krawędzi płytka modemu całkowicie zakrywa dolną płytę, a od przeciwnej krawędzi - wręcz przeciwnie - dolna już wystaje. Jednocześnie w obu płytach trzeba było wywiercić dodatkowe otwory, aby łby wkrętów mogły swobodnie przechodzić.
I na koniec pozostaje upewnić się, że deska jest zawsze równoległa do korpusu - zszywki służące do mocowania przewodów i kabli na ścianie doskonale sprawdzają się w tym zadaniu; wcześniej usunąłem z nich gwoździe. Wsporniki dobrze przylegają do płytki wklęsłą stroną bez żadnych dodatkowych urządzeń, jedyne co jest na prawo od karty SIM, to szerokość wspornika okazała się za duża i też musiałem go przeszlifować.
Wszystkie szczegóły zostały skorygowane naocznie i eksperymentalnie, poniżej znajduje się zdjęcie wszystkich powyższych:



Złącza. diody LED. Przycisk.

Ponieważ zabrakło mi grzebienia, musiałem usunąć 6-pinowe złącze z płyty napędu DVD, które następnie przylutowałem do Pro Mini, aby ułatwić flashowanie płyty. Obok przylutowałem okrągłe złącze (Nokiev 3,5mm) do ładowania litu.

Korpus złącza 6-pinowego został lekko wykończony pilnikiem, gdyż jego krawędzie wystawały nieco ponad korpus. Gniazdo ładowania idealnie dopasowuje się do ścianki obudowy.

Z drugiej strony płytki przylutowałem przycisk do restartu urządzenia oraz dwie diody do debugowania oprogramowania - czerwona dioda jest podłączona do modułu GSM, druga zielona dioda jest podłączona do 10-tego pinu Pro Mini - jest łatwiej mi debugować program.

Modyfikacja baterii

Płaska bateria Nokii w telefonach Nokia jest nie mniej powszechna niż 18650, ale wielu po prostu odmawia jej użycia ze względu na niedogodności związane z podłączaniem styków, które są zagłębione głęboko w samej baterii. Lutowanie ich jest niepożądane, dlatego zdecydowano się zastosować zaproponowaną przez nich metodę, a mianowicie samodzielne wykonanie bloku stykowego z gumki biurowej i drutu miedzianego (o grubości 1,5 mm).
Najpierw przebiłem kawałek gumki dwoma drutami z odciętymi końcami i dopasowałem je do styków akumulatora tak, aby odległość między nimi się pokrywała,
Zagiąłem końce, ocynowałem je lutownicą i lekko odciągnąłem za długie końce, tak aby powstałe styki zagłębiły się w gumkę.



Próba na baterii:

Można zabezpieczyć blok styków gumką recepturką lub owinąć niebieską taśmą izolacyjną, co ostatecznie zrobiłem.

Montaż.

Zasadnicza część pracy jest już wykonana, pozostaje tylko złożyć i nagrać.
Pomiędzy akumulator a płytkę włożyłem kawałek gumy piankowej, aby później nie przesuwał się wewnątrz obudowy. Dodatkowo przylutowałem kondensator 2200 µF do zasilania modułu.

Gdy ładowanie jest podłączone:

Rama. Zewnętrzna listwa zaciskowa.

Etui było dostępne na lokalnym rynku radiowym za około 1,5 dolara w przeliczeniu na dolary, a jego wymiary to 95 x 60 x 25 mm, czyli prawie wielkość paczki papierosów. Wywierciłem w nim kilka otworów. Najpierw dla 4-pinowej listwy zaciskowej pobranej z niedziałającego ściemniacza.
Całkowicie uwolniłem dwa zewnętrzne styki od śrub za pomocą podkładek, wywierciłem otwory na dłuższe śruby, które utrzymają całą listwę zaciskową na korpusie. Na samej obudowie oczywiście dwa zewnętrzne otwory będą duże, a dwa środkowe mniejsze - będą miały przewleczone styki, z czego jeden będzie podłączony do VCC Pro Mini, a drugi do pinu 2.

Wiercenie otworów, choć na pierwszy rzut oka proste, jest jednak nie mniej pracochłonne, bardzo łatwo je przeoczyć, dlatego zrobiłem to najpierw wiertłem o mniejszej średnicy, potem większym.

Na przycisk takt wybrałem nasadkę z lekko wklęsłym wierzchołkiem, tak aby łatwo było do niego sięgnąć zapałką lub spinaczem przez wąski otwór w etui.

Płytka w obudowie z podłączonym kablem konwertera USB-TTL:

O antenie.
Antena, jak być może zauważyłeś w całej recenzji, ciągle się zmieniała, gdy eksperymentowałem z różnymi antenami domowej roboty. Początkowo na płytce modułu znajdowało się okrągłe złącze koncentryczne, ale przy piątym użyciu do anteny zewnętrznej po prostu się rozpadło, więc należy pamiętać, że jest wątłe. W efekcie wyrwałem antenę na PCB ze starego routera i przylutowałem ją do płytki modułu, bo... łapie siatkę trochę lepiej niż sprężyna i drut.

Cóż, całkowicie zmontowany z podłączonym ładowaniem wygląda tak:

Test. Jak to działa:

Oprócz testów z antenami sprawdziłem jak alarm będzie się zachowywał na zewnątrz, przy mrozie -15. Aby to zrobić po prostu włożyłem całe wnętrze do pojemnika i zostawiłem na noc na balkonie, alarm się nie uruchomił, przyczyna okazała się w zasadzie oczywista - lit nie lubi mrozu. Potwierdził to kolejny test, gdzie akumulator zostawiłem w domu, a płytkę wyniosłem na zewnątrz długimi kablami i zostawiłem tak na jeden dzień na tym samym mrozie - działała jak gdyby nic się nie stało. Natomiast dziwne by było, gdyby alarm nie działał, bo... W kartach katalogowych Atmegi, modułów i kwarcu dopuszczalne temperatury pracy wynoszą do -40 stopni.

Zasada działania zorganizowana jest za pomocą przerwania zewnętrznego, początkowo pin 2 jest zwarty z VCC i tym samym na pinie utrzymywana jest logiczna 1, a sterownik śpi. Gdy tylko styk zostanie zerwany i na pinie 2 pojawi się 0, mikrokontroler budzi się, opuszcza 3-ci pin (do którego podłączony jest BOOT modemu przez rezystor) do masy - moduł uruchamia się, MK okresowo odpytuje moduł gotowości, a gdy tylko złapie sieć, natychmiast wysyła połączenie na podany w kodzie numer telefonu właściciela. Po odrzuceniu połączenia urządzenie wyłącza się nie wysyłając już żadnych niekończących się połączeń, co jest problemem wielu chińskich alarmów.

Dodatkowe informacje

#włączać #włączać // Biblioteka oprogramowania UART SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // pusta obsługa przerwań /////////////////////////// /////////////// void gsmOFF())( // PORTD|=(1<<3); // ВЫКЛЮЧЕНИЕ МОДУЛЯ _delay_ms(10); // gsm.println("AT+CPWROFF"); // ПЕЧАТАЕМ КОМАНДУ OFF PORTB &=~ (1<<2); // выключить LED 10 } // //========================================= void gsmON(){ // PORTD|=(1<<6); // 6-му порту (TX) назначить 1 PORTD &= ~(1<<3); // ЗАПУСК МОДУЛЯ _delay_ms(10); // while(!gsm.find("+PBREADY")); // ждём прочтения тел. книги PORTB |= (1<<2); // включить LED 10 _delay_ms(100); // while(1){ // gsm.println("AT+CREG?"); // проверяем в сети ли модуль if (gsm.find("0,1")) break; // если сеть есть, выходим из цикла _delay_ms(400); // проверка раз в 0,4 сек } // } // /////////////////////////////////////////// // void sleepNow(){ // функция засыпания ADCSRA = 0x00; // отключить подсистему АЦП (экономия 140 мкА) PORTD&=~(1<<6); // в вывод TX поставить 0 _delay_ms(100); // set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна PWR_DOWN sleep_enable(); // включение сна attachInterrupt(0, wakeUp, LOW); // включить прерывания sleep_mode(); // sleep_disable(); // detachInterrupt(0); // отключить прерывания } void setup(){ gsm.begin(9600); // скорость работы UART DDRD = B01001000; // 3-й и 6-й выводы на выход DDRB |= (1<<2); // вывод 10 на выход gsmON(); // запуск модуля для теста gsmOFF(); // выключаем модуль } void loop(){ if (!(PIND&(1<<2))){ // если на 0-ом прерывании появился 0 gsmON(); gsm.println("ATD+79xxxxxxxxx;"); // отзваниваемся, в ответ приходит OK и CONNECT _delay_ms(100); if (gsm.find("OK")) while(1){ // ожидание сброса вызова gsm.println("AT+CPAS"); // при каждой итерации опрашиваем модуль if (gsm.find("0")) break; // если 0, то выходим из цикла while _delay_ms(100); // проверка раз в 0,1 сек } for (char i=0; i<14; i++){ PORTB|=(1<<2); // LED 10 ON _delay_ms(200); PORTB&=~(1<<2); // LED 10 OFF _delay_ms(200); } gsmOFF(); // выключить модуль _delay_ms(10); while(1); // блокируем программу } else { sleepNow(); // укладываем контроллер спать } }

Schemat obwodu (bez karty sterującej ładowaniem i rozładowaniem)



Wnioski i przemyślenia. Plany.

Alarm jest używany na daczy, jestem zadowolony z pracy, jednak wraz z dalszymi badaniami AVR pojawia się coraz więcej pomysłów na dalsze modyfikacje. Arduino ze swoim pseudojęzykowym Wiringiem naprawdę mnie zdenerwowało, ponieważ... W pracy odkryto jeden nieprzyjemny moment. Kiedy użyłem funkcji portu digitalWrite(); lub tryb pin(); - z jakiegoś powodu moduł GSM bardzo często się zawieszał. Ale warto było je zastąpić sztuczkami takimi jak DDRB|=(1<Dopiero operacja bezpośredniego dostępu do portów sprawiła, że ​​urządzenie działało zgodnie z przeznaczeniem.

O oszczędzaniu energii...
Zmontowane urządzenie działało przez pełne cztery miesiące bez ładowania i nadal działa, chociaż bardziej słuszne byłoby powiedzenie „spać”. Można to sprawdzić, po prostu uruchamiając ponownie komputer za pomocą białego przycisku. Przy poborze prądu 250 μA (przez stabilizator LE33) i akumulatorze ~1430 mAh, choć ok, ze względu na nowość akumulatora, zaokrąglmy to w górę do 1000 mAh, okazuje się, że urządzenie może spać ok. 5,5 miesiąca bez ładowania. Jeśli nadal usuniesz stabilizator, czas działania można bezpiecznie pomnożyć 10 razy. Ale w moim przypadku nie ma takiej potrzeby, bo i tak saldo z karty SIM trzeba wydać raz na trzy miesiące, przy okazji można sprawdzić i naładować urządzenie.
Przykład oszczędzania energii podany w recenzji jest daleki od limitu, ponieważ sądząc po informacjach z datasheet, można obniżyć częstotliwość taktowania mikrokontrolera (odbywa się to poprzez włożenie bezpieczników) do 1 MHz i przy podaniu napięcia 1,8 V pobór w trybie aktywnym spadnie poniżej paska 1 µA . Bardzo dobrze! Ale jeśli MK jest taktowany z wewnętrznego oscylatora RC, pojawi się inny problem - powietrze UART zostanie zatkane śmieciami i błędami, szczególnie jeśli sterownik jest podgrzewany lub chłodzony.

Po zakończeniu...
1) Zwykły drut zainstalowany do zerwania nie jest zbyt wygodny, planuję poeksperymentować z czujnikiem Halla i kontaktronem, choć o tym drugim mówią, że nie jest zbyt niezawodny, ponieważ styki w nim mogą się sklejać.
2) Przydałoby się dodać możliwość zmiany „numeru właściciela” bez udziału komputera i flashowania go. Będziesz musiał pracować z EEPROM.
3) Spróbuj przerwać od timera watchdoga, ale nie tylko z ciekawości, ale po to, aby mikrokontroler okresowo sam się wybudzał, mierzył napięcie akumulatora i wysyłał wynikową wartość SMS-em, aby wiedzieć, jak niski jest akumulator.
4) Panel słoneczny może całkowicie wyeliminować potrzebę ładowania urządzenia; będzie to szczególnie prawdziwe w przypadku akumulatorów o małej pojemności.
5) Już od dawna chciałem kupić akumulatory LiFePo4, które według opinii dobrze znoszą mróz, jednak gdy szukałem odpowiedniej partii, wiosna już spokojnie przyszła.
6) Pracuj nad elementem estetycznym

Którego Pro Mini kupić?
Jeśli nie masz suszarki do włosów to Pro Mini „RobotDyn” Atmega168PA 3,3V, odetnij diodę LED czymś ostrym i masz ~250 µA.
Jeśli masz suszarkę do włosów, to dowolną płytkę, przylutuj stabilizator i diodę LED do zasilania - otrzymasz ~20 µA poboru prądu.

To wszystko na razie, mam nadzieję, że recenzja była interesująca i przydatna.

Planuję kupić +174 Dodaj do ulubionych Recenzja przypadła mi do gustu +143 +278

Projekt ten dotyczy opracowania i udoskonalenia systemu zapobiegania/kontroli wszelkich prób infiltracji przez złodziei. Opracowane urządzenie zabezpieczające wykorzystuje system wbudowany (zawierający sprzętowy mikrokontroler wykorzystujący oprogramowanie typu open source oraz modem GSM) oparty na technologii GSM (Global System for Mobile Communications).

W domu można zainstalować urządzenie zabezpieczające. Czujnik interfejsu alarmu włamaniowego jest również podłączony do systemu bezpieczeństwa opartego na kontrolerze.
W przypadku próby penetracji system wysyła wiadomość ostrzegawczą (na przykład SMS) na telefon komórkowy właściciela lub na dowolny wcześniej skonfigurowany telefon komórkowy w celu dalszego przetwarzania.

System bezpieczeństwa składa się z mikrokontrolera Arduino Uno oraz standardowego modemu SIM900A opartego na technologii GSM/GPRS. Cały układ może być zasilany dowolnym zasilaczem/akumulatorem 12V 2A.

Poniżej znajduje się schemat systemu bezpieczeństwa opartego na Arduino.

Obsługa systemu jest bardzo prosta i nie wymaga objaśnień. Po dostarczeniu zasilania system przechodzi w tryb gotowości. W przypadku zwarcia pinów złącza J2 na żądany numer telefonu komórkowego wysyłany jest zaprogramowany komunikat ostrzegawczy. Do złącza wejściowego J2 można podłączyć dowolną czujkę włamania (taką jak bariera świetlna lub czujnik ruchu). Należy pamiętać, że sygnał aktywny-niski (L) na styku 1 złącza J2 aktywuje alarm antywłamaniowy.

Ponadto do systemu dodano opcjonalne urządzenie „alarmowe”. Uruchamia połączenie telefoniczne w momencie naciśnięcia przez użytkownika przycisku S2 (lub gdy inna jednostka elektroniczna zainicjuje alarm). Po naciśnięciu przycisku „zadzwoń” (S2) połączenie można zakończyć naciskając inny przycisk S3 – przycisk „zakończ”. Opcję tę można wykorzystać do wygenerowania alarmu „nieodebranego połączenia” w przypadku włamania.

Układ jest bardzo elastyczny, dzięki czemu można w nim zastosować dowolny modem SIM900A (i oczywiście płytkę Arduino Uno). Przed przystąpieniem do montażu prosimy o dokładne zapoznanie się z dokumentacją modemu. Dzięki temu proces wytwarzania systemu będzie łatwiejszy i przyjemniejszy.

Lista radioelementów

Przeznaczenie Typ Określenie Ilość NotatkaSklepMój notatnik
Płyta Arduino

Arduino Uno

1 Do notatnika
Modem GSM/GPRSSIM900A1 Do notatnika
IC1 regulator liniowy

LM7805

1 Do notatnika
C1 100uF 25V1 Do notatnika
C2 Kondensator elektrolityczny10uF 16V1 Do notatnika
R1 Rezystor

1 kOhm

1 Do notatnika
LED1 Dioda LED 1 Do notatnika
S1 PrzyciskZ fiksacją1


Jak zrobić prosty system alarmowy GSM z wykorzystaniem SIM800L i Arduino dla garażu lub domku. Robimy to sami korzystając z gotowych modułów z Aliexpress. Główne moduły– moduł GSM SIM800L, Arduino Nano (można zastosować dowolne Uno itp.), płytkę step-down, baterię do telefonu komórkowego.

Ryż. 1. Układ modułów alarmowych w Arduino

Produkcja alarmów

Montujemy go na płytce stykowej poprzez podkładki, które pozwolą w razie potrzeby na wymianę modułów. Włącz alarm, dostarczając zasilanie 4,2 V przez przełącznik na SIM800L i Arduino Nano.



Po uruchomieniu pierwszej pętli system najpierw dzwoni na pierwszy numer, następnie przerywa połączenie i oddzwania na drugi numer. Drugi numer został dodany na wypadek gdyby pierwszy został nagle rozłączony itp. Po uruchomieniu pętli drugiej, trzeciej, czwartej i piątej wysyłany jest SMS z numerem aktywowanego wejścia, także na dwa numery. Schemat i szkic dla zainteresowanych znajdują się w opisie pod filmem.
Całą elektronikę umieszczamy w odpowiedniej obudowie.



Jeśli nie potrzebujesz 5 kabli, podłącz pin 5V Arduino do niepotrzebnych wejść. System alarmowy GSM z 5 pętlami i akumulatorem, który pozwoli urządzeniu na autonomiczną pracę przez kilka dni, nawet podczas przerwy w dostawie prądu. Można do nich podłączyć dowolne czujniki stykowe zabezpieczające, styki przekaźnikowe itp. W rezultacie otrzymujemy proste, niedrogie, kompaktowe urządzenie zabezpieczające umożliwiające wysyłanie SMS-ów i wybieranie numerów na 2 numery. Można nim zabezpieczyć daczę, mieszkanie, garaż itp.

Więcej szczegółów w filmie