Vu Meter a 12 LED con Arduino

Se vuoi creare un semplice Vu Meter con Arduino, questo è l’articolo adatto a te!

Nelle righe che seguono ti mostrerò come ho costruito il mio Vu Meter…

Questo “Misuratore di volume” si collegherà, tramite un jack 3,5mm, all’uscita audio analogica di un qualsiasi dispositivo dotato di un chip audio. Se il dispositivo non ha due uscite audio, sarà necessario duplicare l’uscita per portarla sia ad Arduino che alle casse amplificate, utilizzando un duplicatore come quello che vedi in foto. Ecco quindi uno schema di questi collegamenti:

schema1Devi sapere che il segnale audio analogico è sostanzialmente costituito da una piccola tensione elettrica alternata che varia i propri parametri (lunghezza d’onda, frequenza) a seconda dell’audio da “trasportare”. Quando l’audio ha una bassa frequenza la tensione è maggiore: proprio su questo si basa il Vu Meter.

Sotto vedi lo schema per il collegamento delle componenti. Ho collegato anche un potenziometro per variare la sensibilità. Esso diminuisce la tensione del segnale che viene poi letta dal pin analogico “A0” e, convertita dall’ADC (Analog Digital Converter a 10 bit) in un numero decimale variabile da 0  a 1023.

schema2_bb

Vediamo ora lo sketch.

All’inizio definiamo due variabili globali: passo che è il valore che determina l’accensione di un LED, e segnale, che richiameremo nel loop().
Nel setup() inizializziamo i pin a cui sono collegati i led in OUTPUT e quello a cui è collegato il potenziometro in INPUT.
Nel loop() Arduino esegue analogRead() sul pin 0: la tensione presente su questo pin viene convertita in un numero decimale dall’ADC che viene assegnato alla variabile.
Successivamente poniamo delle domende, con l’istruzione if:

  • Se il valore generato da analogRead() è maggiore di passo*1, accendi il primo LED, altrimenti spegnilo
  • Se il valore generato da analogRead() è maggiore di passo*2, accendi il secondo LED, altrimenti spegnilo
  • Se il valore generato da analogRead() è maggiore di passo*3, accendi il terzo LED, altrimenti spegnilo
  • E così via, aumentando sempre il numero moltiplicato per passo di 1 unità.

Nel video sotto puoi vedere il circuito in funzione!

Appena riuscirò a trovare qualche ora di tempo voglio disegnare il circuito di un Vu Meter su PCB con un integrato dedicato, resta quindi sintonizzato per il prossimo articolo!

6 Risposte a “Vu Meter a 12 LED con Arduino”

    1. Ciao,

      Fare delle luci psichedeliche con Arduino è molto semplice. Nel loop scrivi un solo if:

      if(50

  1. Ciao!! Ho provato a realizzare il progetto ma non riesco a collegare correttamente la fonte sonora alla breadboard.. Potresti aiutarmi ?
    e in più, per funzionare necessità obbligatoriamente il collegamento alle casse??
    Grazie in anticipo….

    1. Ciao Matteo. Scusa se rispondo solo ora, ma in questo periodo sono particolarmente impegnato.

      La fonte sonora è da collegare in parallelo alle casse. La cosa più semplice è usare uno sdoppiatore di jack audio, in modo da collegare sia le casse, sia Arduino all’uscita audio del dispositivo utilizzato.
      Se il dispositivo ha gli altoparlanti integrati e non vuoi/puoi usarne altri esterni, devi cercare di rendere utilizzabile sia l’uscita audio jack, sia gli altoparlanti (contemporaneamente). Credo che ciò sia difficile da ottenere, per cui ti consiglio di procedere con la prima soluzione.

      Se hai altri problemi, contattami nuovamente!

      1. Grazie mille, sono riuscito a realizzarlo e funziona alla grande… Volevo solo dirti che nel programma che hai lasciato nel setupdichiari la variabile segnale mentre nel loop, quando la richiami per assegnargli la lettura del pin analogico la chiami “S”, dunque al primo colpo l’area di sviluppo da sbagliato il programma, però grazie mille di tutto !!! Otiimo lavoro ! continua a portarci i tuoi progetti!!!

  2. ciao
    ho provato a collegarlo alla batteria di 9V e non funziona, mi sai spiegare perche? Grazie

I commenti sono chiusi.