Benvenuti nel nuovo tutorial che andremo a trattare. Oggi vi spiegherò come accendere delle strisce di led a ritmo di musica.
Il materiale che verrà utilizzato per questo tutorial sarà:
- Una scheda Arduino (Io abitualmente uso la Mega 2560 in quanto è una scheda ricca di pin, sia digitali che analogici);
- Una breadboard;
- 9 Strisce di led;
- 9 Transistor;
- 9 resistenze da 2.2KΩ;
- Un trasformatore 220V — > 12V
- Cavo jack 3,5 mm Maschio — Femmina

Iniziamo subito questo progetto costruendo il nostro dispositivo. L’ elettronica di questo progetto non è eccessivamente complessa, ma è ripetitiva in quanto dovremo creare un piccolo circuito sulla nostra breadboard per ogni singola striscia di led che vorremmo far accendere. Nel nostro caso sono 9 ripetizioni dello stesso circuito che troveremo in immagine. Questo circuito verrà utilizzato come interruttore per la striscia di led, infatti ho usato il transistor S8050 D 331 proprio per questo scopo. In questo modo andremo ad alimentare con 12V i nostri led in quanto siamo impossibilitati ad accendere i led in modo diretto dalla nostra scheda.
Sempre nella immagine V1 rappresenta il trasformatore. La potenza del trasformatore dipende dalla quantità di Led Strip che si vorranno accendere e se con lo stesso trasformatore si vuole anche alimentare la scheda per pilotare tutto.
Esempio: 50 W di potenza mi sono bastati per alimentare 9 strisce di led composte da 3 led ciascuna, ma non così facendo non ho la possibilità di alimentare la scheda arduino, perché aggiungendo questo collegamento toglierei della potenza ai led che si accenderebbero ma non al massimo della loro luminosità. (ho risolto questo problema alimentando arduino con la presa USB, altrimenti potreste optare per un trasformatore più potente).
Per quanto riguarda la logica del nostro codice, essa segue una semplice linea di principio:
- Catturare i volt in ingresso
- Assegnare quel valore a una variabile
- Controllare in quale range si trova la variabile
- Attivare i Pin che rientrano nel range in cui si trova la variabile
Es:
ValoreIngresso=3; se 1<ValoreIngresso {accendi pin 1} altrimenti {spegni pin 1};//acceso se 2<ValoreIngresso {accendi pin 2} altrimenti {spegni pin 2};//acceso se 3<ValoreIngresso {accendi pin 3} altrimenti {spegni pin 3};//acceso se 4<ValoreIngresso {accendi pin 4} altrimenti {spegni pin 4};//SPENTOO!!!
Così facendo se il valore assegnato a un Pin è più piccolo del valore in ingresso esso farà in modo di accendere quel Pin, di conseguenza più il valore in ingresso è alto più Pin si accenderanno.
Il codice che ho creato e che troverete in seguito mi sembra abbastanza commentato ma se non capite qualcosa non esitate a chiedere nei commenti 😉
int r=A3; int soundR=0,vm=10; void setup() { pinMode(r,INPUT); pinMode(23, OUTPUT); pinMode(27, OUTPUT); pinMode(31, OUTPUT); pinMode(35, OUTPUT); pinMode(39, OUTPUT); pinMode(43, OUTPUT); pinMode(47, OUTPUT); pinMode(51, OUTPUT); pinMode(53, OUTPUT); Serial.begin(9600); } void loop() { soundR = analogRead(r); //uso il canale destro per i led Serial.println(soundR); //controllo per l' accensione dei led //partenza dal centro apertura a stella /*if ( (vm *(valore_di_configurazione)) <soundR) * digitalWrite (ledStrip_pin ,HIGH); *else * digitalWrite (ledStrip_pin ,LOW); */ if ( (vm *1.75) <soundR) {digitalWrite (23 ,HIGH);} else {digitalWrite (23 ,LOW);}//alto destra if ( (vm *4) <soundR) {digitalWrite (53,HIGH);} else {digitalWrite (53,LOW);} //alto centro if ( (vm *3) <soundR) {digitalWrite (35,HIGH);} else {digitalWrite (35,LOW);}//alto sinistra if ( (vm *6) <soundR) {digitalWrite (27,HIGH);} else {digitalWrite (27,LOW);}//centro destra if ( (vm *1.15) <soundR) {digitalWrite (47,HIGH);} else {digitalWrite (47,LOW);} //centro centro if ( (vm *6.5) <soundR) {digitalWrite (43,HIGH);} else {digitalWrite (43,LOW);} //centro sinistra if ( (vm *3.75) <soundR) {digitalWrite (31,HIGH);} else {digitalWrite (31,LOW);}//basso destra if ( (vm *5.3) <soundR) {digitalWrite (39,HIGH);} else {digitalWrite (39,LOW);} //basso centro if ( (vm *2.6) <soundR) {digitalWrite (51,HIGH);} else {digitalWrite (51,LOW);} //basso sinistra delay(10); }
Una volta concluso il progetto e fatto partire oltre alla immensa soddisfazione avrete anche una stanza che sembra essere una discoteca, manca solo il laser (arriverà in seguito :D). Nel video si vedrà l’ effetto finale che si ottiene con questo progetto.
[ATTENZIONE] Non tutti i PC in uscita hanno le stesse caratteristiche in termini di segnale. Quindi ci potrebbe essere la possibilità che, collegando il nostro dispositivo a un PC o altro riproduttore musicale, dovremmo riconfigurare i valori agendo sul codice.
Lascia un commento
Devi essere connesso per inviare un commento.