În acest proiect vom realiza circuitul Clapper folosind conceptul ADC (Analog to Digital Conversion) în ARDUINO UNO. Vom folosi un MIC și Uno pentru a simți sunetul și a declanșa un răspuns. Acest comutator Clap ON Clap OFF activează sau oprește dispozitivul, utilizând sunetul clap, ca comutator. Anterior am construit comutatorul Clap și comutatorul Clap ON Clap OFF, utilizând 555 Timer IC.
La aplaudare va exista un semnal de vârf la MIC care este mult mai mare decât în mod normal, acest semnal este alimentat către amplificator, deși un filtru de trecere înaltă. Acest semnal de tensiune amplificată este alimentat la ADC, care convertește această tensiune înaltă într-un număr. Deci, va exista un vârf în lectura ADC a UNO. La această detectare a vârfului, vom comuta un LED pe tablă, pe fiecare batere. Acest proiect a fost explicat în detaliu mai jos.
MIC sau microfon este un traductor de detectare a sunetului, care convertește practic energia sonoră în energie electrică, așa că cu acest senzor avem sunetul ca tensiune schimbătoare. De obicei, înregistrăm sau percepem sunetul prin acest dispozitiv. Acest traductor este utilizat în toate telefoanele mobile și laptopurile. Un MIC tipic arată,
Determinarea polarității microfonului condensatorului:
MIC are două terminale, unul este pozitiv și altul este negativ. Polaritatea microfonului poate fi găsită folosind un multimetru. Luați sonda pozitivă a Multi-Meter (puneți contorul în modul TESTARE DIODĂ) și conectați-l la un terminal al MIC și sonda negativă la celălalt terminal al MIC. Dacă obțineți citirile pe ecran, atunci terminalul pozitiv (MIC) este la terminalul negativ al Multi-Meter. Sau puteți găsi pur și simplu terminalele privindu-l, terminalul negativ are două sau trei linii de lipit, conectate la carcasa metalică a microfonului. Această conectivitate, de la terminal negativ la carcasa metalică, poate fi testată și cu ajutorul testerului de continuitate, pentru a afla terminalul negativ.
Componente necesare:
Hardware:
ARDUINO UNO, sursa de alimentare (5v), un microfon cu condensator (explicat mai sus)
2N3904 tranzistor NPN,
Condensatori 100nF (2 bucăți), un condensator 100uF,
Rezistor 1K Ω, rezistor 1MΩ, rezistor 15KΩ (2 bucăți), un LED,
Și Breadboard și conectarea firelor.
Software: Arduino IDE - Arduino noaptea.
Diagrama circuitului și explicația de lucru:
Schema circuitului circuitului de clapetă este prezentată în figura de mai jos:
Am împărțit funcționarea în patru părți, adică: Filtrare, Amplificare, conversie analog-digitală și programare pentru a comuta LED-ul
Ori de câte ori există sunet, MIC îl preia și îl convertește în tensiune, liniar la magnitudinea sunetului. Deci, pentru un sunet mai mare avem o valoare mai mare și pentru un sunet mai mic avem o valoare mai mică. Această valoare este alimentată mai întâi la filtrul High Pass pentru filtrare. Apoi, această valoare filtrată este alimentată tranzistorului pentru amplificare, iar tranzistorul furnizează ieșirea amplificată la colector. Acest semnal de colector este alimentat către canalul ADC0 al UNO, pentru conversie analog-digital. Și, în sfârșit, Arduino este programat să comute LED-ul, conectat la PIN 7 din PORTD, de fiecare dată când canalul ADC A0 depășește un anumit nivel.
1. Filtrare:
În primul rând vom vorbi pe scurt despre RC High Pass Filter, care a fost folosit pentru a filtra zgomotele. Este ușor de proiectat și constă dintr-un singur rezistor și un singur condensator. Pentru acest circuit nu avem nevoie de prea multe detalii, așa că îl vom simplifica. Un filtru de trecere înaltă permite semnale de trecere de înaltă frecvență de la intrare la ieșire, cu alte cuvinte semnalul de intrare apare la ieșire dacă frecvența semnalului este mai mare decât frecvența prescrisă de filtru. Deocamdată, nu trebuie să ne facem griji cu privire la aceste valori, deoarece aici nu proiectăm un amplificator audio. Un circuit de trecere înaltă este prezentat în circuit.
După acest filtru, semnalul de tensiune este alimentat la tranzistor pentru amplificare.
2. Amplificare:
Tensiunea MIC este foarte mică și nu poate fi alimentată către UNO pentru ADC (analogic la conversie digitală), așa că pentru aceasta proiectăm un amplificator simplu folosind un tranzistor. Aici am proiectat un amplificator cu tranzistor unic pentru amplificarea tensiunilor MIC. Acest semnal de tensiune amplificată este alimentat în continuare către canalul ADC0 al Arduino.
3. Conversie analog-digital:
ARDUINO are 6 canale ADC. Dintre acestea, oricare dintre ele sau toate pot fi utilizate ca intrări pentru tensiunea analogică. UNO ADC are o rezoluție de 10 biți (deci valorile întregi de la (0- (2 ^ 10) 1023)). Aceasta înseamnă că va mapa tensiunile de intrare între 0 și 5 volți în valori între 0 și 1023. Deci, pentru fiecare (5/1024 = 4,9mV) pe unitate.
Acum, pentru ca UNO să convertească semnalul analogic în semnal digital, trebuie să folosim canalul ADC al ARDUINO UNO, cu ajutorul funcțiilor de mai jos:
1. analogRead (pin); 2. analogReference ();
Canalele UNO ADC au o valoare de referință implicită de 5V. Aceasta înseamnă că putem oferi o tensiune maximă de intrare de 5V pentru conversia ADC la orice canal de intrare. Deoarece unii senzori furnizează tensiuni de la 0-2,5V, deci cu o referință de 5V, obținem o precizie mai mică, deci avem o instrucțiune care ne permite să schimbăm această valoare de referință. Deci, pentru schimbarea valorii de referință, avem „analogReference ();”
În circuitul nostru, am lăsat această tensiune de referință la valoarea implicită, astfel încât să putem citi valoarea de la canalul ADC 0, apelând direct funcția „analogRead (pin);”, aici „pin” reprezintă pinul în care am conectat semnalul analogic, în în acest caz ar fi „A0”. Valoarea din ADC poate fi luată într-un număr întreg ca „int sensorValue = analogRead (A0); ”, Prin această instrucțiune, valoarea de la ADC este stocată în întregul„ sensorValue ”. Acum, avem valoarea tranzistorului în formă digitală, în memoria UNO.
4. Programați Arduino pentru a comuta LED-ul pe fiecare Clap:
În cazuri normale, MIC furnizează semnale normale și deci avem valori digitale normale în UNO, dar când batem acolo un vârf furnizat de MIC, cu aceasta avem o valoare digitală de vârf în UNO, putem programa UNO pentru a comuta un LED aprins și oprit ori de câte ori există un vârf. Deci, la prima batere, LED-ul se aprinde și rămâne aprins. La a doua clapă, LED-ul se stinge și rămâne stins până la următoarea clapă. Cu aceasta avem circuitul clapper. Verificați codul programului de mai jos.