Așa că hai să începem. Mai întâi trebuie să decideți componentele și circuitele. Principiul de funcționare a circuitului este simplu: un semnal slab de la microfon este amplificat și trimis la pinul analogic Arduino. Ca amplificator voi folosi un amplificator operațional (comparator). Oferă un câștig mult mai mare comparativ cu un tranzistor convențional. În cazul meu, cipul LM358 va servi ca acest comparator, acesta poate fi găsit literalmente oriunde. Și costă destul de ieftin.
Dacă nu ați găsit LM358, atunci în locul său puteți pune orice alt amplificator operațional adecvat. De exemplu, comparatorul prezentat în fotografie stă pe placa de amplificare a semnalului receptorului infraroșu de la televizor.
Acum să ne uităm la circuitul senzorilor.
Pe lângă amplificatorul operațional, vom avea nevoie de câteva componente mai ușor accesibile.
Cel mai obișnuit microfon. Dacă polaritatea microfonului nu este indicată, uitați-vă doar la contactele acestuia. Minusul merge întotdeauna la carcasă, iar în circuit, în consecință, este conectat la „sol”.
În continuare, avem nevoie de un rezistor de 1 kΩ.
Trei rezistențe de 10 kΩ.
Și un alt rezistor de 100 kΩ este de 1 MΩ.
În cazul meu, un „rezistor de 620 kOhm este folosit ca„ mijloc de aur ”.
În mod ideal, trebuie să utilizați un rezistor variabil cu calitatea corespunzătoare. Mai mult, așa cum se arată în experimente, o evaluare mai mare crește doar sensibilitatea dispozitivului, dar apare mai mult „zgomot”.
Următoarea componentă este un condensator de 0,1 uF. Este etichetat "104".
Și un alt condensator, la 4,7 uF.
Acum trecem la adunare. Am asamblat circuitul cu o instalație montată.
Adunarea finalizată.Am instalat circuitul într-o carcasă pe care am făcut-o dintr-o bucată mică de tub de plastic.
Procedăm la testarea dispozitivului. Îl voi conecta la placă Arduino ONU. Ne mutăm în mediul de dezvoltare Arduino și deschidem exemplul AnalogReadSerial în secțiunea Noțiuni de bază.
void setup () {
Serial.begin (9600); // conectați conexiunea Serial la 9600 baud
}
void loop () {
int sensorValue = analogRead (A0); / * citiți valoarea din pinul analog zero și o salvați în senzorul variabil Valor * /
Serial.println (senzorValue); // ieșește valoarea în port
întârziere (1); // așteptați o milisecundă pentru stabilizare
}
Înainte de a încărca în placă, schimbăm întârzierea cu 50 de milisecunde și o încărcăm. După aceea, facem un bumbac de testare și urmăm indicațiile. În momentul în care aplaudă, ei sar, încearcă să-și amintească aproximativ această valoare și să revină la schiță.
Adăugați câteva linii la schiță.
if (senzorValum> X) {
Serial.print ("CLAP");
întârziere (1000);
}
În loc de „X”, introduceți din nou aceeași valoare, încărcați și aplaudați. Așadar, continuați până găsiți valoarea optimă a răspunsului. Cu o valoare supraestimată, condiția va fi îndeplinită numai cu bumbac la o distanță foarte apropiată. Cu o valoare mai mică, condiția va fi satisfăcută la cel mai mic zgomot sau la sunetul pașilor.
De asemenea, cu selecția corectă a rezistorului R5, acest senzor se poate transforma într-unul digital și poate fi utilizat în întreruperi hardware. Potențialul acestui design este imens, pe baza sa puteți asambla o grămadă de proiecte diverse, iar simplitatea sa face ca dispozitivul să fie accesibil tuturor.
În concluzie, vă propun să vizionați un videoclip în care totul este clar arătat. Procesul de calibrare și asamblarea celui mai simplu comutator de bumbac sunt, de asemenea, explicate cu mult mai multe detalii.
Sper că v-a plăcut. Va doresc o adunare de succes!