In questo progetto realizzeremo il circuito Clapper utilizzando il concetto di ADC (Analog to Digital Conversion) in ARDUINO UNO. Useremo MIC e Uno per percepire il suono e attivare una risposta. Questo interruttore Clap ON Clap OFF fondamentalmente accende o spegne il dispositivo, utilizzando il suono di applauso, come interruttore. Abbiamo già costruito l'interruttore Clap e Clap ON Clap OFF, utilizzando 555 Timer IC.
Applaudendo ci sarà un segnale di picco al MIC che è molto più alto del normale, questo segnale viene inviato all'amplificatore, sebbene un filtro passa alto. Questo segnale di tensione amplificato viene inviato all'ADC, che converte questa alta tensione in un numero. Quindi ci sarà un picco nella lettura dell'ADC dell'ONU. In questo rilevamento di picco, attiveremo un LED sulla scheda, ad ogni battito di mani. Questo progetto è stato spiegato in dettaglio di seguito.
MIC o microfono è un trasduttore di rilevamento del suono, che fondamentalmente converte l'energia del suono in energia elettrica, quindi con questo sensore abbiamo il suono come voltaggio variabile. Di solito registriamo o percepiamo il suono attraverso questo dispositivo. Questo trasduttore è utilizzato in tutti i telefoni cellulari e laptop. Un tipico MIC sembra,
Determinazione della polarità del microfono a condensatore:
MIC ha due terminali uno è positivo e un altro è negativo. La polarità del microfono può essere rilevata utilizzando un multimetro. Prendi la sonda positiva di Multi-Meter (metti lo strumento in modalità DIODE TESTING) e collegala a un terminale di MIC e la sonda negativa all'altro terminale di MIC. Se si ottengono le letture sullo schermo, il terminale del positivo (MIC) è al terminale negativo del multimetro. Oppure puoi semplicemente trovare i terminali guardandolo, il terminale negativo ha due o tre linee di saldatura, collegate alla custodia metallica del microfono. Questa connettività, dal terminale negativo alla sua custodia metallica, può anche essere testata utilizzando un tester di continuità, per trovare il terminale negativo.
Componenti richiesti:
Hardware:
ARDUINO UNO, alimentatore (5v), un microfono a condensatore (spiegato sopra)
Transistor 2N3904 NPN,
Condensatori da 100 nF (2 pezzi), un condensatore da 100 uF,
Resistenza da 1K Ω, resistenza da 1MΩ, resistenza da 15KΩ (2 pezzi), un LED,
E breadboard e cavi di collegamento.
Software: Arduino IDE - Arduino notturno.
Schema del circuito e spiegazione di funzionamento:
Lo schema elettrico del circuito del clapet è mostrato nella figura seguente:
Abbiamo diviso il lavoro in quattro parti, ovvero: Filtrazione, Amplificazione, Conversione analogico-digitale e programmazione per alternare il LED
Ogni volta che c'è un suono, il MIC lo rileva e lo converte in tensione, lineare all'ampiezza del suono. Quindi per un suono più alto abbiamo un valore più alto e per un suono più basso abbiamo un valore più basso. Questo valore viene prima inviato al filtro passa alto per la filtrazione. Quindi questo valore filtrato viene inviato al transistor per l' amplificazione e il transistor fornisce l'uscita amplificata al collettore. Questo segnale del collettore viene inviato al canale ADC0 di UNO, per la conversione da analogico a digitale. Infine Arduino è programmato per attivare o disattivare il LED, connesso al PIN 7 di PORTD, ogni volta che il canale ADC A0 supera un determinato livello.
1. Filtrazione:
Prima di tutto parleremo brevemente del filtro passa alto RC, che è stato utilizzato per filtrare i rumori. È facile da progettare e consiste in un singolo resistore e un singolo condensatore. Per questo circuito non abbiamo bisogno di molti dettagli, quindi lo manterremo semplice. Un filtro passa alto consente il passaggio dei segnali di alta frequenza dall'ingresso all'uscita, in altre parole il segnale di ingresso appare all'uscita se la frequenza del segnale è maggiore della frequenza prescritta dal filtro. Per ora, non dobbiamo preoccuparci di questi valori perché qui non stiamo progettando un amplificatore audio. Un filtro passa-alto è mostrato nel circuito.
Dopo questo filtro, il segnale di tensione viene inviato al transistor per l'amplificazione.
2. Amplificazione:
La tensione del MIC è molto bassa e non può essere fornita a UNO per ADC (Analog to Digital Conversion), quindi per questo progettiamo un semplice amplificatore utilizzando un transistor. Qui abbiamo progettato un singolo amplificatore a transistor per amplificare le tensioni MIC. Questo segnale di tensione amplificato viene ulteriormente inviato al canale ADC0 di Arduino.
3. Conversione da analogico a digitale:
ARDUINO dispone di 6 canali ADC. Tra questi, uno o tutti possono essere utilizzati come ingressi per la tensione analogica. L'ADC UNO ha una risoluzione di 10 bit (quindi i valori interi da (0- (2 ^ 10) 1023)). Ciò significa che mapperà le tensioni di ingresso tra 0 e 5 volt in valori interi compresi tra 0 e 1023. Quindi per ogni (5/1024 = 4,9 mV) per unità.
Ora, affinché UNO converta il segnale analogico in segnale digitale, dobbiamo utilizzare il canale ADC di ARDUINO UNO, con l'aiuto delle seguenti funzioni:
1. analogRead (pin); 2. analogReference ();
I canali UNO ADC hanno un valore di riferimento predefinito di 5V. Ciò significa che possiamo fornire una tensione di ingresso massima di 5 V per la conversione ADC su qualsiasi canale di ingresso. Poiché alcuni sensori forniscono tensioni da 0-2,5 V, quindi con un riferimento di 5 V, otteniamo una minore precisione, quindi abbiamo un'istruzione che ci consente di modificare questo valore di riferimento. Quindi per cambiare il valore di riferimento abbiamo "analogReference ();"
Nel nostro circuito, abbiamo lasciato questa tensione di riferimento al valore predefinito, quindi possiamo leggere il valore dal canale 0 dell'ADC, chiamando direttamente la funzione "analogRead (pin);", qui "pin" rappresenta il pin dove abbiamo collegato il segnale analogico, in in questo caso sarebbe "A0". Il valore di ADC può essere preso come numero intero come “int sensorValue = analogRead (A0); ", Con questa istruzione il valore dell'ADC viene memorizzato nel numero intero" sensorValue ". Ora, abbiamo il valore del transistor in forma digitale, nella memoria di UNO.
4. Programma Arduino per attivare o disattivare il LED su ogni Clap:
In casi normali, il MIC fornisce segnali normali e quindi abbiamo valori digitali normali in UNO, ma battendo le mani un picco fornito dal MIC, con questo abbiamo un valore digitale di picco in UNO, possiamo programmare l'UNO per alternare un LED acceso e spento ogni volta che c'è un picco. Quindi al primo battito di mani il LED si accende e rimane acceso. Al secondo battito di mani il LED si spegne e rimane spento fino al successivo battito di mani. Con questo abbiamo il circuito del battaglio. Controllare il codice del programma di seguito.