Namų signalizacija arba naudojant judesio jutiklį ir LCD monitorių su Arduino. GSM namų apsaugos sistema, pagrįsta Arduino

Laba diena! Vėlgi daugialypė kiniškų elektroninių komponentų apžvalga, kaip įprasta, šiek tiek apie viską, pabandysiu trumpiau, bet ar pavyks? Taigi, susitikti GSM signalizacija vertė iki 700 ₽. Įdomus? Prašome po "Iškirpti"!

Pradėkime! Prieš pradedant rekomenduoju pažvelgti į šį, mažiau komponentų ir didesnį savarankiškumą. Taigi, „įgaliojimai“, pagrindiniai signalizacijos reikalavimai:

1) Praneškite, kai jutikliai suveikia.
2) Nutrūkus elektros tiekimui, turi būti suteikta tam tikra autonomija.
3) Signalizacijos valdymas sms ir skambučiais.

Kadangi signalizacijos kūrimo procesas užsitęsė kelis mėnesius, o kai kurie pardavėjai nebeparduoda tų komponentų, kurie buvo įsigyti pas juos, nuorodos bus atnaujintos į kitų pardavėjų, turinčių maksimalų ar artimą maksimumą, prekes. prekių pardavimų skaičius ir geriausia kaina. Apžvalgoje pateiktos kainos galioja rašymo dieną.

Sąrašas ko jums reikia:

Pakeitimų sąrašas

GSM_03_12_2016-14-38.hex- Fiksuotas įrenginio veikimas su M590 modemu.
GSM_05_12_2016-13-45.hex- pridėta konsolės komanda memtest, RAM naudojimo optimizavimas.
GSM_2016_12_06-15-43.hex- Pridėta komandų rezultatų išvestis į konsolę, atminties optimizavimas. Užimta: 49% SRAM.
GSM_2016_12_07-10-59.hex- dabar telefono numeriai pridedami ir pašalinami teisingai. Užimta: 49% SRAM, 74% Flash atmintis.
GSM_2016_12_07-15-38.hex- pridėta galimybė prijungti judesio jutiklį, jungiasi prie kaiščio A0 (šiuo atveju kontaktas A0 naudojamas kaip skaitmeninis). Pridėtos SMS komandos PIRONAS, PIR išjungtas. Užimta: 48% SRAM, 76% Flash atmintis.
GSM_2016_12_08-13-53.hex- Dabar, sėkmingai įvykdžius komandą, kuri nesiunčia SMS žinutės, įrenginys vieną kartą sumirksi mėlynu šviesos diodu. Dabar, neteisingai įvykdžius komandą, kuri nesiunčia SMS žinutės, prietaisas du kartus sumirksi mėlynu šviesos diodu. Dabar, inicijavus įrenginio parametrus, jei įjungtas „tylusis“ režimas (SendSms = 0), įrenginys 2 sekundes greitai mirksi mėlynu šviesos diodu. Ištaisyta klaida, dėl kurios numeris ne visada buvo ištrintas iš atminties komanda DeletePhone. Užimta: 48% SRAM, 78% Flash atmintis.
GSM_2016_12_11-09-12.hex- Pridėtos konsolės komandos AddPhone ir DeletePhone, sintaksė panaši į SMS komandas. Atminties optimizavimas. Užimta: 43% SRAM, 79% Flash atmintis.
GSM_2017_01_03-22-51.hex- Įdiegtas panašių įvesties / išvesties prievadų plėtiklių palaikymas PCF8574 mikroschemoje, norint prijungti papildomus 8 jutiklius, įskaitant nendrinius jungiklius. Automatinė adresų paieška ir automatinė modulių konfigūracija. Standartiniai jutiklių pavadinimai ir loginis jų veikimo lygis keičiami naudojant komandą EditSensor. Pakeistas pagrindinio jutiklio (pin D0) aliarmo SMS turinys „Aliarmas! pagrindinis jutiklis! ir judesio jutiklis (kaištis A0) „Aliarmas! PIR jutiklis! Pridėtos komandos EditSensor ir I2CScan. Užimta: 66% SRAM, 92% Flash atmintis.
GSM_2017_01_15-23-26.šeš- A6_Mini modemo palaikymas. Išorinio maitinimo šaltinio (kaiščio D7) kontrolė. Pridėtos SMS komandos WatchPowerOn, WatchPowerOff. Pridėtos konsolės komandos ListConfig, ListSensor. Dabar EditSensor sms komanda veikia tinkamai. Derinimo informacijos išvestis į prievado monitorių buvo šiek tiek „sumažinta“. Užimta: 66% SRAM, 95% Flash atmintis.
GSM_2017_01_16-23-54.hex- Dabar atsakymo žinutėje į SMS komandą „Info“ taip pat pranešama apie judesio jutiklio būseną. Ištaisyta klaida, dėl kurios kartais buvo siunčiamos tuščios atsakomosios SMS žinutės. Dabar įrenginys praneša ne tik apie išjungimą, bet ir apie išorinio maitinimo atnaujinimą. Visi modemai pradėjo „mažiau kalbėti“, dabar prievado monitorius tapo šiek tiek švaresnis. Užimta: 66% SRAM, 95% Flash atmintis.
GSM_2017_02_04-20-23.hex- Ištaisyta klaida „Žiūrėkite įjungtą maitinimą“. Dabar, po apsaugos išjungimo, „pavojaus kaištis“ yra išjungtas. Dabar, ištrynus numerį, konsolėje rodoma teisinga informacija. Galbūt buvo ištaisyta klaida, dėl kurios kartais buvo siunčiamos tuščios atsakomosios SMS žinutės. Užimta: 66% SRAM, 90% Flash atmintis.
GSM_2017_02_14-00-03.hex- Dabar pagal numatytuosius nustatymus siunčiamos SMS žinutės, parametras SendSms vėl lygus 1. Dabar, kai pagrindinio nendrinio jungiklio kontaktai yra uždaryti (durelės uždarytos), prietaisas 2 sekundes mirksi mėlynu šviesos diodu, signalizuodamas apie normalus veikimas jutiklis. Užimta: 66% SRAM, 90% Flash atmintis.
GSM_2017_03_01-23-37.hex- „WatchPowerOn“ komanda pašalinta. Pridėta konsolės komanda WatchPowerOff, identiška SMS komandai. Pridėtos komandos WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 – išorinis maitinimo stebėjimas įjungtas, jei aliarmas įjungtas, WatchPowerOn2 – išorinis maitinimo stebėjimas visada įjungtas. Įdiegta apsaugos įjungimo ir išjungimo išoriniais įrenginiais funkcija, tam naudojami gnybtai A1(D15) ir A2(D16). Signalas bus įjungtas / išjungtas, kai pasirodys išėjime A1(D15) aukštas lygis+5V arba prie kaiščio A2(D16) žemas GND. Kaištis A1(D15) ištraukiamas iki GND, kaištis A2(D16) ištraukiamas iki +5V per 20 (10) kOhm rezistorius. Pridėtos komandos GuardButtonOn ir GuardButtonOff. Dabar, įjungus apsaugą, raudonas šviesos diodas mirksi tol, kol bus patikrintas pagrindinės nendrinės jutiklio grandinės vientisumas. Jei grandinė baigta, užsidega raudonas šviesos diodas. Užimta: 66% SRAM, 95% Flash atmintis.
GSM_2017_03_12-20-04.hex– Dabar konsolė dar švaresnė, tačiau įjungus testavimo režimą „TestOn“, pulte rodoma papildoma informacija. „Išsiųsta!“ klaida ištaisyta, dabar informacija apie pranešimų siuntimą tinkamai rodoma konsolėje. Ištaisyta „pakartotinio netikro skambučio“ klaida. Dabar balanso užklausa turėtų tinkamai veikti visuose modemuose. Užimta: 67% SRAM, 95% Flash atmintis.
GSM_2017_04_16-12-00.hex- Fiksuotas. Dabar komandos Info ir Money visada atsiųs atsakomą SMS žinutę. Komanda GuardButtonOn buvo pakeista komandomis GuardButtonOn1 ir GuardButtonOn2. Užimta: 67% SRAM, 99% Flash atmintis.
GSM_2017_04_21-09-43.hex - nerekomenduojama naudoti, tik kaip bandymas, ačiū už rastas klaidas :) - Dabar parametras sendsms neturi įtakos SMS žinučių siuntimui elektros tinklo stebėjimui. Pridėta SMS komanda DelayBeforeGuard atsakinga už delsą įjungiant apsaugą, reikšmė negali viršyti 255 sekundes. Pridėta SMS komanda DelayBeforeAlarm, atsakinga už pranešimų siuntimo uždelsimą ir „pavojaus kaiščio“ įjungimą, kai suveikia jutikliai, reikšmė negali viršyti 255 sekundes. Pašalintos ClearSMS komandos, dabar pranešimai ištrinami automatiškai gavus. Užimta: 68% SRAM, 100% Flash atmintis.
GSM_2017_04_22-20-42.hex- Ištaisytos kelios klaidos. ClearSMS komandos grįžta į programinę įrangą. Atminties optimizavimas. Užimta: 68% SRAM, 98% Flash atmintis.
GSM_2017_04_23-17-50.hex- Dabar balanso užklausa turėtų tinkamai veikti visuose modemuose. Apsaugos įjungimas ir išjungimas naudojant išorinius įrenginius dabar veikia tinkamai. Info komanda SMS atsakymo žinutės negali būti tuščios. Atminties optimizavimas. Užimta: 68% SRAM, 98% Flash atmintis.
GSM_2017_04_24-13-22.hex- Dabar perduodamos konsolės komandos GSM modulis atliekama tik tada, kai įjungtas bandymo režimas. Dabar nėra skirstymo į SMS komandas ir konsolines komandas, visas esamas komandas galima siųsti tiek SMS žinute, tiek per pultą. Galbūt ištaisyta klaida su komanda Info. Atminties optimizavimas. Užimta: 68% SRAM, 94% Flash atmintis.
GSM_2017_04_25-20-54.hex- Ištaisyta klaida, kai komanda ListConfig pakeitė paskutinio įvykio reikšmę. Dabar įvedant komandas per konsolę nereikalingos SMS žinutės nesiunčiamos. Galbūt ištaisyta klaida su komanda Info. Atminties optimizavimas. Užimta: 66% SRAM, 94% Flash atmintis.
GSM_2017_04_30-12-57.hex- Laikinai įjungtas papildomos informacijos išvedimas į pultą siunčiant SMS žinutes ir formuojant atsakymą į Info komandą. Galbūt ištaisyta klaida su komanda Info. Atminties optimizavimas. Užimta: 66% SRAM, 92% Flash atmintis.
GSM_2017_05_06-11-52.hex- Ištaisyta naudojant funkciją DelayBeforeAlarm. Užimta: 66% SRAM, 93% Flash atmintis.
GSM_2017_05_23-21-27.hex- Šiek tiek pakeistas informacijos išvestis į konsolę. Pridėtas prievadų išplėtimo modulių palaikymas PCF8574A su adresais nuo 0x38 iki 0x3f imtinai. Ištaisyta c klaida. Dabar įrenginys automatiškai paleidžiamas iš naujo po komandų FullReset, ResetConfig, ResetPhone ir sėkmingai įvykdžius MemTest komandą. Pridėta „WatchPowerTime“ komanda. Dabar galima nustatyti laiką, po kurio bus išsiųsta SMS žinutė apie atsijungimą išorinis šaltinis mityba. Užimta: 67% SRAM, 94% Flash atmintis.
GSM_2017_05_26-20-22.hex- Fiksuotas jutiklio atminties inicijavimas išplėtimo plokštėje. Pakeista komandos AddPhone sintaksė. Pridėta komanda EditMainPhone. Pakeistas pranešimų sistemos veikimo principas, suveikus davikliui pirmiausia bus siunčiamos sms žinutės, po kurių bus skambinami balso skambučiai. Signalinės SMS žinutės bus siunčiamos telefono numeriais, pažymėtais "S" (SMS). Balso skambučiai bus atliekami numeriais su ženklu „R“ (skambėjimas). Pranešimai apie išorinio maitinimo šaltinio išjungimą/įjungimą bus siunčiami telefono numeriais su ženklu "P" (maitinimas). Pridėta komanda RingTime. Dabar galima nustatyti aliarmo balso skambučio trukmę, parametras gali turėti reikšmę nuo 10 iki 255 sekundžių. Dabar komanda RingOn/RingOff visame pasaulyje įjungia / išjungia pranešimus balso skambučiais. Pridėta komanda ResetSensor. Užimta: 68% SRAM, 99% Flash atmintis.
GSM_2017_06_02-17-43.hex- Prie „AddPhone“ ir „EditMainPhone“ komandų buvo pridėtas parametras „I“ (Info), kuris atsakingas už sms pranešimus apie įrenginio apsaugos įjungimą arba išjungimą. Dabar, pridėjus pagrindinį numerį, įrenginys bus automatiškai paleistas iš naujo. Dabar tuos pačius skaičius galite įvesti į įrenginio atmintį. Pridedant antrąjį ir vėlesnius pasikartojančius numerius, atributai „M“, „S“, „P“ ir „I“ iš jų bus automatiškai pašalinti. Šie numeriai bus naudojami pakartotiniams balso skambučiams, kai suveikia jutikliai. Ištaisyta klaida, kai konsolėje buvo išvestas nerimas, įvykdžius komandą AddPhone, dabar informacija nerodoma automatiškai pridėjus numerį. Pridėta Reboot komanda. Užimta: 69% SRAM, 99% Flash atmintis.
GSM_2017_06_11-00-07.hex- Dabar vėl, kai uždaromi pagrindinio nendrinio jungiklio kontaktai (durelės uždarytos), prietaisas 2 sekundes mirksi mėlynu šviesos diodu, pranešdamas apie normalų jutiklio veikimą, o į įrenginį neatsižvelgiama yra ginkluotas arba nuginkluotas. RingOn/RingOff komandos buvo pašalintos. Dabar įrenginį galima išjungti žadintuvo skambučio metu, dabar jie atliekami fone. Užimta: 69% SRAM, 99% Flash atmintis.
GSM_2017_07_04-21-52.hex- Dabar komanda Pause nesiunčia atsakymo SMS. Pašalintos TestOn ir TestOff komandos. Iš visų numerių pašalintas valdymas. Užimta: 68% SRAM, 96% Flash atmintis.
GSM_2017_07_24-12-02.hex- Pridėtos ReedSwitchOn/ReedSwitchOff komandos, skirtos pagrindiniam nendriniam jutikliui stebėti, dabar jį galima įjungti/išjungti taip pat, kaip ir judesio jutiklį. Ištaisyta informacijos komandos klaida. „TestOn“ ir „TestOff“ komandos grįžta į programinę įrangą. Užimta: 68% SRAM, 96% Flash atmintis.
GSM_2017_07_26-10-03.hex- Pridėta ModemID komanda. Modemas automatiškai aptinkamas tik tada, kai šio parametro reikšmė lygi 0. Nustačius parametro reikšmę į 0, įrenginys automatiškai paleidžiamas iš naujo. Užimta: 68% SRAM, 98% Flash atmintis.
GSM_2017_08_03-22-03.hex- Dabar signalizacija gali valdyti išorinius įrenginius. Analoginis išėjimas A3 naudojamas valdymui (D17 naudojamas kaip skaitmeninis). Išvesties loginį lygį (+5V arba GND) galima keisti, pakeitus lygį per nustatymo komandą, įrenginys automatiškai persikraus. Galima keisti išorinio įrenginio valdymo signalo trukmę. Pridėtos komandos ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Kai kurie valdymo komandų logikos pakeitimai. Atminties optimizavimas. Užimta: 68% SRAM, 99% Flash atmintis.
GSM_2017_08_10-12-17.hex- Pašalintos komandos SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff ir viskas, kas su jomis susiję. Komanda DelayBeforeAlarm buvo pakeista išplėstinėmis komandomis. Pakeitė informacijos komandos išvestį. Optimizuotas komandos ListConfig išvestis į konsolę. Dabar prie D6 ir A0 kaiščių galima prijungti bet kokius aukšto arba žemo lygio skaitmeninius jutiklius, įskaitant nendrinius jungiklius. Kaiščiai D6 ir A0 turi būti ištraukti į žemę (GND) per 10 (20) kOhm varžą. Jei jutiklis nustatytas į žemą veikimo lygį (įjungtas nendrinio jungiklio režimu), patikrinamas grandinės vientisumas. Loginis veikimo lygis įėjimuose D6 ir A0 (+5V arba GND) gali būti keičiamas, pakeitus loginį lygį įrenginys bus automatiškai perkraunamas. Kiekvienam jutikliui (pagrindinei, antrai, PCF išplėtimo kortelėms), kai suveikia, galima nustatyti konkretų laiką, po kurio bus išsiųstas pranešimas (sms ir (arba) balso skambutis). „PIR jutiklis“ pervadintas į „Antrasis jutiklis“. Ištaisytas išplėtimo plokštės veikimas, klaida, dėl kurios įrenginys visada pranešdavo apie jutiklių veikimą, nepriklausomai nuo to, ar įrenginys buvo įjungtas, ar ne. Dabar galite pasirinkti darbo režimą, kuriuo įrenginys gali stebėti išplėtimo plokštės jutiklius tiek įjungtu (GuardOn), tiek išjungtu (GuardOff) režimu. Pridėtos komandos PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeDelarm, SecondDelayBeforeAlarm. Užimta: 68% SRAM, 99% Flash atmintis.

* Vėlesnėse programinės aparatinės įrangos versijose yra ankstesnių versijų pakeitimai.


Naudojami Arduino Nano v3 prievadai

D4- "aliarmo" kaiščio išvestis, kai jutiklis suveikia, ant šio kaiščio nustatomas aukšto lygio signalas
D5- apverstas "aliarmo" kaiščio išėjimas, kai jutiklis suveikia, ant šio kaiščio nustatomas žemo lygio signalas

D6- nendrių jutiklis. Pradedant nuo GSM_2017_08_10-12-17.hex versijos, prie D6 kaiščio galima prijungti bet kokius aukšto arba žemo atsako lygio skaitmeninius jutiklius, įskaitant nendrinius jungiklius. Kaištis D6 turi būti traukiamas į žemę (GND) per 10 (20) kOhm varžą.
D7- prijungtas prie įtampos daliklio iš išorinio +5V maitinimo šaltinio. Viršutinė ranka 2,2 kΩ, apatinė 3,3 kΩ.

Įtampos daliklis


D8- TX modemas
D9- RX modemas

D10- raudonas šviesos diodas
D11- mėlynas LED
D12- žalias šviesos diodas

Periferinis ryšys:
A0- Judesio jutiklis . Pradedant nuo GSM_2017_08_10-12-17.hex versijos, prie A0 kaiščio galima prijungti bet kokius aukšto arba žemo atsako lygio skaitmeninius jutiklius, įskaitant nendrinius jungiklius. Kaištis A0 turi būti traukiamas į žemę (GND) per 10 (20) kOhm varžą.

A1- Įvestis išoriniam valdymui. Signalizacija įsijungia/išjungia apsaugą, kai įėjime pasirodo aukštas lygis +5V.
A2- Apverstas įėjimas išoriniam valdymui. Aliarmas įjungiamas/išjungiamas, kai įėjime pasirodo žemas GND lygis.

A3- Konfigūruojamas (+5V arba GND) išėjimas skirtas valdyti išorinius įrenginius. Kai gaunama valdymo komanda, šio išvesties reikšmė pasikeičia priklausomai nuo to, kas buvo nustatyta nustatytam laikotarpiui.

A4- SDA I2C
A5- SLC I2C
, prijungti papildomus 8 jutiklius.


Hex firmware valdymo komandos

Dėmesio! Komandos paryškintos paryškinti galima atlikti tik iš pagrindinio numerio, nes jie yra atsakingi už įrenginio konfigūraciją. Likusios komandos gali būti vykdomos iš skaičių su ženklu „Valdymas“.

SMS – valdymo komandos neskiria didžiosios ir mažosios raidės:
Pridėti telefoną- Pridėkite telefono numerį. Iš viso galima pridėti ne daugiau kaip 9 numerius + 1 pagrindinis numeris, kuris automatiškai išsaugomas atmintyje pirmą kartą paskambinus į įrenginį, komandomis atstačius gamyklinius nustatymus iš naujo nustatyti telefoną arba Visiškas atstatymas. Tie. kas pirmas paskambino į įrenginį atstačius gamyklinius nustatymus, yra „pagrindinis“, šis numeris įvedamas pirmoje atminties langelyje ir jo negalima pakeisti ar ištrinti SMS žinute. Neįmanoma pridėti dviejų vienodų skaičių.
Komandos pavyzdys:



Komandos sintaksė:

Pridėti telefoną- komanda
: - skyriklis
5 - įrašyti į penktą atminties langelį
+71234567890 - telefono numeris
Iki versijos GSM_2017_05_26-20-22.hex:
a – Parametras „Aliarmas“ – SMS žinutės bus siunčiamos numeriais su šiuo parametru – aliarmo pranešimai ir apsaugos įjungimo arba išjungimo pranešimai.
Nuo versijos GSM_2017_05_26-20-22.hex:
m – parametras „Valdymas“ – aliarmo valdymas leidžiamas
s – „SMS“ parametras – suveikus jutikliams bus išsiųsta SMS žinutė
r – „Skambėjimo“ parametras – suveikiant jutikliams bus atliktas balso skambutis
p - "Maitinimo" parametras - įjungus / išjungus išorinį maitinimą, bus išsiųsta SMS žinutė
i - "Info" parametras - įjungiant arba išjungiant apsaugą bus išsiųsta SMS žinutė
Nesant parametrų „m“, „s“, „r“, „p“, „i“, telefonas išsaugomas atmintyje, tačiau jokiu būdu nenaudojamas.


Ištrinti telefoną- Ištrinkite telefono numerį.
Komandos pavyzdys:

Komandos sintaksė:

Komanda DeletePhone
: - skyriklis
+71234567891 - telefono numeris


EditMainPhone- Pakeiskite pagrindinio telefono parametrus „s“, „r“, „p“, „i“, šis skaičius įrašomas pirmoje atminties langelyje.
Komandos pavyzdys:

Komandos sintaksė:

Komanda EditMainPhone
: - skyriklis
srpi – parametrai


BalanceNum- Likutinio užklausos numerio keitimas ir atsakymo į užklausą trukmės apdorojimas. Numatytoji „Beeline“ vertė: #100#L22.
Komandos pavyzdys:

Komandos sintaksė:

BalanceNum – komanda
: - skyriklis
#103# - balanso užklausos numeris
L24 – persiųsto atsakymo ilgis (len) yra 24 simboliai, iš balanso užklausos pašaliname nepageidaujamą el.


EditSensor- Pakeiskite jutiklio pavadinimą ir loginį veikimo lygį. Iš viso gali būti ne daugiau kaip 8 papildomi jutikliai. Pakeitus nustatymus, įrenginį reikia paleisti iš naujo.
Komandos pavyzdys:
EditSensor:1+Datchik dvizheniya v koridore#h

Komandos sintaksė:

EditSensor – komanda
: - skyriklis
1 - įrašyti į pirmą atminties langelį
+ - separatorius
Datchik dvizheniya v koridore - jutiklio pavadinimas, negali būti ilgesnis nei 36 simboliai, įskaitant tarpus.
#h – jutiklio aukšto loginio lygio požymis, kurį gavus suveikia aliarmas. Jei trūksta „#h“, aliarmas suveikia, kai iš jutiklio gaunamas žemas loginis lygis.


Miego laikas- Signalo „užmigimo“ laikas gavus SMS – komandą „Pauzė“, nurodomas minutėmis. Numatytoji reikšmė: 15, negali būti mažesnė nei 1 ir didesnė nei 60.
Komandos pavyzdys:

Komandos sintaksė:

SleepTime – komanda
: - skyriklis
20 - 20 minučių „miego“.


AlarmPinTime- Laikas, kuriam aliarmas / atvirkštinis kaištis yra įjungtas / išjungtas, rodomas sekundėmis. Numatytoji reikšmė: 60, negali būti trumpesnė nei 1 sekundė ir daugiau nei 43 200 sekundžių (12 valandų).
Komandos pavyzdys:

Komandos sintaksė:

AlarmPinTime - komanda
: - skyriklis
30–30 sekundžių, kad įjungtumėte / išjungtumėte aliarmo kaištį.


DelayBeforeGuard- Laikas, kol įrenginys bus įjungtas, gavus atitinkamą komandą.
Komandos pavyzdys:

Komandos sintaksė:

DelayBeforeGuard komanda
: - skyriklis
likus 25–25 sekundėms iki apsaugos įjungimo


DelayBeforeAlarm- Laikas, po kurio bus išsiųstas „alsminis“ SMS pranešimas, jei per šį laikotarpį aliarmas nebuvo išjungtas. Pakeistas išplėstinėmis komandomis, pradedant nuo versijos GSM_2017_08_10-12-17.hex
Komandos pavyzdys:

Komandos sintaksė:

DelayBeforeAlarm – komanda
: - skyriklis
40–40 sekundžių prieš išsiųsdamas „pavojaus“ pranešimą


WatchPowerTime- Laikas minutėmis, po kurio bus išsiųsta SMS žinutė apie išorinio maitinimo atjungimą. Jei išorinis maitinimas atkuriamas nepasibaigus nustatytam laikui, pranešimas nebus išsiųstas.
Komandos pavyzdys:

Komandos sintaksė:

WatchPowerTime – komanda
: - skyriklis
Likus 5-5 minutėms iki SMS žinutės išsiuntimo


Skambėjimo laikas- Signalizacijos balso skambučio trukmė, parametras gali turėti reikšmę nuo 10 iki 255 sekundžių.
Komandos pavyzdys:

Komandos sintaksė:

RingTime – komanda
: - skyriklis
40 - 40 pokalbio trukmė bus 40 sekundžių, po kurios bus skambinamas kitas abonentas.


Modemo ID- Priverstinis naudojamo modemo modelio įdiegimas. Galimos reikšmės: 0 - automatinis modemo aptikimas, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Komandos pavyzdys:

Komandos sintaksė:

ModemID - komanda
: - skyriklis
2 - modemo ID.


ExtDeviceTime- sekundžių skaičius, per kurį keisis signalo lygis išorinio įrenginio valdymo išvestyje.
Komandos pavyzdys:

Komandos sintaksė:

„ExtDeviceTime“ komanda
: - skyriklis
5-5 sekundes


ExtDeviceLevelLow- Prie išvesties A3 prijungtas išorinis įrenginys veikia žemai (GND). Numatytoji išvestis bus aukšta +5 V, kol bus gauta išorinio įrenginio valdymo komanda.
ExtDeviceLevelHigh- Prie išvesties A3 prijungtas išorinis įrenginys valdomas aukštu signalo lygiu (+5V). Išvestis pagal numatytuosius nustatymus bus GND žema, kol bus gauta išorinio įrenginio valdymo komanda.

ResetSensor- iš naujo nustatykite prievado plėtiklio jutiklių parametrus

iš naujo nustatyti konfigūraciją- gamykliniai nustatymai

iš naujo nustatyti telefoną- ištrinti iš atminties viską telefono numeriai

Visiškas atstatymas- Atstatyti nustatymus, ištrinti visus telefono numerius iš atminties, atkurti numatytąją komandos BalanceNum reikšmę.

Ring On- įjungti pranešimą skambinant „pagrindiniu“ numeriu, įrašytu pirmoje atminties langelyje, kai jutiklis suveikia. Pašalinta nuo versijos GSM_2017_06_11-00-07.hex
Padėti telefono ragelį- Išjunkite pranešimą skambučiu, kai jutiklis suveikia. Pašalinta nuo versijos GSM_2017_06_11-00-07.hex

SmsOn- įjungti SMS pranešimą, kai jutiklis suveikia. Pašalinta nuo versijos GSM_2017_08_10-12-17.hex
sms išjungta- išjungti sms pranešimą, kai jutiklis suveikia. Pašalinta nuo versijos GSM_2017_08_10-12-17.hex

PIRONAS- įjungti judesio jutiklio apdorojimą
PIR išjungtas- išjungti judesio jutiklio apdorojimą

ReedSwitchOn- įjungti pagrindinio nendrinio jutiklio apdorojimą
ReedSwitchOff- išjunkite pagrindinio nendrinio jutiklio apdorojimą

WatchPowerOn- įjunkite išorinį maitinimo valdymą, bus išsiųsta SMS žinutė apie išorinio maitinimo sutrikimą, jei signalizacija įjungta. Pašalinta nuo versijos GSM_2017_03_01-23-37.

WatchPowerOn1- įjunkite išorinį maitinimo valdymą, bus išsiųsta SMS žinutė apie išorinio maitinimo sutrikimą, jei signalizacija įjungta.
WatchPowerOn2- įjungti išorinio maitinimo valdymą, SMS žinutė apie išorinio maitinimo sutrikimą bus išsiųsta bet kokiu atveju

Laikrodis Išjungtas- išjunkite išorinį maitinimo valdymą

GuardButtonOn- signalizacijos valdymas išoriniais įrenginiais arba mygtuku įjungtas Pašalintas nuo versijos GSM_2017_04_16-12-00.
GuardButtonOn1- funkcija įdėjimas arba išėmimas apsauga nuo išorinių įrenginių arba mygtukas įjungtas
GuardButtonOn2- funkcija tik spektakliaiįjungtas išoriniais įrenginiais arba įjungtas mygtukas, išjungimas atliekamas paskambinus į įrenginį arba naudojant SMS komandą.
Apsaugos mygtukas išjungtas- signalizacijos valdymas išoriniais įrenginiais arba mygtuku išjungtas

PCFForceOn- nuolatinis visų išplėtimo modulio jutiklių grupės stebėjimas
PCFForceOff- visų plėtiklio jutiklių grupės stebėjimas tik tada, kai įrenginys įjungtas

MainSensorLevelHigh- pavojaus signalas bus išsiųstas, kai jutiklio įėjime (D6) pasirodys aukšto lygio signalas (+5 V)
MainSensorLevelLow- aliarmo pranešimas bus išsiųstas, kai jutiklio įėjime (D6) pasirodys žemo lygio signalas (GND).
MainSensorLevelOff- įvesties jutiklio apdorojimas (D6) išjungtas

SecondSensorLevelHigh- aliarmo pranešimas bus išsiųstas, kai jutiklio įėjime (A0) pasirodys aukšto lygio signalas (+5 V)
SecondSensorLevelLow- aliarmo pranešimas bus išsiųstas, kai jutiklio įėjime (A0) pasirodys žemo lygio signalas (GND).
SecondSensorLevelOff- įvesties jutiklio apdorojimas (A0) išjungtas

MainDelayBeforeAlarm- laikas, po kurio bus išsiųstas „aliarmo“ SMS pranešimas, kai suveikia pagrindinis jutiklis (D6), jei per šį laikotarpį signalizacija nebuvo išjungta. Sintaksė yra tokia pati kaip komandos DelayBeforeAlarm.
SecondDelayBeforeAlarm- laikas, po kurio bus išsiųstas „aliarmo“ SMS pranešimas, kai suveikia papildomas jutiklis (A0), jei per šį laikotarpį signalizacija nebuvo išjungta. Sintaksė yra tokia pati kaip komandos DelayBeforeAlarm.
PCFDelayBeforeAlarm- laikas, po kurio bus išsiųstas "aliarmo" SMS pranešimas, kai suveikia išplėtimo plokštės (PCF8574) jutikliai, jei per šį laikotarpį signalizacija nebuvo išjungta. Sintaksė yra tokia pati kaip komandos DelayBeforeAlarm.

GuardOn - ranka
GuardOff – pašalinkite apsaugą

Atidaryti – išorinio įrenginio valdymo komanda

Informacija - patikrinkite būseną, atsakant į šį pranešimą, bus išsiųsta SMS žinutė su informacija apie numerį, iš kurio buvo įjungta / išjungta apsauga

Pause – pristabdo sistemą miego laiko komanda nustatytam laikui minutėmis, sistema nereaguoja į jutiklio paleidimus.

TestOn – įjungtas testavimo režimas, mirksi mėlynas šviesos diodas.
TestOff – testavimo režimas išjungtas.

LedOff – išjungia budėjimo režimo šviesos diodą.
LedOn – įjungia budėjimo režimo šviesos diodą.

Pinigai – likučio prašymas.

ClearSms – ištrinkite visas SMS žinutes iš atminties

Konsolės komandos (iki versijos GSM_2017_04_24-13-22.hex) – įvedamos į Arduino IDE prievado monitorių:

AddPhone – panašiai kaip AddPhone sms komanda

DeletePhone – panašus į komandą DeletePhone sms

EditSensor – panašiai kaip EditSensor sms komanda

ListPhone - išvestis į prievado monitorių atmintyje saugomų telefonų sąrašą

ResetConfig – panašus į ResetConfig sms komandą

ResetPhone – panašus į ResetPhone sms komandą

FullReset – panašu į SMS komandą FullReset

ClearSms – panašiai kaip ClearSms sms komanda

WatchPowerOn1 – panašus į WatchPowerOn1 SMS komandą
WatchPowerOn2 – panašus į WatchPowerOn2 SMS komandą
WatchPowerOff – panašiai kaip WatchPowerOff sms komanda

GuardButtonOn – panašiai kaip GuardButtonOn sms komanda. Pašalinta nuo versijos GSM_2017_04_16-12-00
GuardButtonOn1 – panašus į GuardButtonOn1 SMS komandą
GuardButtonOn2 – panašus į GuardButtonOn2 SMS komandą
GuardButtonOff – panašiai kaip GuardButtonOff sms komanda

Memtest - įrenginio nepastovios atminties testas, visi įrenginio nustatymai bus nustatyti iš naujo, panašiai kaip FullReset komanda.

I2CScan – palaikomų įrenginių paieška ir inicijavimas I2C magistralėje.

ListConfig – dabartinės įrenginio konfigūracijos išvestis į prievado monitorių.

ListSensor – išvestis į dabartinės jutiklio konfigūracijos prievado monitorių.

UPD. Naudojant judesio jutiklį, norint išvengti klaidingų teigiamų rezultatų modemo veikimo metu, būtina tarp smeigtukai GND ir A0 Arduino pareikšti pasipriešinimą Aciu, drauge
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") – numeriai, kuriems leidžiama valdyti saugumą.
AlarmPhone = ("70001234501", "70001234502") – SMS pranešimų siuntimo numeriai, kai jutiklis suveikia, ir pranešimai apie apsaugos išjungimą arba įjungimą. Pirmuoju sąrašo numeriu bus iškviečiamas jutiklis suaktyvinus, jei bus vykdoma komanda RingOn, pagal numatytuosius nustatymus ši parinktis įjungta. Taip daroma, nes SMS žinutės gali atvykti šiek tiek vėluojant, o skambutis turėtų vykti nedelsiant.

Jei gaunamas skambutis iš įgalioto numerio arba SMS žinutė su komanda GuardOn / GuardOff, tada, priklausomai nuo esamos apsaugos būsenos, AlarmPhone masyve nurodytais numeriais bus išsiųsta SMS žinutė apie apsaugos įjungimą arba išjungimą. SMS žinutė taip pat bus išsiųsta numeriu, iš kurio buvo skambinta.

Kai jutiklis suveikia SMS žinutės siunčiamos visais numeriais iš AlarmPhone masyvo (sąrašo), o balso skambutis atliekamas pirmuoju šio masyvo numeriu.

Šviesos indikacija:
Šviesos diodas šviečia raudonai – įjungtas.
Šviesos diodas šviečia žaliai - išjungtas, įjungtas / išjungtas SMS komanda LedOn / LedOff.
Šviesos diodas nuolat mirksi mėlynai - tai rodo, kad su Arduino viskas tvarkoje, plokštė nepakibo, naudojama tik derinimui, įjungiama / išjungiama TestOn / TestOff sms komanda.
* Kode yra funkcija LedTest () mirksi mėlynu LED, jis pagamintas tik Arduino stebėti, mirksi - reiškia veikia, nemirksi - užšalęs. Dar nepadėjau ragelio :)

Nėra svarbus!

2 ar daugiau jutiklių prijungimas prie atviros programinės įrangos (taikoma tik šiai programinės aparatinės įrangos sketch_02_12_2016.ino)
Norėdami prijungti papildomus nendrinius jutiklius, naudojame nemokamus skaitmeninius kaiščius D2, D3, D5 arba D7. Sujungimo schema su papildomu jutikliu D7.

Būtini programinės įrangos pakeitimai
... #define DoorPin 6 // Įvesties numeris, prijungtas prie pagrindinio jutiklio int8_t DoorState = 0; // Kintamasis pagrindinio jutiklio būsenai saugoti int8_t DoorFlag = 1; // Kintamasis pagrindinio jutiklio būsenai saugoti #define BackDoorPin 7 // Prie papildomo jutiklio prijungto įėjimo numeris int8_t BackDoorState = 0; // Kintamasis papildomo jutiklio būsenai saugoti int8_t BackDoorFlag = 1; // Kintamasis papildomo jutiklio būsenai saugoti...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Skaityti reikšmes iš jutiklių DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); //Pagrindinio jutiklio apdorojimas, jei (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; delsa (100); if (LedOn == 1) digitalWrite (GLed, LOW); Aliarmas (); ) if (DoorState == AUKŠTA && Durų vėliavėlė == 1) ( Durų vėliavėlė = 0; delsa (100); ) //Apdoroti papildomą jutiklį if (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; delsa (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm (); ) if (BackDoorState = = AUKŠTA && BackDoorFlag == 1)( BackDoorFlag = 0; delsa (100); ) ) ...

Ir dar kažkas:
1. Geriau naudoti diodus, skirtus 2 A srovei, nes modulis užkrečia 1 A srove ir vis tiek reikia kažkuo maitinti Arduino ir modemą. Šiuo atveju naudojami 1N4007 diodai, jei jie suges, pakeisiu juos 2 A.
2. Visus rezistorius LED naudojau 20 kOhm, kad neapšviestų visas koridorius naktį.
3. Aš taip pat pakabinau 20 kOhm rezistorių ant nendrinio jutiklio tarp GND kaiščio ir D6 kaiščio.

Tai kol kas viskas. Ačiū už dėmesį! :)

Planuoju pirkti +207 Įtraukti į adresyną Patiko apžvalga +112 +243


Kaip sukurti paprastą GSM signalizacijos sistemą SIM800L ir Arduino garažui ar kotedžui. Mes tai darome patys, remdamiesi paruoštais „Aliexpress“ moduliais. Pagrindiniai moduliai- GSM modulis SIM800L, Arduino Nano (galite naudoti bet kokį Uno ir t.t.), nuleidžiama plokštė, baterija iš Mobilusis telefonas.

Ryžiai. 1. Arduino apsaugos signalizacijos modulių išdėstymas

Signalizacija

Mes užlipame Bandomoji Lenta per blokus, kurie prireikus leis pakeisti modulius. Signalizacijos įjungimas tiekiant 4,2 voltus per SIM800L ir Arduino Nano jungiklį.



Kai suveikia pirmoji kilpa, sistema pirmiausia skambina pirmuoju numeriu, tada nutraukia skambutį ir vėl skambina antruoju numeriu. Antrasis skaičius pridedamas tik tuo atveju, jei pirmasis staiga atsijungia ir pan. Suaktyvinus antrą, trečią, ketvirtą ir penktą kilpą, SMS siunčiama su aktyvuotos zonos numeriu, taip pat dviem numeriais. Schema ir eskizas, kuriuos domina aprašymas po vaizdo įrašu.
Visą elektroniką dedame į tinkamą dėklą.



Jei jums nereikia 5 kilpų, prijunkite Arduino 5V kaištį prie jums nereikalingų įėjimų. GSM signalizacija 5 kilpoms su baterija, kuri leis įrenginiui tęsti autonominį darbą kelias dienas, nutrūkus elektrai. Prie jų galite prijungti bet kokius apsaugos kontaktų jutiklius, relinius kontaktus ir pan.. Dėl to gauname paprastą, nebrangų kompaktišką apsaugos įrenginį, skirtą SMS siuntimui ir 2 numerių rinkimui. Juo galima apsaugoti vasarnamius, butus, garažus ir kt.

Daugiau vaizdo įraše

Jo autorius norėjo pagaminti naminį, kad jis būtų pigus ir belaidis.
Šiame naminiame gaminyje naudojamas PIR judesio jutiklis, o informacija perduodama naudojant RF modulį.

Autorius norėjo naudoti infraraudonųjų spindulių modulį, bet kadangi jo diapazonas yra ribotas, be to, jis gali veikti tik matymo liniją į imtuvą, todėl jis pasirinko RF modulį, galintį pasiekti maždaug 100 metrų atstumą.


Kad lankytojams būtų patogiau peržiūrėti signalizacijos komplektą, nusprendžiau straipsnį suskirstyti į 5 etapus:
1 etapas: siųstuvo sukūrimas.
2 etapas: sukurkite imtuvą.
3 etapas: programinės įrangos diegimas.
4 etapas: Surinktų modulių testavimas.
5 etapas: korpuso surinkimas ir modulio įdėjimas į jį.

Autoriui tereikia:
- 2 plokštės ARDUINO UNO / ARDUINO MINI / ARDUINO NANO imtuvui ir siųstuvui;
- RF siųstuvo-imtuvo modulis (433 MHz);
- PIR judesio jutiklis;
- 9V baterijos (2 vnt.) ir jungtys prie jų;
- Skambutis;
- Šviesos diodas;
- Rezistorius, kurio varža 220 omų;
- Bandomoji Lenta;
- Džemperiai / laidai / džemperiai;
- Grandinės plokštė;
- Interboard kaiščių jungtys;
- Jungikliai;
- Dėklai imtuvui ir siųstuvui;
- Spalvotas popierius;
- Montavimo juosta;
- Tipo nustatymo skalpelis;
- Karštų klijų pistoletas;
- Lituoklis;
- Žnyplės / įrankis izoliacijai nuimti;
- Žirklės metalui.


1 etapas.
Pradėkime kurti siųstuvą.
Žemiau yra judesio jutiklio schema.


Pats siųstuvas susideda iš:
- Judesio jutiklis;
- Arduino plokštės;
- Siųstuvo modulis.


Pats jutiklis turi tris išėjimus:
- VCC;
- GND;
- IŠORĖS.

Po to patikrinau jutiklio veikimą


Dėmesio!!!
Prieš įkeldamas programinę įrangą, autorius įsitikina, kad dabartinė plokštė ir nuoseklusis prievadas yra teisingai nustatyti Arduino IDE nustatymuose. Tada aš įkėliau eskizą:

Vėliau, kai judesio jutiklis užfiksuos judėjimą priešais jį, užsidegs šviesos diodas, taip pat monitoriuje galėsite matyti atitinkamą pranešimą.


Pagal žemiau pateiktą diagramą.


Siųstuvas turi 3 išėjimus (VCC, GND ir Data), prijunkite juos:
- VCC > 5V išėjimas plokštėje;
- GND > GND ;
- Duomenų > 12 išvesties plokštėje.

2 etapas.


Pats imtuvas susideda iš:
- RF imtuvo modulis;
- Arduino plokštės
- Garsiakalbis (garsiakalbis).

Imtuvo schema:


Imtuvas, kaip ir siųstuvas, turi 3 išėjimus (VCC, GND ir Data), juos sujungiame:
- VCC > 5V išėjimas plokštėje;
- GND > GND ;
- Duomenų > 12 išvesties plokštėje.


3 etapas.
Autorius pasirinko bibliotekos failą kaip visos programinės įrangos pagrindą. Atsisiunčiau jį ir įdėjau į Arduino bibliotekų aplanką.

Siųstuvo programinė įranga.
Prieš įkeldamas programinės įrangos kodą į plokštę, autorius nustatė šiuos IDE parametrus:
- lenta -> Arduino Nano (arba bet kokia jūsų naudojama plokštė);
- Serijinis prievadas ->


Nustačius parametrus, autorius atsisiuntė Wireless_tx programinės įrangos failą ir įkėlė jį į plokštę:

Imtuvo programinė įranga
Autorius pakartoja tuos pačius veiksmus priimančiajai lentai:
- lenta -> Arduino UNO (arba bet kokia jūsų naudojama plokštė);
- Serial Port -> COM XX (patikrinkite prievadą, prie kurio prijungta jūsų plokštė).



Kai autorius nustato parametrus, jis atsisiunčia failą wireless_rx ir įkelia jį į plokštę:


Po to, naudodamas programą, kurią galima atsisiųsti, autorius sugeneravo garsinį signalą.

4 etapas.
Toliau, atsisiuntus programinę įrangą, autorius nusprendė patikrinti, ar viskas veikia tinkamai. Autorius pajungė maitinimo šaltinius, o ranka perbėgo prieš jutiklį ir jam pasigirdo garsinis signalas, vadinasi, viskas veikia kaip priklauso.


5 etapas.
Galutinis siųstuvo surinkimas
Pirma, autorius nupjovė išsikišusius laidus nuo imtuvo, siųstuvo, arduino plokščių ir kt.


Po to sujungiau arduino plokštę su judesio jutikliu ir RF siųstuvu, naudodamas džemperius.


Toliau autorius pradėjo gaminti siųstuvo korpusą.

Pirmiausia jis išpjovė: skylę jungikliui, taip pat apvali skylė judesio davikliui, po to priklijavau prie korpuso.




Tada autorė sulankstė spalvoto popieriaus lapą ir priklijavo atvaizdą priekiniame viršelyje, kad paslėptų vidines naminio gaminio dalis.


Po to autorius dvipuse juosta naudodamas elektroninį užpildą pradėjo kišti į korpuso vidų.



Galutinis imtuvo surinkimas
Autorius nusprendė Arduino plokštę prijungti prie plokštės gumine juostele, taip pat sumontuoti RF imtuvą.


Toliau autorius kitame korpuse išpjauna dvi skylutes, vieną – garsiakalbiui, kitą – jungikliui.


Ir lazdos.


Po to autorius ant visų detalių montuoja džemperius.




Tada autorius įdeda gatavą plokštę į korpusą ir pritvirtina dvipusiais klijais.

Šis projektas yra susijęs su sistemos, skirtos užkirsti kelią/kontroliuoti bet kokius vagių bandymus patekti į vidų, kūrimu ir tobulinimu. Sukurtame apsaugos įrenginyje naudojama GSM (Global System for Mobile Communications) technologija paremta įterptoji sistema (apima aparatinę mikrovaldiklį naudojant atvirojo kodo kodą ir gsm modemą).

Apsaugos įtaisas gali būti sumontuotas name. Įsilaužimo signalizacijos sąsajos jutiklis taip pat prijungtas prie valdikliu pagrįstos apsaugos sistemos.
Kai bandoma įsilaužti, sistema išsiunčia savininkui įspėjamąjį pranešimą (pvz., SMS). Mobilusis telefonas arba į bet kurį iš anksto sukonfigūruotą mobilųjį telefoną tolesniam apdorojimui.

Apsaugos sistema susideda iš Arduino Uno mikrovaldiklio ir standartinio SIM900A GSM/GPRS modemo. Visa sistema gali būti maitinama bet kokiu 12V 2A maitinimo šaltiniu/baterija.

Žemiau yra įjungtos apsaugos sistemos schema Arduino bazė.

Sistemos veikimas yra labai paprastas ir savaime suprantamas. Kai sistema tiekiama maitinimui, ji pereina į budėjimo režimą. Kai J2 jungties kaiščiai trumpai sutrumpinami, iš anksto užprogramuotas įspėjamasis pranešimas siunčiamas norimu mobiliojo telefono numeriu. Prie J2 įvesties jungties galite prijungti bet kokį įsibrovimo detektorių (pvz., šviesos apsaugą arba judesio detektorių). Atkreipkite dėmesį, kad aktyvus žemas (L) signalas ant jungties J2 1 kaiščio suaktyvins įsilaužimo signalizaciją.

Be to, prie sistemos buvo pridėtas pasirenkamas „skambinimo aliarmo“ įrenginys. Tai suaktyvina skambutis kai vartotojas paspaudžia mygtuką S2 (arba kai kitas elektroninis blokas inicijuoja aliarmą). Paspaudus mygtuką „Skambinti“ (S2), pokalbį galima atšaukti paspaudus kitą S3 mygtuką – mygtuką „baigti“. Ši parinktis gali būti naudojama „praleisto skambučio“ aliarmui generuoti įsibrovimo atveju.

Grandinė yra labai lanksti, todėl gali naudoti bet kurį SIM900A modemą (ir, žinoma, Arduino Uno plokštę). Prieš montuodami atidžiai perskaitykite modemo dokumentaciją. Tai palengvins ir padarys sistemos gamybos procesą malonų.

Radijo elementų sąrašas

Paskyrimas Tipas Denominacija Kiekis PastabaRezultatasMano užrašų knygelė
Arduino lenta

Arduino Uno

1 Į užrašų knygelę
GSM/GPRS modemasSIM900A1 Į užrašų knygelę
IC1 Linijinis reguliatorius

LM7805

1 Į užrašų knygelę
C1 100uF 25V1 Į užrašų knygelę
C2 elektrolitinis kondensatorius10uF 16V1 Į užrašų knygelę
R1 Rezistorius

1 kOhm

1 Į užrašų knygelę
LED1 Šviesos diodas 1 Į užrašų knygelę
S1 MygtukasSu fiksavimu1

Laba diena 🙂 Šiandien kalbėsime apie signalizaciją. Paslaugų rinkoje pilna firmų, organizacijų, kurios diegia ir prižiūri apsaugos sistemas. Šios firmos siūlo pirkėjui Platus pasirinkimas signalizacija. Tačiau jų kaina toli gražu nėra pigi. Bet ką daryti su žmogumi, kuris neturi tiek daug asmeninių lėšų, kurias būtų galima išleisti signalizacija? Manau, kad išvada rodo pati save daryti signalizacija rankas. Šis straipsnis yra pavyzdys, kaip galite sukurti savo koduotą apsaugos sistemą naudodami Arduino uno plokštę ir kai kuriuos magnetinius jutiklius.

Sistemą galima išjungti klaviatūra įvedus slaptažodį ir paspaudus „ * ‘. Jei norite pakeisti dabartinį slaptažodį, tai galite padaryti paspausdami „ B“, ir jei norite praleisti arba nutraukti operaciją, galite tai padaryti paspausdami klavišą ‘#’. Sistema turi garsinį signalą, leidžiantį leisti skirtingus garsus, kai atliekama tam tikra operacija.

Sistema įjungiama paspaudus „A“ mygtuką. Sistema suteikia 10 sekundžių išeiti iš kambario. Po 10 sekundžių įsijungia žadintuvas. Magnetinių jutiklių skaičius priklausys nuo jūsų savo norą. Projekte buvo naudojami 3 jutikliai (dviem langams ir durims). Atidarius langą, sistema įsijungia ir įjungiamas garsinis signalas. Sistemą galima išjungti įvedus slaptažodį. Kai durys atsidaro, signalizacija suteikia asmeniui, kuris įeina, 20 sekundžių įvesti slaptažodį. Sistema naudoja ultragarsinį jutiklį, galintį aptikti judesį.

Vaizdo įrašas apie įrenginį

amatas Sukurta informaciniais / edukaciniais tikslais. Jei norite jį naudoti namuose, turėsite jį modifikuoti. Uždėkite valdymo bloką metalinis korpusas ir apsaugokite maitinimo liniją nuo galimo pažeidimo.

Pradėkime!

1 veiksmas: ko mums reikės

  • lenta Arduino uno;
  • didelio kontrasto LCD ekranas 16×2;
  • klaviatūra 4×4;
  • 10~20kΩ potenciometras;
  • 3 magnetiniai jutikliai (jie taip pat yra nendriniai jungikliai);
  • 3 2 kontaktų varžtų gnybtai;
  • HC-SR04 ultragarsinis jutiklis;

Jei norite sukurti sistemą nenaudodami „Arduino“, jums taip pat reikės:

  • DIP antraštė atmega328 + mikrovaldiklis atmega328;
  • 16MHz kvarcinis rezonatorius;
  • 2 vnt. 22pF keramika, 2 vnt. 0,22uF elektrolitinis kondensatorius;
  • 1 PC. 10kΩ rezistorius;
  • maitinimo lizdas (DC maitinimo lizdas);
  • Bandomoji Lenta;
  • 5V maitinimo šaltinis;

Ir viena dėžutė viskam supakuoti!

Instrumentai:

  • Kažkas, kas gali perpjauti plastikinę dėžę;
  • Karšto klijų pistoletas;
  • Grąžtas / atsuktuvas.

2 veiksmas: aliarmo schema

Ryšio schema yra gana paprasta.

Nedidelis paaiškinimas:

Didelio kontrasto LCD:

  • Pin1 – Vdd į GND
  • Pin2 - Vss iki 5V;
  • Pin3 - Vo (į centrinę potenciometro išvestį);
  • Pin4 - RS į Arduino kaištį 8;
  • Pin5 – RW į GND
  • Pin6 - EN į Arduino kaištį 7;
  • Pin11 - D4 į Arduino kaištį 6;
  • Pin12 - D5 iki Arduino kaiščio 5;
  • Pin13 - D6 į Arduino kaištį 4;
  • Pin14 - D7 į Arduino kaištį 3;
  • Pin15 - Vee (dešinėje arba kairėje potenciometro išvesties pusėje).

4 × 4 klaviatūra:

Iš kairės į dešinę:

  • Pin1 iki A5 Arduino kaištis;
  • Pin2 į A4 Arduino kaištis;
  • Pin3 į Arduino kaištį A3;
  • Pin4 į Arduino kaištį A2;
  • Pin5 į Arduino kaištį 13;
  • Pin6 į Arduino kaištį 12;
  • Pin7 į Arduino kaištį 11;
  • Pin8 į Arduino kaištį 10.

3 veiksmas: programinė įranga

Veiksmas rodo kodą, kurį naudoja įtaisytasis !

Atsisiųskite „codebender“ papildinį. Spustelėkite mygtuką „Vykdyti“ „Arduino“ ir paleiskite lentą naudodami šią programą. Tai viskas. Jūs ką tik užprogramavote Arduino! Jei norite pakeisti kodą, spustelėkite mygtuką „Redaguoti“.

Pastaba: jei programavimui nenaudosite Codebender IDE arduino plokštės, turėsite įdiegti papildomų bibliotekų Arduino IDE.

4 veiksmas: savo valdymo plokštės kūrimas

Sėkmingai sukūrę ir išbandę naują Arduino uno projektą, galėsite pradėti kurti savo lentą.

Keletas patarimų, kaip sėkmingiau įvykdyti įsipareigojimą:

  • 10 kΩ rezistorius turi būti prijungtas tarp Atmega328 mikrovaldiklio 1 kontakto (reset) ir 7 (Vcc).
  • 16MHz kristalas turi būti prijungtas prie 9 ir 10 kaiščių, pažymėtų XTAL1 ir XTAL2
  • Kiekvieną rezonatoriaus laidą prijunkite prie 22pF kondensatorių. Laisvus kondensatorių laidus prijunkite prie mikrovaldiklio 8 kaiščio (GND).
  • Nepamirškite prijungti antrosios ATmega328 maitinimo linijos prie maitinimo šaltinio, kaiščių 20-Vcc ir 22-GND.
  • Papildomos informacijos apie mikrovaldiklio kaiščius rasite antrame paveikslėlyje.
  • Jei planuojate naudoti maitinimo šaltinį, kurio įtampa didesnė nei 6V, turite naudoti linijinį reguliatorių LM7805 ir du 0,22uF elektrolitinius kondensatorius, kurie turėtų būti montuojami reguliatoriaus įėjime ir išėjime. Svarbu! Nejunkite prie plokštės daugiau nei 6V!!! Priešingu atveju sudeginsite savo Atmega mikrovaldiklį ir LCD ekraną.

5 veiksmas: įdėkite grandinę į dėklą