Salutare, sunt Oana de la Bitmi.ro si astazi iti arat cum poti construi un circuit simplu care aprinde un LED printr-o simpla bataie din palme. Este un proiect perfect pentru incepatori care vor sa invete cum functioneaza senzorii de sunet si cum putem controla dispozitive externe folosind un releu si o placa Arduino.
Ce este un releu si de ce este important in acest proiect?
Modulul releu este o componenta esentiala atunci cand vrei sa controlezi un dispozitiv extern folosind un semnal de curent mic. Un releu functioneaza practic ca un intrerupator controlat electronic: primeste un semnal de la Arduino (foarte slab – doar cativa miliamperi) si activeaza un contact care poate controla curenti mai mari sau tensiuni diferite.
In acest proiect, releul este folosit pentru a aprinde si stinge un LED. Poate ca pentru un simplu LED nu pare necesar, dar gandeste-te ca exact acelasi principiu se aplica daca in locul LED-ului vrei sa controlezi un bec de 220V, un ventilator, o pompa sau chiar o banda LED mai mare care consuma mult curent. Arduino nu poate alimenta direct astfel de sarcini, dar releul da.
Un releu are in general trei terminale de iesire:
-
COM – contact comun
-
NO (Normally Open) – terminal care este deschis cand releul este inactiv
-
NC (Normally Closed) – terminal care este inchis cand releul este inactiv
Cand Arduino trimite un semnal catre releu (HIGH sau LOW, in functie de model), releul comuta: deschide sau inchide conexiunea intre COM si NO sau COM si NC.
In cazul nostru, folosim COM si NO pentru a aprinde LED-ul doar atunci cand releul este activ.
Ce este un senzor de sunet si cum functioneaza?
Senzorul de sunet este o componenta electronica capabila sa detecteze zgomote din mediu, cum ar fi o bataie din palme, un fluier sau orice alt sunet scurt si puternic. El transmite semnal digital catre placa Arduino atunci cand detecteaza un astfel de sunet. In functie de acest semnal, putem controla un releu care actioneaza un LED sau un alt dispozitiv.
Modulul de sunet folosit in acest proiect este construit in jurul unor componente simple, dar esentiale pentru detectarea zgomotelor ambientale. In centrul sau se afla un microfon electret, care are rolul de a capta undele sonore din mediul inconjurator si de a le transforma in semnale electrice de joasa intensitate. Aceste semnale nu pot fi folosite direct de microcontroller, asa ca este nevoie de o prelucrare intermediara.
Aceasta prelucrare este realizata cu ajutorul unui comparator de tensiune, de tip LM393, care compara semnalul venit de la microfon cu un prag de referinta. Daca nivelul de sunet depaseste acest prag, comparatorul genereaza un semnal digital LOW
, semnal care poate fi citit de Arduino sau alt microcontroller. Practic, acest semnal digital semnaleaza faptul ca a fost detectat un sunet suficient de puternic.
Pentru a permite ajustarea pragului de sensibilitate la sunet, modulul este prevazut si cu un potentiometru reglabil. Acesta permite utilizatorului sa stabileasca ce nivel de zgomot este considerat „semnificativ” pentru declansarea semnalului de iesire. Cu alte cuvinte, poti regla senzorul sa raspunda doar la batai din palme sau la orice zgomot de fundal, in functie de nevoile proiectului tau.
Componente necesare
1 x Placa de dezvoltare compatibila Arduino R4 WiFi
1 x Modul senzor sunet cu sensibilitate ridicata KY-037
1 x Modul releu 1 canal, 5V
1 x LED 5mm
1 x Rezistor 220 Ohm
1 x Cablu de date USB 2.0 la tip C 30 cm
3 fire tata - mama
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 WiFi 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 a incarca codul pe placa, apasa butonul Upload (simbolul cu sageata spre dreapta). In partea de jos a ferestrei, vei putea urmari mesajele de stare: Compiling Sketch, Uploading si Done. Odata ce incarcarea s-a finalizat cu succes, placa Arduino va incepe sa ruleze codul pe care l-ai incarcat.
Cum functioneaza proiectul?
In momentul in care alimentezi circuitul, LED-ul este stins. Asta se intampla deoarece in cod am setat releul sa fie in starea inactiva (HIGH) la pornire, ceea ce inseamna ca nu trimite curent catre LED. Apoi, totul se bazeaza pe senzorul de sunet, care detecteaza sunete bruste, cum ar fi bataile din palme. Acest senzor are un comportament simplu: atunci cand capteaza un sunet puternic, semnalul de iesire trece pentru scurt timp de la HIGH la LOW.
Arduino citeste constant semnalul venit de la senzor si verifica si starea actuala a releului. Daca senzorul detecteaza o bataie din palme si releul este inactiv, atunci acesta este activat, permitand curentului sa treaca prin el si sa aprinda LED-ul. In acel moment, LED-ul ramane aprins.
Daca bati din palme din nou, senzorul reactioneaza la sunet, iar Arduino comanda releului sa revina in starea inactiva, oprind astfel alimentarea LED-ului. Practic, fiecare bataie din palme actioneaza ca un comutator, schimband starea LED-ului de la aprins la stins si invers.
Pentru a evita activari sau dezactivari accidentale provocate de vibratii sau zgomote scurte, codul include o mica intarziere de 250 de milisecunde intre detectii, ceea ce ajuta la stabilitate.
Daca ai intrebari sau sugestii, scrie-mi la electronica@bitmi.ro. Trimite-mi poze sau videoclipuri cu proiectele tale - sunt curioasa sa vad ce ai realizat!