Salutare! Sunt Oana de la Bitmi.ro si astazi vreau sa iti arat un proiect foarte interesant, prin care poti construi un mic sistem de detectie a miscarii folosind senzorul PIR HC-SR501. Ca sa fie si mai interactiv, am adaugat o tastatura membrana 1x4 pentru introducerea unei parole si un display OLED pe care se afiseaza mesaje personalizate.
Ideea proiectului este simpla, dar cu efect maxim: atunci cand cineva intra in zona supravegheata, senzorul PIR detecteaza miscarea si pe ecran apare un mesaj. Totusi, pentru a dezactiva alarma, trebuie introdusa corect parola de pe tastatura. Daca parola este acceptata, sistemul intra in modul „securizat” si nu mai declanseaza alarma chiar daca detecteaza miscare din nou.
Despre senzorul PIR HC-SR501
Senzorul PIR HC-SR501 este un modul foarte popular atunci cand vine vorba despre detectia miscarii. PIR vine de la „Passive InfraRed”, ceea ce inseamna ca senzorul nu emite nimic, ci doar masoara radiatia infrarosie din jur. Atunci cand o persoana sau un animal se misca in campul sau vizual, senzorul detecteaza variatia de temperatura si activeaza iesirea digitala. Modulul este echipat cu un regulator de tensiune si doua potentiometre prin care poti ajusta sensibilitatea si timpul de mentinere al semnalului. Unghiul de detectie este de aproximativ 120 de grade, iar distanta poate ajunge pana la 7 metri, ceea ce il face ideal pentru sisteme de securitate, alarme sau automatizari casnice.
Despre tastatura membrana 1x4
Aceasta este formata dintr-un rand cu 4 butoane si are o constructie subtire, flexibila, cu conector tip banda. Fiecare buton este conectat pe cate o linie, ceea ce inseamna ca tastatura ocupa doar 4 pini digitali de pe placa Arduino. Functionarea este foarte directa: cand apesi un buton, acesta face contact electric si Arduino poate citi instant care dintre taste a fost apasata. Acest tip de tastatura este folosit frecvent in proiecte cu meniuri simple, coduri PIN sau controale rapide, fiind rezistenta si usor de integrat pe un panou sau o carcasa.
Despre ecran OLED cu interfata I2C
Spre deosebire de LCD-urile clasice, un OLED nu are nevoie de iluminare de fundal, fiecare pixel emitand lumina proprie. Acest lucru inseamna un consum redus de energie si o vizibilitate foarte buna chiar si in intuneric. Cele mai intalnite modele au diagonala de 0.96 inch si rezolutie de 128x64 pixeli, suficiente pentru a afisa mesaje text, simboluri sau grafice simple. Comunicatia se face prin interfata I2C, ceea ce reduce numarul de pini necesari la doar doi: SDA si SCL. Datorita dimensiunilor mici si a usurintei in utilizare, aceste afisaje sunt ideale pentru proiecte portabile, panouri de control sau sisteme de monitorizare.
Componente necesare
1 x Placa de dezvoltare compatibila Arduino R4 WiFi
1 x Senzor PIR HC-SR501
1 x Ecran OLED 0.96" cu interfata IIC/I2C
1 x Tastatura membrana 1x4
1 x Breadboard 400 puncte
1 x Buzzer
5 fire tata - mama
11 fire tata - tata
Schema de conectare
Cod sursa
Dupa ce ai realizat circuitul, e timpul sa introduci codul sursa, pentru a descarca codul sursa clic AICI.
Conecteaza placa de dezvoltare compatibila Arduino Uno R4 la computer folosind portul USB. Apoi, mergi la meniul Tools si selecteaza tipul de placa si portul serial pe care il folosesti (optiunile Board si Port).
Pentru ca proiectul sa functioneze corect, este necesar sa instalezi cateva librarii suplimentare in Arduino IDE. In primul rand, ai nevoie de Adafruit GFX Library, care contine functiile grafice de baza pentru desenarea de texte si forme. Apoi trebuie sa instalezi libraria Adafruit SSD1306, care permite controlul ecranelor OLED bazate pe controller-ul SSD1306.
Toate librariile se instaleaza rapid prin Library Manager din Arduino IDE: accesezi meniul Sketch > Include Library > Manage Libraries, tastezi numele fiecarei librarii si apesi butonul Install.
Dupa instalarea librariilor si introducerea codului, apasa butonul Upload (sageata spre dreapta). In partea de jos a ferestrei Arduino IDE vei putea urmari mesajele de stare: Compiling Sketch, Uploading si Done. Daca incarcarea s-a finalizat cu succes, Arduino va incepe imediat sa ruleze codul, iar proiectul tau este gata pentru testare.
Cum functioneaza proiectul?
Dupa ce sistemul este alimentat, Arduino incepe sa monitorizeze senzorul PIR HC-SR501. Acest senzor are un timp scurt de initializare (cateva secunde) in care isi calibreaza detectia. Odata activ, el trimite un semnal digital HIGH catre Arduino atunci cand observa miscare in aria sa de actiune.
In momentul in care senzorul detecteaza miscarea, Arduino afiseaza pe ecranul OLED mesajul „Bine ai venit la atelierul Bitmi!”. In acelasi timp, codul pregateste sistemul pentru introducerea unei parole prin tastatura membrana 1x4.
Tastatura este verificata continuu, iar fiecare apasare de buton este citita si stocata intr-un buffer temporar. Cand numarul de caractere introdus corespunde lungimii parolei setate in cod, Arduino compara secventa introdusa cu parola corecta.
-
Daca parola este corecta: sistemul intra in „mod securizat”. Pe ecran este afisat un mesaj de confirmare, iar detectia miscarii este dezactivata complet. Asta inseamna ca, chiar daca senzorul PIR mai sesizeaza miscari ulterioare, Arduino nu va mai reactiona. Practic, alarma ramane dezarmata pana la o noua pornire a sistemului.
-
Daca parola este gresita: pe display se afiseaza un mesaj de eroare, iar sistemul continua sa astepte introducerea corecta a parolei. Intre timp, senzorul PIR ramane activ si poate genera din nou alerte.
Astfel, proiectul combina detectia miscarii cu partea interactiva de securizare prin parola. Practic, cine intra in zona supravegheata este detectat imediat, dar numai utilizatorul care stie parola poate opri functionarea senzorului.
Daca ai intrebari sau sugestii, scrie-mi la electronica@bitmi.ro. Si daca faci acest proiect, trimite-mi poze sau video. Abia astept sa vad cum l-ai personalizat!