Leggere segnale Audio per vu meter

Ciao a tutti e anzitutto auguri di buon anno nuovo.
Stavo cercando di costruire un piccolo vu meter con arduino nano. Ho visto che molti su you tube o su altri siti, collegano direttamente il segnale audio ad arduino. Ma ora mi domando, il segnale audio non oscilla anche sotto la GND ? possibile che trovo tanti video e tante soluzioni in questo modo?

1 Like

Infatti è sbagliato. Serve un raddrizzatore di picco, con un diodo ideale realizzato tramite un amplificatore operazionale. Solo in questo modo puoi ottenere una visualizzazione stabile e con un decadimento graduale. Per esempio:
https://www.elektroda.com/rtvforum/topic3793614.html

Ciao Datman e grazie per la risposta. Infatti non riesco proprio a capire perché su YouTube sono davvero danti che lo collegano direttamente come se fosse “normale”. In tutti i modi avevo visto che avete aiutato faca87 nel 2021. Volevo seguire questo schema che sembra essere simile al link che mi hai inviato di esempio, che ne pensi?
https://forum.arduino.cc/t/costruzione-vu-meter/904229/59

Semplicemente perché internet e la rete è piena zeppa di emerite bojate ...

... occorre usare la propria testa, come hai fatto tu, per capire come funzionano e come non possono funzionare le cose :wink:

Guglielmo

2 Likes

Perché tanti lo fanno per gioco, divertendosi a togliere roba di propria iniziativa per sentirsi bravi e poi si accontentano di come funziona: "Come sono bravo! Ho tolto tutta quella roba inutile e funziona lo stesso!".

Poi scoprono che la visualizzazione del VU meter, oltre che a barra, si può fare anche a punto: ci provano e non funziona! Perché?... Perché se il punto fa continuamente su e giù continui a vedere una barra, non un punto! Inoltre, per la stessa ragione la barra appare sfumata per il poco tempo che il segnale assume il valore di picco. Per fare bene tutto via software bisognerebbe acquisire il segnale audio ad almeno 50kHz, memorizzare i picchi e fare un decadimento esponenziale inverso. Tutto questo non si può fare con Arduino Uno, ma già con un Teensy 3.2 si può fare addirittura un analizzatore di spettro audio con FFT!

In elettronica le cose vanno fatte poco per volta e bene, andando avanti solo dopo aver capito bene come funziona un circuito. Non si può (come anche in Arduino...) mettere insieme tutto e poi andare a cercare che cosa è sbagliato!

Quindi per cominciare allora posso cimentarmi con quel circuito? Sembra piĂą semplice per ora

Sì: operazionale, diodo, condensatore. Se vuoi aumentare la sensibilità, fai la controreazione dal condensatore tramite un partitore di tensione, in modo che una parte della tensione in uscita venga confrontata con quella in ingresso.

Nuova Elettronica amplificava il segnale audio e poi raddrizzava a guadagno unitario, ma per dare guadagno al raddrizzatore basta diminuire R8 e mettere una resistenza al posto del collegamento orizzontale dal condensatore:

Spilla elettronica da discoteca

Perfetto! Grazie mille intanto

Buongiorno,
Il presentatore di un video di quelli che vi ho indicato mi ha risposto che Arduino nano Every ha un ADC e può quindi leggere sia tensioni positive che negative senza danneggiarsi… C’è qualcosa che mi sfugge?

E' un incompetente che dice idiozie e non sa di che parla ...

... Arduino Nano Every monta un ATmega4809 per cui: megaAVR 0-series Family Data Sheet.pdf (2.7 MB)

Vai a pagina 417 dove parla del ADC (che hanno tutti gli AVR, anche Arduino UNO) e leggi le specifiche:

28. Analog-to-Digital Converter (ADC)

28.1 Features

• 10-Bit Resolution
• 0V to VDD Input Voltage Range
...

... come puoi leggere tu stesso il "Input Voltage Range" va da 0 a VDD (che, nel caso di Arduino Nano Every è 5V) quindi ... in ingresso accetta da 0 a 5V e NON valori negativi!

Puoi anche leggere il datasheet specifico (e non quello della famiglia) QUI e, da pag. 477 leggere tutte le specifiche relative al ADC.

Penso possa bastare ...

Guglielmo

Può bastare e come :grinning: grazie Guglielmo!

Sempre bene leggere datasheet della specifica MCU... ma ad oggi vi viene in mente un ADC di una MCU che si trovano su schede arduino like o esp8266 o esp32 o stm32 che accettino tensioni negative ?? A me non pare di ricordare di aver trovato una MCU delle solite che accetta -V
:thinking:

... mmm ... non me ne viene in mente nessuna :roll_eyes:

Ci sono invece ADC esterni fatti per lavoare anche con tensioni negative ...

Guglielmo

Aggiungo ...
... ci sono MCU che hanno un ADC con input differenziale, ma, come spiega bene Microchip:

A negative differential signal does not imply a negative voltage on any of the two corresponding inputs, as this would be outside the specifications of most microcontrollers. It only means that the negative input is larger than the positive input.

Ovvero, rispetto a GND i segnali su entrambi gli ingressi devono essere positivi, ma un ingresso (+) può avere un valore superiore all'altro (-).

Guglielmo

Basta polarizzare l'ingresso a 1/2 Vref e accoppiare l'ingresso in alternata con un condensatore... A riposo si leggerĂ  circa 512 (0200 su 03FF f.s.).

Difatti qualsi tutte le "application notes" che si trovano in merito all'argomento danno come soluzione quella di un partitore resistivo per "spostare" l'offset del segnale ... occorre stare attenti alle impedenze però ... ricordando l'impedenza di ingresso degli ADC.

Guglielmo

Grazie a tutti anche per queste ultime delucidazioni

Secondo voi dopo aver creato il
Circuito e testato il relativo sketch su arduino, riesco a farlo funzionare anche con
un ATtiny85? Rimanendo invariato (pin a parte) sketch e componenti?

Dipende ... hai solo 8KB di flash e SOLO 512 bytes di SRAM ... e meno piedini disponibili ... vedi un po' tu.

Ma perché complicarsi la vita? Per risparmiare forse 1 US$? :roll_eyes:

Guglielmo