Progetto LED attivato dal suono con Arduino

Progetto LED attivato dal suono con Arduino

Nel progetto LED attivato dal suono, si costruirà un circuito Arduino di base, utilizzando principalmente un modulo LED (diodo a emissione luminosa) a due colori e un modulo sensore sonoro con microfono. La premessa di questo progetto è semplice: quando il sensore sonoro rileva un suono di scatto/clap, il LED passa dal colore verde al colore rosso per due secondi, per poi tornare al colore verde originale. Se il sensore sonoro non rileva alcun suono, il LED rimane semplicemente di colore verde. Tecnicamente non è necessario che il suono sia un suono di scatto, ma è solo un esempio di suono che può far salire la lettura del sensore al di sopra di un certo valore di soglia, per poi innescare il cambiamento di colore del LED.

Il modulo del sensore sonoro presente in Sound-Activated LED è il modulo HW-485 Microphone Sound Sensor Module ed è in grado di emettere sia segnali analogici che digitali. Tuttavia, poiché questo progetto utilizza la segnalazione digitale per commutare il colore del LED tra due stati, verrà utilizzata l'uscita digitale del sensore. Ciò significa che il sensore sonoro può inviare solo due stati a seconda del livello di ingresso (suono) che riceve: 1 (acceso) o 0 (spento). Il sensore invia un 1 ad Arduino se rileva un suono che supera il suo valore di soglia; altrimenti, viene inviato uno 0 per tutti i suoni che non superano la soglia.

Per modificare questo valore di soglia, è possibile ruotare il potenziometro del trimmer montato direttamente sul modulo del sensore per modulare la sensibilità del sensore. Per questo particolare modello (HW-485), ruotando il potenziometro in senso orario si aumenta la sensibilità, mentre ruotando il potenziometro in senso antiorario la si diminuisce. È importante notare che per il modulo del sensore acustico, a seconda del modello, la direzione potrebbe essere opposta. Se il LED non cambia stato (colore) quando c'è un suono forte nelle vicinanze, è necessario modificare la sensibilità del sensore. 

Una volta compresi i principi fondamentali di questo progetto Arduino, sarà sicuramente più facile incorporare e integrare alcuni dei concetti dimostrati in questo circuito in altre applicazioni. La base di questo progetto si basa essenzialmente sul sensore sonoro che rileva un ingresso (il suono) e agisce come un interruttore per poi attivare un cambiamento nel modulo LED, il dispositivo di uscita. Tenendo presente questo concetto, il dispositivo di uscita può essere facilmente sostituito con un cicalino piezoelettrico (per generare rumore), un display visivo (LCD, OLED, TFT, ecc.), un relè (collegato in linea con altri dispositivi esterni), un trasmettitore wireless, ecc. Inoltre, in PCBA per l'elettronica di consumoUn tipo simile di circuito viene utilizzato per la creazione di dispositivi elettronici ad attivazione vocale o addirittura di sistemi di automazione domestica. Molti di questi circuiti possono essere integrati in un circuito stampato sia con fori passanti che con PCBA a montaggio superficiale per ridurre le dimensioni complessive del progetto. Il trasferimento di un progetto come questo da una breadboard a un PCB può essere realizzato senza sforzo. Per realizzare questo progetto di circuito homebrew occorre componenti di origine:

  • Arduino Nano (funzionano anche altre schede Arduino compatibili)
  • Cavo USB (compatibile con la scheda Arduino)
  • Lavagna per pane
  • Fili di ponticello maschio-maschio (6)
  • Modulo sensore acustico per microfono HW-485
  • HW-480 Modulo LED rosso/verde a 2 colori (catodo comune)
  • Resistori da 220Ω (2)

Schema di cablaggio del progetto elettronico LED di controllo del suono

A seconda della scheda Arduino, può essere necessario o meno un breadboard per collegarla. In questo esempio è stato utilizzato un Arduino Nano, che richiede quindi una breadboard, ma se si utilizza un Arduino Uno, ad esempio, i fili di collegamento possono essere inseriti dai componenti sulla breadboard direttamente ai pin della scheda.

Il cablaggio di questo progetto è abbastanza semplice poiché, a parte i moduli principali, non sono necessari molti altri componenti. Per quanto riguarda il modulo del sensore sonoro, il modulo HW-485 utilizzato in questo progetto ha una configurazione a 4 pin con un'uscita digitale (DO) e un'uscita analogica (AO). Se il vostro modulo ha la stessa configurazione a 4 pin, utilizzate l'uscita digitale (DO), ma se il vostro modulo ha una configurazione a 3 pin, funzionerà il pin di uscita/segnale standard. Per quanto riguarda il modulo LED, il motivo per cui due resistenze da 220Ω sono collegate in serie alle due uscite di questo modulo è di evitare che i LED si brucino quando si applica una tensione di alimentazione di +5 volt. Ecco uno schema del cablaggio per questo progetto fai-da-te:

  • Modulo sensore acustico microfonico HW-485: Collegare il pin di uscita digitale (DO)/segnale a D7 sulla scheda Arduino, il pin positivo (+) a +5 V e il pin GND (G) a GND.
  • Modulo LED a 2 colori rosso/verde HW-480: Inserire nella breadboard una resistenza da 220Ω in serie al pin di uscita del segnale del LED rosso (R) e un'altra resistenza da 220Ω in serie al pin di uscita del segnale del LED verde (G). Collegare il pin di uscita del colore rosso (R) a D5 e il pin di uscita del colore verde (G) a D6. Collegare il pin negativo (-) a GND su Arduino.
  • Ora è possibile collegare la scheda Arduino al computer tramite il cavo USB.

Codice progetto

int redPin = 5;

int verdePin = 6;

int sensorPin = 7;

booleano val = 0;

 

vuoto impostazione(){

 pinMode(pin rosso, uscita);

 pinMode(verdePin, USCITA);

 pinMode(sensorPin, INPUT);

 Seriale.iniziare(9600);

}

 

 vuoto anello (){

 val = lettura digitale(pin del sensore);

 Seriale.println(valore);

 

 se (val == HIGH) {

   digitaleScrittura(pin verde, BASSO);

   digitaleScrittura(pin rosso, alto);

   ritardo(2000);

 }

 altro {

   digitaleScrittura(pin rosso, BASSO);

   digitaleScrittura(pin verde, alto);

 }

}

Informazioni sul codice

  • Questo semplice codice è un'eccellente dimostrazione di molte delle funzioni che si possono incontrare di nuovo mentre Programmazione IC nell'IDE Arduino, che utilizza una variante del linguaggio di programmazione C++. Questo codice presenta numeri interi fondamentali, booleani, funzioni utili e istruzioni if.
  • Il primo blocco di codice definisce i tre pin digitali di Arduino utilizzati dal modulo sensore del microfono e dal modulo LED. La variabile redPin designa il pin D5 da utilizzare per il segnale del LED di colore rosso, greenPin designa D6 e sensorPin designa D7 da utilizzare con il modulo del sensore acustico. Inoltre, un booleano denominato val è assegnato a 0 (basso/falso/spento). Un booleano è un tipo di dati specifico che può contenere un valore vero o falso (1 o 0).
  • Passando alla parte di configurazione del vuoto, ciascuno dei pin definiti in precedenza è ora definito come ingresso o come uscita. Poiché il sensore sonoro raccoglie i dati del suono e li invia ad Arduino per l'elaborazione, è impostato come ingresso, mentre il modulo LED riceve i dati da Arduino e i due pin LED sono impostati come uscite. La velocità di comunicazione seriale è impostata a 9600 bauds, in modo che i dati raccolti dal sensore possano essere letti successivamente nel monitor seriale.
  • Per quanto riguarda la parte del ciclo void, il valore booleano viene prima impostato sullo stato in cui si trova attualmente il sensore sonoro. Poiché Arduino riceve un'uscita digitale dal sensore, le informazioni che invia ad Arduino possono essere solo vere (1) o false (0). Questi dati vengono poi stampati sul monitor seriale e possono essere molto utili per calibrare la sensibilità del sensore sonoro (impostando la soglia dei suoni che il sensore può rilevare). 
  • Successivamente, viene introdotta un'istruzione if che essenzialmente afferma che se il sensore sonoro rileva uno scatto (quando il sensore sonoro invia un 1), il LED verde si spegne e il LED rosso si accende per due secondi prima di tornare allo stato predefinito (LED rosso spento e LED verde acceso). Questo dimostra l'uso della funzione pinMode(), che permette di attivare (HIGH) o disattivare (LOW) un'uscita digitale (ad esempio un modulo LED) in base a determinati parametri all'interno dell'istruzione if, in questo caso.

Le prossime tappe

Questo progetto LED ad attivazione sonora di Tecnologia FS è un eccellente progetto introduttivo all'uso di vari dispositivi di ingresso e uscita, oltre a varie funzioni fondamentali utilizzate nel codice Arduino per controllare le informazioni ricevute e inviate da/verso tali dispositivi. Di conseguenza, questo principio può essere applicato a progetti molto più ampi, in cui l'ingresso digitale di un sensore può essere utilizzato per attivare un circuito o per accendere/spegnere un dispositivo di uscita. Ad esempio, i sistemi di rilevamento del movimento incorporano in genere sensori PIR (infrarossi passivi) che, una volta attivati, attivano una luce intensa o un allarme. Questo è solo uno dei tanti esempi di questo semplice sistema digitale di input-output che oggi è incorporato in molti apparecchi elettrici e circuiti elettronici. Per quanto riguarda le funzioni/dichiarazioni presenti nel codice di Arduino, una delle funzioni più importanti da ricordare sono le dichiarazioni if. Queste dichiarazioni sono funzioni estremamente fondamentali e diffuse che si ritrovano in quasi tutti i codici, soprattutto quando si lavora con diversi dispositivi che comunicano tra loro e fanno parte di una rete/sistema più grande. Tenendo a mente tutti questi concetti, ora sta a voi applicare ed espandere le vostre conoscenze appena acquisite per creare il vostro codice di programmazione. Scheda PCBA fai da te!

Blog sui progetti di elettronica fai da te