O alarmă simplă de lumină și sunet pe arduino. Alarma de acasă sau folosind un senzor de mișcare și un monitor LCD cu Arduino. Cum se realizează o alarmă de securitate GSM utilizând modulul SIM800L și Arduino, descrierea lucrării

În ultimul deceniu, furturile de mașini au ocupat unul dintre cele mai importante locuri în structura infracțiunilor comise în lume. Acest lucru se datorează nu atât gravității specifice acestei categorii de furturi raportat la numărul total de infracțiuni, cât și semnificației prejudiciului cauzat din cauza costului ridicat al mașinilor. Eficacitatea slabă a măsurilor luate în domeniul combaterii furtului de vehicule până la sfârșitul anilor 90 a dus la crearea unor grupuri stabile specializate în săvârșirea acestor infracțiuni și deținerea trăsături distinctive crima organizată; Probabil ați auzit termenul „afaceri auto negre”. Parcului auto din țările europene îi lipsesc anual ≈ 2% dintre mașinile care devin subiect de atacuri criminale. Prin urmare, mi-a venit ideea de a face o alarmă GSM pentru mașina mea Bazat pe Arduino O.N.U.

Sa incepem!

De la ce vom colecta?

Trebuie să alegem inima sistemului nostru. După părerea mea, pentru o astfel de semnalizare nu există nimic mai bun decât Arduino Uno. Criteriul principal este un număr suficient de „pini” și preț.


Caracteristicile cheie ale Arduino Uno

Microcontroler - ATmega328
Tensiune de funcționare - 5 V
Tensiune de intrare (recomandată) - 7-12 V
Tensiune de intrare (limită) - 6-20 V
Intrări/Ieșiri digitale - 14 (dintre care 6 pot fi folosite ca ieșiri PWM)
Intrări analogice - 6
Curent constant prin intrare/ieșire - 40 mA
Curent constant pentru ieșire 3.3V - 50mA
Memorie flash - 32 KB (ATmega328) din care 0,5 KB sunt folosiți pentru bootloader
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Frecvența ceasului - 16 MHz


Se potrivește!

Acum trebuie să selectați un modul GSM, deoarece sistemul nostru de alarmă trebuie să poată anunța proprietarul mașinii. Deci, trebuie să-l căutați pe Google... Aici, un senzor excelent - SIM800L, dimensiunea este pur și simplu minunată.


M-am gândit și l-am comandat din China. Totuși, totul s-a dovedit a nu fi atât de roz. Senzorul a refuzat pur și simplu să înregistreze cartela SIM în rețea. S-a încercat tot posibilul - rezultatul a fost zero.
Găsite oameni buni care mi-a oferit mai mult misto lucru- Sim900 Shield. Acum, acesta este un lucru serios. Shield are atât un microfon, cât și o mufă pentru căști, ceea ce îl face un telefon cu drepturi depline.


Caracteristici cheie ale Sim900 Shield

4 standarde de frecventa de operare 850/ 900/ 1800/ 1900 MHz
GPRS multi-slot clasa 10/8
Stație mobilă GPRS clasa B
Conform cu GSM faza 2/2+
Clasa 4 (2 W @850/900 MHz)
Clasa 1 (1 W @ 1800/1900MHz)
Control folosind comenzi AT (GSM 07.07, 07.05 și comenzi AT extinse SIMCOM)
Consum redus de energie: 1,5 mA (mod inactiv)
Interval de temperatură de funcționare: -40°C până la +85°C


Se potrivește!

Ok, dar trebuie să luați citiri de la unii senzori pentru a anunța proprietarul. Dacă mașina este tractată, atunci poziția mașinii se va schimba evident în spațiu. Să luăm un accelerometru și un giroscop. Grozav. Ok, acum căutăm un senzor.

Cred că GY-521 MPU6050 se va potrivi cu siguranță. S-a dovedit că are și senzor de temperatură. Ar trebui să-l folosim și noi, va exista o astfel de „funcție ucigașă”. Să presupunem că proprietarul mașinii a parcat-o sub casa lui și a plecat. Temperatura din interiorul mașinii se va schimba „liniște”. Ce se întâmplă dacă un intrus încearcă să pătrundă în mașină? De exemplu, el va putea deschide ușa. Temperatura din mașină va începe să se schimbe rapid pe măsură ce aerul din cabină începe să se amestece cu aerul mediu inconjurator. Cred că va funcționa.


Principalele caracteristici ale GY-521 MPU6050

Giroscop cu 3 axe + modul accelerometru cu 3 axe GY-521 pe cip MPU-6050. Vă permite să determinați poziția și mișcarea unui obiect în spațiu, viteza unghiulară în timpul rotației. Are și un senzor de temperatură încorporat. Este utilizat în diferite modele de aeronave și avioane; pe baza acestor senzori poate fi asamblat și un sistem de captare a mișcării.

Chip - MPU-6050
Tensiune de alimentare - de la 3,5V la 6V (DC);
Interval giroscop - ±250 500 1000 2000°/s
Gama accelerometrului - ±2±4±8±16g
Interfață de comunicare - I2C
Dimensiune - 15x20 mm.
Greutate - 5 g


Se potrivește!

Un senzor de vibrații va fi, de asemenea, la îndemână. Deodată încearcă să deschidă mașina cu „forță brută”, sau în parcare o altă mașină îți lovește mașina. Să luăm senzorul de vibrații SW-420 (reglabil).


Principalele caracteristici ale SW-420

Tensiune de alimentare - 3,3 - 5V
Semnal de ieșire - digital High/Low (normal închis)
Senzor folosit - SW-420
Comparatorul folosit este LM393
Dimensiuni - 32x14 mm
În plus - există o rezistență de reglare.


Se potrivește!

Înșurubați modulul cardului de memorie SD. Vom scrie și un fișier jurnal.


Principalele caracteristici ale modulului cardului de memorie SD

Modulul vă permite să stocați, să citiți și să scrieți pe un card SD datele necesare funcționării unui dispozitiv bazat pe un microcontroler. Utilizarea dispozitivului este relevantă atunci când se stochează fișiere de la zeci de megaocteți la doi gigaocteți. Placa conține un container pentru card SD, un stabilizator de putere pentru card și un conector pentru interfața și liniile de alimentare. Dacă trebuie să lucrați cu date audio, video sau alte date la scară largă, de exemplu, să păstrați un jurnal al evenimentelor, datele senzorului sau să stocați informații despre serverul web, atunci modulul cardului de memorie SD pentru Arduino va face posibilă utilizarea unui card SD în aceste scopuri. Folosind modulul, puteți studia caracteristicile cardului SD.
Tensiune de alimentare - 5 sau 3,3 V
Capacitate de memorie card SD - până la 2 GB
Dimensiuni - 46 x 30 mm


Se potrivește!

Și să adăugăm un servo drive; când senzorii sunt declanșați, servo drive-ul cu video recorder se va întoarce și va filma un videoclip al incidentului. Să luăm servomotor MG996R.


Principalele caracteristici ale Servo Drive MG996R

Stabil și protecţie fiabilă din daune
- Unitate de metal
- Rulment cu bile cu doua randuri
- Lungimea firului 300 mm
- Dimensiuni 40x19x43mm
- Greutate 55 g
- Unghi de rotatie: 120 grade.
- Viteza de funcționare: 0,17 sec/60 grade (4,8 V fără sarcină)
- Viteza de functionare: 0,13 sec/60 grade (6V fara sarcina)
- Cuplu de pornire: 9,4 kg/cm la sursa de alimentare de 4,8 V
- Cuplu de pornire: 11kg/cm la sursa de alimentare 6V
- Tensiune de operare: 4,8 - 7,2V
- Toate piesele de antrenare sunt realizate din metal


Se potrivește!

Colectăm

Există un număr mare de articole pe Google despre conectarea fiecărui senzor. Și nu am chef să inventez biciclete noi, așa că voi lăsa link-uri către opțiuni simple și funcționale.

Primăvara, după cum știți, este însoțită de tot felul de agravări, iar acum principala „exacerbare” a ieșit din găuri pe stradă pentru a-și însuși ceea ce nu-i aparține. Aceasta înseamnă că subiectul protejării proprietății tale devine mai relevant ca niciodată.
Site-ul are deja câteva recenzii ale celor de casă. Ele sunt desigur funcționale, dar toată lumea are caracteristică generală- dependenta de priza. Dacă aceasta nu este o problemă cu o proprietate în care electricitatea este deja furnizată, atunci cum rămâne cu o proprietate în care priza este departe sau zona înconjurătoare este complet dezactivată? Am decis să iau o altă cale - să asamblam un dispozitiv cu durată lungă de viață, cât se poate de simplu și independent de alimentarea de la rețea, care va dormi tot timpul, iar când hoții vor intra, va porni și va suna telefonul proprietarului, semnalizarea cu un simplu apel de alarma.

Examinați articolele

Cumparat:
1. Tabla de paine o singură față 5x7 cm: getinaks- sau fibra de sticla
* - fibra de sticla este de o calitate mult mai buna decat getinax.
2. Modul Neoway M590 - cu antenă pe PCB -
3. Arduino Pro Mini "RobotDyn" ATmega168PA 8MHz 3.3V -
4. Placă de control cu ​​litiu încărcare-descărcare -

Minat din ruinele civilizației:
1. Rafturi pentru plăci, tăiate din carcasele dispozitivelor - 6 buc.
2. Baterie litiu plată 1300mAh
3. Capse folosite pentru a fixa cablul de perete
4. Radieră de papetărie
5. Sârmă de cupru grosime 1,5 mm
6. Carcasa instrumentelor de pe piața locală de radio - 1.5$
7. Pereche de LED-uri culoare diferita(preluat de pe playerul VHS)
8. Antenă și buton cu capac (preluate de la routerul Wi-Fi)
9. Bloc terminal cu 4 pini (preluat de la variator)
10. Conector de alimentare (preluat de la un încărcător vechi pentru 18650)
11. Conector cu 6 pini (preluat de pe unitatea DVD)
12. conserve (cutie de cafea, de exemplu)

Arduino Pro Mini "RobotDyn" Atmega 168PA 3.3V 8MHz

Specificații:
Microcontroler: ATmega168PA
Tensiune directa de functionare:.8 - 5.5 V
Tensiune de lucru prin stabilizatorul LE33: 3,3 V sau 5 V (în funcție de model)
Temperatura de lucru:-40°C... 105°C
Tensiune de intrare: 3,35-12 V (model 3,3 V) sau 5-12 V (model 5 V)
Intrări/ieșiri digitale: 14 (dintre care 6 pot fi folosite ca ieșiri PWM: 3, 5, 6, 9, 10 și 11)
Intrări analogice: 6
Temporizatoare-contoare: două pe 8 biți și una pe 16 biți
Moduri de economisire a energiei: 6
Curent DC prin intrare/ieșire: 40 mA
Memorie flash: 16 KB (2 utilizate pentru bootloader)
RAM: 1 KB
EEPROM: 512 octeți
Resursă de înregistrare/ștergere în memorie: 10.000 Flash/100.000 EEPROM
Frecvența ceasului: 8 MHz (model 3,3 V) sau 16 MHz (model 5 V)
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C: A4 (SDA) și A5 (SCL)
UART TTL: 0 (RX) și 1 (TX)
Fișa cu date:

Alegerea a căzut pe acest atmega complet din întâmplare. Pe un forum în care s-au discutat proiecte eficiente din punct de vedere energetic, în comentarii au existat sfaturi de utilizare a celui de-al 168-lea atmega.
Cu toate acestea, a trebuit să mă chinuiesc pentru a găsi o astfel de placă, deoarece destul de des toate loturile erau umplute cu 328 atmeg la o frecvență de 16 MHz, care funcționează de la 5V. Pentru proiectul meu, astfel de caracteristici au fost redundante și incomode încă de la început, iar căutarea a devenit mai complicată.
Drept urmare, am dat peste o versiune Pro Mini de 3,3 volți pe Atmega 168PA pe eBay și nu doar una simplă chinezească, ci sub marca RobotDyn de la un dezvoltator rus. Da, la început, ca și tine, am avut și eu un sâmbure de îndoială. Dar în zadar. Când proiectul a fost deja asamblat și AliExpress a introdus livrarea obligatorie cu plată pentru bunuri ieftine (după care coletele au început să se piardă mult mai des), ulterior am comandat un Pro Mini Atmega168 obișnuit (fără PA) 3,3V 8MHz. Am experimentat puțin cu moduri de economisire a energiei cu ambele plăci, introducând o schiță specială în fiecare care a pus microcontrolerul în modul de economisire maximă a energiei și iată ce a ieșit:
1) Arduino Pro Mini „RobotDyn”: ~250µA
2) Arduino Pro Mini „NoName”: atunci când stabilizatorul de tensiune este alimentat (pin RAW) și LED-ul este lipit, consumul de curent este ~3,92 mA




- după cum înțelegeți, diferența de consum de energie este de aproape 16 ori, totul pentru că NoName's Pro Mini folosește o combinație Atmega168+, din care MK însuși mănâncă doar 20uA curent (am verificat acest lucru separat), restul lăcomiei este reprezentat de convertorul liniar de tensiune AMS1117 - fișa de date confirmă doar acest lucru:


În cazul plăcii de la RobotDyn, combinația este oarecum diferită - acesta este Atmega168PA+ - aici se folosește un stabilizator LDO diferit, ale cărui caracteristici în ceea ce privește economisirea energiei s-au dovedit a fi mai plăcute:


Nu l-am dezlipit, așa că nu pot spune cât de mult curent consumă Atmega168PA formă pură. ÎN în acest caz, Am avut destul ~250µA când este alimentat de Nokia baterie cu litiu. Cu toate acestea, dacă dezlipiți AMS1117 de pe placa de bază NoName", atunci ATmega168 obișnuit, în forma sa pură, așa cum am spus mai sus, consumă 20uA.
LED-urile cu sursă de alimentare pot fi dezactivate cu ceva ascuțit. Nu este o problemă. Stabilizatorul a fost deslipit cu un uscător de păr. Cu toate acestea, nu toată lumea are un uscător de păr și abilitățile de a lucra cu el, așa că ambele opțiuni de mai sus au dreptul de a exista.

Modul Neoway M590E

Specificații:
Frecvente: EGSM900/DCS1800 Dual-band, sau GSM850/1900 sau Quad-band
Sensibilitate:-107dBm
Puterea maximă de transmisie: EGSM900 Clasa 4(2W), DCS1800 Clasa 1(1W)
Curent de vârf: 2A
Curent de lucru: 210mA
Curent de somn: 2,5 mA
Temperatura de lucru:-40°C... +85°C
Tensiune de operare: 3,3 V…4,5 V (recomandat 3,9 V)
Protocoale: GSM/GPRS Phase2/2+, TCP/IP, FTP, UDP etc.
Internet: GPRS CLASA 10
Fișa cu date:

Cel mai ieftin modul GSM care se gaseste pe piata, folosit de obicei, lipit nu intotdeauna de priceput cu mâinile chinezești din echipamente. De ce nu întotdeauna abil? Da, totul din cauza deslipirii cu un uscător de păr - adesea oamenii primesc aceste module cu plus și minus scurtcircuitati, care este unul dintre motivele inoperabilității lor. Prin urmare, primul pas este să verificați contactele de alimentare pentru un scurtcircuit.

Notă. Aș dori să remarc un punct important separat, în opinia mea, că aceste module pot veni cu un conector coaxial rotund pentru antenă, care vă permite să comandați separat o antenă mai serioasă și să o conectați la modul fără să dansați cu o tamburină. Sau pot veni fără acest conector. Asta dacă vorbim despre cele mai ieftine seturi. Dacă nu doriți să vă bazați pe un accident fericit, atunci există seturi puțin mai scumpe în care este prezent acest conector + kit-ul include o antenă externă pe o placă de textolit.

Acest modul este și capricios când vine vorba de alimentare, deoarece la vârf consumă până la 2A curent, iar dioda inclusă în kit pare a fi concepută pentru a scădea tensiunea de la 5V (de aceea scrie 5V pe placă în sine. ) la 4,2 V, dar judecând după Conform plângerilor oamenilor, creează mai multe probleme decât merită.
Să presupunem că ați asamblat deja acest modul și, în loc de o diodă, este lipit un jumper, deoarece nu îi vom furniza o tensiune de 5V, ci îl vom alimenta direct de la o baterie cu litiu, care este în limitele permise. limite de tensiune de 3,3-4,2V.
Va fi necesar să îl conectați cumva la computer și să verificați funcționalitatea. Pentru acest caz, este mai bine să cumpărați unul pentru dvs. în avans - prin intermediul acestuia vom comunica cu modulul și plăcile Arduino prin interfața serială UART (USART).
Conexiunea este prezentată mai jos în imagine (am desenat-o cât am putut de bine):
Modem TX >>> Convertor RX
modem RX<<< TX конвертера
Baterie plus - Modem plus
Negativul bateriei cu litiu este combinat cu GND-ul modemului și GND-ul convertorului
Pentru a porni modemul, aplicați pinul BOOT printr-un rezistor de 4,7 kOhm la GND


Între timp, rulați programul pe computer. Acordați atenție setărilor:
1) Selectați portul COM la care este conectat convertorul TTL, în cazul meu este COM4, ​​al dvs. poate fi diferit.
2) Selectați viteza de transfer de date. (Există o nuanță aici, deoarece modulele în sine pot fi configurate pentru viteze diferite, cel mai adesea 9600 baud sau 115200 baud. Aici trebuie să o selectezi empiric, alegând o anumită viteză, conectând și trimițând comanda AT, dacă apar fisuri ca răspuns, apoi se va deconecta, selecta o viteză diferită și repetă comanda și așa mai departe până când răspunsul este OK).
3) Selectați lungimea pachetului (în acest caz 8 biți), bit de paritate dezactivat (nici unul), bit de oprire (1).
4) Asigurați-vă că bifați caseta +CR, iar apoi va fi adăugat automat un caracter de întoarcere la cărucior la fiecare comandă pe care o trimitem la modul la sfârșit - modulul înțelege comenzile doar cu acest caracter la sfârșit.
5) Conexiune, totul este clar aici, faceți clic și putem lucra cu modulul.

Dacă faceți clic pe „Conexiune” și apoi porniți modulul prin aplicarea BOOT printr-un rezistor de 4,7K la masă, atunci mai întâi terminalul va afișa inscripția „MODEM:STARTUP”, apoi, după un timp, inscripția „+PBREADY”, ceea ce înseamnă că numărul de telefon a fost citit în carte, chiar dacă poate fi gol:

Sub acest spoiler sunt comenzi AT cu exemple

Imprimăm comanda AT - ca răspuns, modulul ne trimite comanda noastră, deoarece modul ecou este activat și OK:

Să verificăm starea modemului cu comanda AT+CPAS - răspunsul este din nou comanda noastră, +CPAS: 0 și OK.
0 înseamnă că modulul este gata de funcționare, dar în funcție de situație pot exista și alte numere, de exemplu 3 – apel primit, 4 – în modul de conectare, 5 – modul de repaus. Nu am găsit nicio informație la 1 și 2.

Modificarea ratei de transfer de date prin UART se face cu comanda AT+IPR=9600 - asta dacă aveți nevoie de o viteză de 9600. Dacă altceva, similar cu AT+IPR=19200, de exemplu, sau AT+IPR=115200.

Să verificăm semnalul rețelei. AT+CSQ, răspunsul vine +CSQ: 22.1 - valoarea înainte de virgulă zecimală are un interval de 0... 31 (115... 52 dBl) - acesta este nivelul semnalului, cu cât mai mare, cu atât mai bine. Dar 99 înseamnă absența lui. Valoarea după virgulă zecimală este calitatea semnalului 0... 7 - aici este invers, cu cât numărul este mai mic, cu atât mai bine.

Să dezactivăm modul ecou trimițând comanda ATE0, astfel încât comenzile duplicate să nu interfereze. Acest mod este repornit folosind comanda ATE1.

Vizualizați versiunea de firmware AT+GETVERS



Acestea și multe alte comenzi pot fi vizualizate

Alinierea plăcilor

Dacă lipirea lui Pro Mini la o placă nu este dificilă, atunci cu modulul GSM situația este ceva mai complicată, deoarece Pieptenele său de contact este situat doar pe o parte, iar dacă îl lipiți doar, atunci cealaltă parte a plăcii va atârna pur și simplu în aer. Apoi, din nou, a trebuit să forez încă 3 găuri cu ochiul lângă cele trei colțuri de pe tablă. Zonele din jurul fiecăreia dintre găuri au fost apoi mascate. Pentru comoditate, am așezat cablurile deconectate de la pieptene pe o placă fără lipire (albă) și, instalând placa modulului GSM pe ele, le-am lipit în mod normal:

Mai târziu a trebuit să mai fac o gaură, în cazul meu pe litera „I”, unde scrie „Made In China”, de la marginea tablei.


S-a dovedit că contactul adăugat, care este în esență GND, s-a situat lângă GND al plăcii Pro Mini și, astfel, a devenit posibilă conectarea la masă a modulului GSM și a Pro Mini cu o picătură de lipire (cel lung pin în mijloc și pinul Pro Mini în dreapta) - le-am marcat cu săgeți. Desigur, s-a dovedit puțin strâmb, dar acum ține bine:



A mai rămas ceva spațiu între plăci - în ea am plasat o placă de control al încărcării cu descărcări de litiu cu un conector microUSB pre-lidat și fire lipite.

Esarfa se potrivește foarte strâns acolo, iar strălucirea LED-urilor din lateral va fi vizibilă clar printr-un mic orificiu din carcasă.



Rafturi de carduri

Pentru a monta în siguranță placa în interiorul carcasei, a trebuit să petrec câteva zile gândindu-mă la cum ar putea fi implementat acest lucru. Opțiunea cu adeziv topit la cald nu a fost luată în considerare din mai multe motive - s-ar putea desprinde, se poate deforma și, cel mai important, structura ar fi dificil de dezasamblat.
Am ajuns la concluzia că cea mai simplă și corectă variantă de aici ar fi să folosesc standuri, pe care firește nu le aveam. Cu toate acestea, au existat câteva încărcătoare care nu funcționează, din care a fost tăiat un suport lung cu filet pentru șuruburi autofiletante. Fiecare suport a fost tăiat în jumătate și așezat până la aproximativ 9,5 mm - la această înălțime bateria situată sub placă are o marjă suficientă de aproximativ 2 mm - acest lucru se face astfel încât contactele lipite ale plăcii cu vârfurile lor să facă nu-l atingeți și astfel încât să fie posibil să puneți o bucată între ele spumă pentru fixare.
Cât despre atașarea plăcii direct la carcasă, aici am tăiat patru benzi dintr-o cutie de cafea, am făcut o gaură la capete, apoi le-am fixat pe aceleași șuruburi care sunt înșurubate în rafturi. Vedeți în fotografia de mai jos cum arată.
Următorul pas este să înșurubați câteva suporturi pe cealaltă parte a plăcii, adică deasupra, astfel încât atunci când carcasa este închisă, capacul să se sprijine ușor pe aceste suporturi, creând o fixare suplimentară. Puțin mai târziu, în acest scop, am dat peste o locuință de la un radio de propagandă sovietică (dacă ar fi fost găsită mai devreme, aș fi luat toate tribunele de aici), unde am găsit câteva înălțimi mai mult sau mai puțin potrivite, dar mai întâi le-am găurit în centru cu un burghiu sub șuruburi autofiletante Apoi le-am tăiat și le-am terminat cu o pilă, îndepărtând excesul. Aici am venit cu o subtilitate - în fotografie puteți vedea că un suport alb este înșurubat pe placa getinaks de la margine, iar celălalt alb este înșurubat direct pe placa modulului, deoarece de pe o margine placa de modem acoperă complet placa de jos, iar de pe marginea opusă - dimpotrivă - cea de jos iese deja cu privirea. În același timp, în ambele plăci a trebuit să se facă găuri suplimentare, astfel încât capetele șuruburilor să poată trece liber.
Și, în sfârșit, rămâne să ne asigurăm că placa este întotdeauna paralelă cu corpul - capsele care sunt folosite pentru a fixa firele și cablurile pe perete sunt perfecte pentru această sarcină; anterior am îndepărtat cuiele de pe ele. Parantezele se agață bine de placa cu partea concavă fără dispozitive suplimentare, singurul lucru este în dreapta cartelei SIM, lățimea suportului s-a dovedit a fi excesivă și a trebuit și eu să-l șlefuiesc.
Toate detaliile au fost ajustate cu ochi și experimental, mai jos este o fotografie cu toate cele de mai sus:



Conectori. LED-uri. Buton.

Din moment ce am rămas fără pieptene, a trebuit să scot conectorul cu 6 pini de pe placa unității DVD, pe care l-am lipit apoi la Pro Mini, asta pentru confortul de a flash-a placa. În apropiere am lipit un conector rotund (Nokiev 3.5mm) pentru încărcarea cu litiu.

Corpul conectorului cu 6 pini a fost ușor finisat cu o pilă, deoarece marginile sale ieșeau ușor deasupra corpului. Priza de încărcare se potrivește perfect pe peretele carcasei.

Pe cealaltă parte a plăcii, am lipit un buton pentru a reporni dispozitivul și două LED-uri pentru depanarea firmware-ului - LED-ul roșu este conectat la modulul GSM, al doilea LED verde este conectat la al 10-lea pin al Pro Mini - este mai ușor pentru mine să depanez programul.

Modificarea bateriei

Bateria descărcată Nokia de la telefoanele Nokia nu este mai puțin obișnuită decât 18650, dar mulți pur și simplu refuză să o folosească din cauza inconvenientului de a conecta contactele, care sunt încastrate adânc în baterie în sine. Nu este de dorit să le lipiți, așa că s-a decis să folosiți metoda propusă de aceștia, și anume, să faceți singur un bloc de contact dintr-o gumă de birou și sârmă de cupru (1,5 mm grosime).
În primul rând, am străpuns o bucată de radieră cu două fire cu capete pre-decupate și le-am ajustat la contactele bateriei, astfel încât distanța dintre ele să coincidă,
Am îndoit capetele, le-am cositor cu un fier de lipit și le-am tras ușor înapoi de capetele lungi, astfel încât contactele rezultate să fie îngropate în radiera.



Încercarea unei baterii:

Puteți fixa blocul de contact cu o bandă de cauciuc sau îl puteți înfășura cu bandă electrică albastră, ceea ce am făcut până la urmă.

Asamblare.

Partea principală a lucrării este gata, tot ce rămâne este să o asamblați și să o înregistrați.
Am pus o bucata de cauciuc spumant intre baterie si placa pentru a nu se misca ulterior in interiorul carcasei. Am lipit suplimentar un condensator de 2200 µF pentru a alimenta modulul.

Când încărcarea este conectată:

Cadru. Bloc de borne extern.

Carcasa era disponibilă pe piața locală de radio pentru aproximativ 1,5 dolari, dacă era convertită în dolari, măsurând 95x60x25mm, aproape de dimensiunea unui pachet de țigări. Am făcut mai multe găuri în el. În primul rând, pentru blocul de borne cu 4 pini, preluat dintr-un dimmer care nu funcționează.
Am eliberat complet cele două contacte exterioare de șuruburi cu distanțiere, găuri găurite pentru șuruburi mai lungi, care vor ține întreg blocul terminal pe corp. Pe carcasă în sine, cele două găuri exterioare vor fi mari, iar cele două din mijloc vor fi mai mici - vor avea contacte filetate prin ele, dintre care unul este conectat la VCC Pro Mini, iar al doilea contact la pin. 2.

Forarea găurilor, deși o sarcină simplă la prima vedere, este totuși nu mai puțin laborioasă, este foarte ușor de ratat, așa că am făcut-o mai întâi cu un burghiu de diametru mai mic, apoi cu unul mai mare.

Pentru butonul de tact am ales o șapcă cu vârful ușor concav, astfel încât să fie ușor de ajuns cu un chibrit sau o agrafă prin orificiul îngust din carcasă.

Placă într-o carcasă cu un cablu convertor USB-TTL conectat:

Despre antena.
Antena, după cum probabil ați observat de-a lungul recenziei, se schimba constant pe măsură ce am experimentat cu diferite antene de casă. Inițial, a fost un conector coaxial rotund pe placa modulului, dar a cincea oară când a fost folosit pentru o antenă externă, pur și simplu s-a destramat, așa că rețineți că este slab. Ca urmare, am rupt antena de pe PCB de pe vechiul router și am lipit-o pe placa modulului, pentru că... prinde plasa putin mai bine decat arcul si sarma.

Ei bine, complet asamblat cu încărcarea conectată, arată astfel:

Test. Cum functioneaza:

Pe langa testele cu antene, am verificat si cum s-ar comporta alarma afara, pe ger -15. Pentru a face acest lucru, am așezat pur și simplu întregul interior într-un recipient și am lăsat-o pe balcon peste noapte, alarma nu a pornit, motivul s-a dovedit a fi în general evident - litiul nu-i place înghețul. Acest lucru a fost confirmat de un alt test, unde am lăsat bateria acasă, și am scos placa afară prin fire lungi și am lăsat-o așa o zi în același ger - a funcționat de parcă nimic nu s-ar fi întâmplat. Pe de altă parte, ar fi ciudat dacă alarma nu ar funcționa pentru că... În fișele tehnice pentru Atmega, pentru module și pentru cuarț, temperaturile de funcționare admise sunt de până la -40 de grade.

Principiul de funcționare este organizat folosind o întrerupere externă, inițial pinul 2 este închis la VCC și astfel logicul 1 este menținut la pin, iar controlerul este adormit. De îndată ce contactul este rupt și apare 0 pe pinul 2, microcontrolerul se trezește, coboară al 3-lea pin (la care BOOT-ul modemului este conectat printr-un rezistor) la masă - modulul pornește, MK-ul interogează periodic modulul pentru pregătire și de îndată ce prinde rețeaua, trimite imediat un apel către numărul de telefon al proprietarului specificat în cod. După respingerea apelului, dispozitivul se oprește fără a mai trimite apeluri nesfârșite, ceea ce este problema multor sisteme de alarmă chinezești.

Informații suplimentare

#include #include // Biblioteca de software UART SoftwareSerial gsm(7, 6); // RX(7), TX(6) void wakeUp()() // handler de întrerupere gol ///////////////////////////// /////////////// 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(); // укладываем контроллер спать } }

Schema circuitului (fără placa de control încărcare-descărcare)



Concluzii și gânduri. Planuri.

Alarma este folosită la dacha, sunt mulțumit de muncă, cu toate acestea, cu studii suplimentare ale AVR, apar tot mai multe idei pentru modificări ulterioare. Arduino cu cablarea în pseudo-limbă m-a supărat, pentru că... Un moment neplăcut a fost descoperit în lucrare. Când am folosit funcțiile de port digitalWrite(); sau pinMode(); - din anumite motive, modulul GSM a înghețat foarte des. Dar a meritat să le înlocuiți cu trucuri precum DDRB|=(1<Doar operațiunea de acces direct la porturi a făcut ca dispozitivul să funcționeze conform intenției.

Despre economisirea energiei...
Dispozitivul asamblat a funcționat timp de patru luni întregi fără reîncărcare și continuă să funcționeze, deși ar fi mai corect să spunem „somn”. Acest lucru poate fi verificat prin simpla repornire prin intermediul butonului alb. Cu un consum de energie de 250 μA (prin stabilizatorul LE33) și o baterie de ~1430 mAh, deși bine, datorită noutății bateriei, să o rotunjim la 1000 mAh, rezultă că dispozitivul poate dormi cca. 5,5 luni fără reîncărcare. Dacă tot scoateți stabilizatorul, atunci timpul de funcționare poate fi înmulțit în siguranță de 10 ori. Dar în cazul meu nu este nevoie de acest lucru, pentru că mai trebuie să cheltuiți soldul de pe cartela SIM o dată la trei luni, în același timp dispozitivul poate fi verificat și reîncărcat.
Exemplul de economisire a energiei dat în recenzie este departe de limită, deoarece judecând după informațiile din fișa de date, puteți scădea frecvența de ceas a microcontrolerului (și acest lucru se face prin instalarea siguranțelor) la 1 MHz și, dacă aplicați tensiune de 1,8 V, consumul va scădea sub bara de 1 μA în modul activ. . Foarte frumos! Dar dacă MK este tactat de la oscilatorul RC intern, atunci va apărea o altă problemă - aerul UART va fi înfundat cu gunoi și erori, mai ales dacă controlerul este încălzit sau răcit.

La finalizare...
1) Un fir obișnuit instalat pentru a se rupe nu este foarte convenabil, plănuiesc să experimentez cu un senzor Hall și un comutator reed, deși se spune despre acesta din urmă că nu este foarte fiabil, deoarece contactele din interiorul lui se pot lipi.
2) Ar fi bine să adăugați posibilitatea de a schimba „numărul proprietarului” fără participarea unui computer și să-l flashați. Va trebui să lucrați cu EEPROM.
3) Încercați întreruperi de la timer-ul watchdog, dar nu doar de curiozitate, ci pentru ca microcontrolerul să se trezească periodic de la sine, să măsoare tensiunea bateriei și să trimită prin SMS valoarea rezultată pentru a fi conștient de cât de descărcată este bateria.
4) Un panou solar poate elimina complet necesitatea reîncărcării dispozitivului; acest lucru va fi valabil mai ales pentru bateriile de capacitate mică.
5) De mult îmi doream să cumpăr baterii LiFePo4, care, conform recenziilor, pot rezista bine la îngheț, dar în timp ce căutam un lot potrivit, primăvara sosise deja în liniște.
6) Lucrați la componenta estetică

Ce Pro Mini ar trebui să cumpărați?
Dacă nu aveți un uscător de păr, atunci Pro Mini „RobotDyn” Atmega168PA 3.3V, stingeți LED-ul cu ceva ascuțit și aveți ~250 µA.
Dacă aveți un uscător de păr, atunci orice placă, lipiți stabilizatorul și LED-ul pentru alimentare - obțineți ~20 µA de consum de curent.

Asta e tot deocamdată, sper că recenzia a fost interesantă și utilă.

Plănuiți să cumpărați +174 Adauga la favorite Mi-a placut recenzia +143 +278

O zi bună :) Astăzi vom vorbi despre alarme. Piața serviciilor este plină de companii și organizații care instalează și întrețin sisteme de securitate. Aceste companii oferă cumpărătorului o gamă largă de sisteme de alarmă. Cu toate acestea, costul lor este departe de a fi ieftin. Dar ce ar trebui să facă o persoană care nu are multe fonduri personale de cheltuit pentru o alarmă de securitate? Cred că concluzia sugerează de la sine - do alarma al lor mâinile. Acest articol oferă un exemplu despre cum vă puteți crea propriul sistem de securitate codificat folosind o placă Arduino uno și mai mulți senzori magnetici.

Sistemul poate fi dezactivat introducând parola de la tastatură și apăsând butonul ‘ * ‘. Dacă doriți să schimbați parola curentă, puteți face acest lucru apăsând tasta „ B‘, iar dacă doriți să săriți sau să întrerupeți operațiunea, puteți face acest lucru apăsând tasta ‘#’. Sistemul are un sonerie pentru a reda diverse sunete atunci când se efectuează o anumită operație.

Sistemul este activat prin apăsarea butonului „A”. Sistemul oferă 10 secunde pentru a părăsi camera. După ce au trecut 10 secunde, alarma va fi activată. Numărul de senzori magnetici va depinde de dorința dvs. Proiectul presupune 3 senzori (pentru doua ferestre si o usa). Când fereastra se deschide, sistemul este activat și semnalul de alarmă care vine de la sonerie este activat. Sistemul poate fi dezactivat prin introducerea unei parole. Când ușa se deschide, alarma îi oferă persoanei care intră 20 de secunde pentru a introduce parola. Sistemul folosește un senzor ultrasonic care poate detecta mișcarea.

Video cu funcționarea dispozitivului

Meșteșuguri Realizat in scop informativ/educativ. Dacă doriți să îl utilizați acasă, va trebui să îl modificați. Închideți unitatea de comandă într-o carcasă metalică și protejați linia de alimentare împotriva posibilelor deteriorări.

Sa incepem!

Pasul 1: De ce vom avea nevoie?

  • placă Arduino uno;
  • display LCD cu contrast ridicat 16×2;
  • tastatura 4x4;
  • potențiometru 10~20kΩ;
  • 3 senzori magnetici (aka comutatoare cu lame);
  • 3 borne cu șurub cu 2 pini;
  • Senzor ultrasonic HC-SR04;

Dacă doriți să construiți un sistem fără a utiliza Arduino, veți avea nevoie și de următoarele:

  • conector DIP pentru microcontroler atmega328 + atmega328;
  • rezonator cuarț 16MHz;
  • 2 buc. 22pF ceramică, 2 buc. condensator electrolitic 0,22uF;
  • 1 BUC. rezistor 10kOhm;
  • mufă de alimentare DC;
  • tabla de paine;
  • sursa de alimentare 5V;

Și o cutie în care să împachetați totul!

Instrumente:

  • Ceva cu care să tăiați o cutie de plastic;
  • Pistol cu ​​lipici fierbinte;
  • Burghiu/surubelnita.

Pasul 2: Circuitul de alarmă

Schema de conectare este destul de simplă.

Mica precizare:

LCD cu contrast ridicat:

  • Pin1 - Vdd la GND;
  • Pin2 - Vss la 5V;
  • Pin3 - Vo (la borna centrală a potențiometrului);
  • Pin4 - RS la pinul Arduino 8;
  • Pin5 - RW la GND;
  • Pin6 - EN la pinul Arduino 7;
  • Pin11 - D4 la pinul Arduino 6;
  • Pin12 - D5 la pinul Arduino 5;
  • Pin13 - D6 la pinul Arduino 4;
  • Pin14 - D7 la pinul Arduino 3;
  • Pin15 - V (la terminalul din dreapta sau din stânga potențiometrului).

Tastatură 4x4:

De la stanga la dreapta:

  • Pin 1 la A5 pin Arduino;
  • Pin2 la pinul A4 al Arduino;
  • Pin3 la pinul A3 al Arduino;
  • Pin4 la pinul A2 al Arduino;
  • Pin5 la pinul Arduino 13;
  • Pin6 la pinul Arduino 12;
  • Pin7 la pinul Arduino 11;
  • Pin8 la pinul Arduino 10.

Pasul 3: Firmware

Pasul prezintă codul care este folosit de sistemul integrat !

Descărcați pluginul codebender. Faceți clic pe butonul „Run” din Arduino și flash-ați placa cu acest program. Asta e tot. Tocmai ți-ai programat Arduino! Dacă doriți să faceți modificări codului, faceți clic pe butonul „Editați”.

Notă: Dacă nu veți folosi Codebender IDE pentru a vă programa placa Arduino, va trebui să instalați biblioteci suplimentare în Arduino IDE.

Pasul 4: Creați-vă propria placă de control

După ce ați asamblat și testat cu succes noul proiect bazat pe Arduino uno, puteți începe să vă creați propria placă.

Câteva sfaturi pentru o finalizare cu succes a angajamentului:

  • Un rezistor de 10 kOhm trebuie montat între pinii 1 (resetare) și pinul 7 (Vcc) ai microcontrolerului Atmega328.
  • Cristalul de 16 MHz trebuie conectat la pinii 9 și 10, marcați XTAL1 și XTAL2
  • Conectați fiecare cablu al rezonatorului cu condensatori de 22pF. Conectați cablurile libere ale condensatorului la pinul 8 (GND) al microcontrolerului.
  • Nu uitați să conectați a doua linie de alimentare ATmega328 la sursa de alimentare, pinii 20-Vcc și 22-GND.
  • Informații suplimentare despre pinii microcontrolerului pot fi găsite în a doua imagine.
  • Dacă intenționați să utilizați o sursă de alimentare cu o tensiune mai mare de 6V, trebuie să utilizați un regulator liniar LM7805 și doi condensatori electrolitici de 0,22uF, care ar trebui montați la intrarea și ieșirea regulatorului. Este important! Nu furnizați mai mult de 6V plăcii!!! În caz contrar, vă veți arde microcontrolerul Atmega și afișajul LCD.

Pasul 5: Puneți circuitul în carcasă

Acest proiect se referă la dezvoltarea și îmbunătățirea unui sistem de prevenire/control a oricăror tentative de infiltrare a hoților. Dispozitivul de securitate dezvoltat folosește un sistem încorporat (include un microcontroler hardware care utilizează software open source și un modem GSM) bazat pe tehnologia GSM (Global System for Mobile Communications).

Un dispozitiv de securitate poate fi instalat în casă. Senzorul de interfață pentru alarmă de intruziune este, de asemenea, conectat la sistemul de securitate bazat pe controler.
Când se încearcă să pătrundă, sistemul trimite un mesaj de avertizare (de exemplu, sms) către telefonul mobil al proprietarului sau către orice telefon mobil preconfigurat pentru procesare ulterioară.

Sistemul de securitate constă dintr-un microcontroler Arduino Uno și un modem standard SIM900A bazat pe GSM/GPRS. Întregul sistem poate fi alimentat de la orice sursă/baterie de 12V 2A.

Mai jos este o diagramă a unui sistem de securitate bazat pe Arduino.

Funcționarea sistemului este foarte simplă și nu necesită explicații. Când sistemul este furnizat cu energie, acesta intră în modul de așteptare. Când pinii conectorului J2 sunt scurtcircuitati, un mesaj de avertizare preprogramat este trimis la numărul de telefon necesar. Puteți conecta orice detector de intruziune (cum ar fi un apărător de lumină sau un senzor de mișcare) la conectorul de intrare J2. Rețineți că un semnal activ-scăzut (L) pe pinul 1 al conectorului J2 va activa alarma de efracție.

În plus, la sistem a fost adăugat un dispozitiv opțional de „apel-alarma”. Activează un apel telefonic atunci când utilizatorul apasă butonul S2 (sau când o altă unitate electronică inițiază o alarmă). După apăsarea butonului „apel” (S2), apelul poate fi anulat apăsând un alt buton S3 – butonul „terminare”. Această opțiune poate fi folosită pentru a genera o alarmă de „apel pierdut” în caz de intruziune.

Circuitul este foarte flexibil, astfel încât poate folosi orice modem SIM900A (și, bineînțeles, placa Arduino Uno). Vă rugăm să citiți cu atenție documentația modemului înainte de a începe asamblarea. Acest lucru va face procesul de fabricație a sistemului mai ușor și mai plăcut.

Lista radioelementelor

Desemnare Tip Denumire Cantitate NotăMagazinBlocnotesul meu
Placa Arduino

Arduino Uno

1 La blocnotes
modem GSM/GPRSSIM900A1 La blocnotes
IC1 Regulator liniar

LM7805

1 La blocnotes
C1 100uF 25V1 La blocnotes
C2 Condensator electrolitic10uF 16V1 La blocnotes
R1 Rezistor

1 kOhm

1 La blocnotes
LED1 Dioda electro luminiscenta 1 La blocnotes
S1 ButonCu fixare1
Acțiune