Puoi generare suoni usando Arduino in diversi modi. Il più semplice è collegare un emettitore piezoelettrico (o un sirena piezoelettrica) alla scheda. Ma come sempre, ci sono alcune sfumature qui. In generale, cerchiamo di capirlo.
Necessario
- - Computer;
- -Arduino;
- - emettitore piezoelettrico (cicalino piezo).
Istruzioni
Passo 1
Un emettitore piezoelettrico, o emettitore piezoelettrico, o cicalino piezoelettrico è un dispositivo di riproduzione del suono elettroacustico che utilizza l'effetto piezoelettrico inverso. Per spiegarlo in modo semplice: sotto l'azione di un campo elettrico, si verifica un movimento meccanico della membrana, che provoca le onde sonore che sentiamo. Tipicamente, tali emettitori di suoni sono installati in apparecchiature elettroniche domestiche come allarmi sonori, in personal computer desktop, telefoni, giocattoli, altoparlanti e molto altro.
L'emettitore piezo ha 2 cavi e la polarità è importante. Pertanto, colleghiamo il pin nero a massa (GND) e quello rosso a qualsiasi pin digitale con funzione PWM (PWM). In questo esempio, il terminale positivo dell'emettitore è collegato al terminale "D3".
Passo 2
Il cicalino piezo può essere utilizzato in vari modi. Il più semplice è usare la funzione analogWrite. Nell'illustrazione è mostrato un esempio di schizzo. Questo schizzo attiva e disattiva alternativamente il suono a una frequenza di 1 volta al secondo.
Impostiamo il numero di pin, lo definiamo come output. La funzione analogWrite() accetta un numero di pin e un livello come argomenti, che può essere compreso tra 0 e 255. Questo valore cambierà il volume del tweeter piezoelettrico entro un piccolo intervallo. Inviando il valore "0" alla porta, spegnere l'ecoscandaglio piezoelettrico.
Sfortunatamente, non puoi cambiare la tonalità del suono usando analogWrite(). L'emettitore piezoelettrico suonerà sempre a una frequenza di circa 980 Hz, che corrisponde alla frequenza dei pin a modulazione di larghezza di impulso (PWM) sulle schede Arduino UNO e simili.
Passaggio 3
Ora estraiamo il suono dall'emettitore piezoelettrico utilizzando la funzione tone() incorporata. Nell'illustrazione è mostrato un esempio di un semplice schizzo.
La funzione tono accetta un numero di pin e una frequenza audio come argomenti. Il limite di frequenza inferiore è 31 Hz, il limite superiore è limitato dai parametri dell'emettitore piezoelettrico e dall'udito umano. Per disattivare l'audio, inviare il comando noTone() alla porta.
Si prega di notare che se più emettitori piezoelettrici sono collegati ad Arduino, solo uno alla volta funzionerà. Per accendere l'emettitore su un altro pin è necessario interrompere il suono su quello corrente richiamando la funzione noTone().
Un punto importante: la funzione tone() è sovrapposta al segnale PWM sui pin "3" e "11" dell'Arduino. Tienilo a mente quando progetti i tuoi dispositivi, perché funzione tone(), chiamata, ad esempio, sul pin "5", può interferire con il lavoro dei pin "3" e "11".