In questo tutorial si imparerà ad utilizzare il modulo dotato del sensore del suono.
Grazie all’ausilio del sensore di suono si possono realizzare programmi che tengono conto dell’intensità del suono presente nell’ambiente. Il sensore di suono è composto dal microfono e da un trimmer e 4 pin e il comparatore LM939 .
Questo modulo presenta due pin di tipo output. Il pin A0 è un pin di output analogico tramite il quale il segnale di voltaggio del microfono viene regolata in tempo reale. Il pin D0 viene utilizzato nel momento in cui l’intensità di segnale supera una certa soglia, in tal caso il segnale digitale verrà settato su HIGH. La sensibilità è regolabile tramite il potenziometro presente sul modulo.
Per impostare la soglia d’ ascolto, si agisce avvitando in senso orario o antiorario la vite del potenziometro, rendendolo più o meno “sordo”. Il modulo LM939 ha la veste di comparatore di voltaggio: quando il microfono percepisce un suono più alto della soglia impostata il modulo produrrà sul pin DO (uscita digitale) un segnale HIGH; al contrario quando il microfono non percepirà un suono abbastanza alto, il modulo produrra un segnale LOW.
I componenti richiesti per realizzare questo progetto sono i seguenti:
- (1) x Arduino UNO
- (1) x Modulo sensore del suono
- (4) x Connettori F-M (Connettori di DuPont Femmina-Maschio)
I trasduttori sono dispositivi che sono in grado di convertire l’energia da una forma all’altra. Un microfono è un trasduttore in grado di convertire l’energia generata da un suono in segnale elettrico. Il microfono funziona in modo opposto rispetto a un altoparlante.
Il microfono è composto da differenti tecnologie in grado di convertire il suono in segnale elettrico. In questo caso è utilizzato un microfono a condensatore (quest’ultimo largamente utilizzato in dispositivi smartphone e PC).
Il diagramma di collegamento è il seguente:
Il sensore descritto in questo articolo ha 4 pin, mentre il sensore utilizzato nel diagramma ha 3 pin. Niente di preoccupante, si tratta dello stesso sensore, ma nel diagramma vi è un PIN in meno. Basta lasciare scoperto il pin A0.
Il codice è il seguente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
const int led = 12; //il led e' collegato alla porta 12 const int microfono = 8; // l'uscita digitale del microfono (DO)e' collegata alla porta digitale 8 int valoresuono = 0; // zona di memorizzazione dello stato del microfono (HIGH o LOW) int sled = 0; // zona di memorizzazione dello stato del led (1 = acceso; 0 = spento) void setup() { pinMode(led,OUTPUT); pinMode(microfono, INPUT); } void loop() { valoresuono = 0; valoresuono = digitalRead(microfono); // rileva il segnale proveniente dal microfono if(valoresuono == HIGH) // se il rumore ha prodotto segnale digitale { if (sled == 1) // verifica se il led e' acceso { digitalWrite(led,LOW); // se il led e' acceso, lo spegne sled = 0; // memorizza lo stato di "led spento" delay (300); } else { digitalWrite (led, HIGH); // se il led e' spento, lo accende sled = 1; // memorizza lo stato di "led acceso" delay (300); } } } |
Questo programma permette di accendere un led, collegato al pin12, quando il microfono percepisce un battito di mani e lo spegne quando ne percepisce un altro. Ma la logica gli consente di funzionare come un interruttore elettronico, un “Alexa in miniatura”, magari filtrando l’audio attraverso il pin analogico del circuito.
Come sempre, le opzioni per il bravo maker sono infinite.
Per acquistarlo clicca qui.
Link utili
- Arduino UNO R3
- Elegoo UNO R3
- Arduino Starter Kit per principianti
- Elegoo Advanced Starter Kit
- Arduino Nano
Seguici per non perdere le prossime novità!