Quindi cominciamo. Per prima cosa devi decidere i componenti e i circuiti. Il principio di funzionamento del circuito è semplice: un segnale debole dal microfono viene amplificato e inviato al pin analogico Arduino. Come amplificatore userò un amplificatore operazionale (comparatore). Fornisce un guadagno molto più elevato rispetto a un transistor convenzionale. Nel mio caso, il chip LM358 fungerà da comparatore, che può essere trovato letteralmente ovunque. E costa abbastanza economico.
Se non riesci a trovare l'LM358, al suo posto puoi mettere qualsiasi altro amplificatore operazionale adatto. Ad esempio, il comparatore mostrato nella foto si trovava sulla scheda dell'amplificatore del segnale del ricevitore a infrarossi nella TV.
Ora diamo un'occhiata al circuito del sensore.
Oltre all'amplificatore operazionale, avremo bisogno di alcuni componenti più facilmente accessibili.
Il microfono più normale. Se la polarità del microfono non è indicata, basta guardare i suoi contatti. Il meno va sempre al caso e nel circuito, di conseguenza, è collegato alla "terra".
Successivamente, abbiamo bisogno di una resistenza da 1 kΩ.
Tre resistori da 10 kΩ.
E un'altra resistenza da 100 kΩ è 1 MΩ.
Nel mio caso, una resistenza da 620 kOhm viene utilizzata come "media d'oro".
Ma idealmente, è necessario utilizzare un resistore variabile con il rating appropriato. Inoltre, come dimostrato dagli esperimenti, una valutazione maggiore aumenta solo la sensibilità del dispositivo, ma appare più "rumore".
Il componente successivo è un condensatore da 0,1 uF. È etichettato "104".
E un altro condensatore, a 4,7 uF.
Ora passiamo all'assemblea. Ho assemblato il circuito con un'installazione montata.
Assemblea completata.Ho installato il circuito in una custodia ricavata da un piccolo pezzo di tubo di plastica.
Procediamo al test del dispositivo. Lo collegherò alla scheda Arduino UNO. Passiamo all'ambiente di sviluppo di Arduino e apriamo l'esempio AnalogReadSerial nella sezione Basics.
void setup () {
Serial.begin (9600); // collega la connessione seriale a 9600 baud
}
void loop () {
int sensorValue = analogRead (A0); / * leggi il valore dal pin analogico zero e salvalo nella variabile sensorValue * /
Serial.println (sensorValue); // invia il valore alla porta
ritardo (1); // aspetta un millisecondo per la stabilizzazione
}
Prima di caricare nella scheda, cambiamo il ritardo di 50 millisecondi e lo cariciamo. Successivamente, realizziamo un cotone di prova e seguiamo le indicazioni. Al momento dell'applauso, saltano, cercano di ricordare questo valore approssimativamente e ritornano allo schizzo.
Aggiungi un paio di linee allo schizzo.
if (sensorValue> X) {
Serial.print ("CLAP");
ritardo (1000);
}
Invece di "X", inserire lo stesso valore, caricare e battere di nuovo le mani. Quindi continua fino a trovare il valore di risposta ottimale. Con un valore sopravvalutato, la condizione sarà soddisfatta solo con cotone a distanza molto ravvicinata. Con un valore inferiore, la condizione sarà soddisfatta al minimo rumore o al suono dei passi.
Inoltre, con la corretta selezione della resistenza R5, questo sensore può trasformarsi in uno digitale e può essere utilizzato negli interrupt di processo. Il potenziale di questo design è enorme, sulla base è possibile assemblare diversi progetti e la sua semplicità rende il dispositivo accessibile a tutti.
In conclusione, propongo di guardare un video in cui tutto è chiaramente mostrato. Anche il processo di calibrazione e l'assemblaggio dell'interruttore di cotone più semplice sono spiegati in modo molto più dettagliato.
Spero ti sia piaciuto. Ti auguro un'assemblea di successo!