impossibilitato a regolare il volume tramite potenziometro

salve a tutti. ho un dispositivo che dovrebbe leggere 8 bottoni tramite multiplexer, e tirare fuori una nota midi e un segnale sonoro tramite la funzione tone(), che esce dal pin 6 di arduino e va direttamente in un piccolo speaker da credo 4ohm, visto che si sente discretamente. i problemi sopraggiungono quando tento di aggiungere un controllo per il volume: tutto ciò che faccio è collegare un potenziometro nel seguente modo:

  • pin1: pin6 di arduino
  • pin2: cavo dello speaker (l'altro cavo sta a massa)
  • pin3: massa

ho provato con diversi potenziometri, dei valori più disparati, sia lineari che logaritmici, ma ogni volta, tutto ciò che ottengo è che col potenziometro completamente aperto lo speaker suona, ma appena lo chiudo un po' ogni suono scompare: le sfumature di volume sono quasi sempre impossibili.
qualche idea sul perchè ciò accada?

Sei sicuro che il potenziometro abbia come cursore il pin 2 ?

Se cosi non fosse è più che normale che non riesci a regolare.
E poi di che valore è il potenziometro?

Certamente, il potenziometro lo stai usando come se fosse un carico ad alta impedenza sull'uscita audio; il volume si regola a monte non a valle. Ciò che potresti fare è collegare il potenziometro ad un pin analogico e gestire l'uscita del pin 6 in base al valore letto sul pin analogico, ma bisognerebbe capire se è possibile agire a livello software sul "volume". Diversamente dovresti usare uno stadio preamp esterno, tra il pin di Arduino e lo speaker e da lì regolare il volume. infine se vuoi fare una prova possibile metti una R da 4,7ohm in serie al pin di Arduino e così simuli in qualche modo il raddoppio dell'impedenza dello speaker a la conseguente diruzione di volume.

i potenziometri hanno lo whiper sul pin 2, ho avuto modo di testarli su arduino. i valori, sono stati diversi:
1Mohm
47Kohm
5Kohm

che sia un problema di corrente? però mi pare strano, ho anche provato a posizionare un buffer in cascata prima dello speaker, e non ricordo grandi miglioramenti..

[quote author=Michele Menniti link=topic=110701.msg831588#msg831588 date=1340102421]
Certamente, il potenziometro lo stai usando come se fosse un carico ad alta impedenza sull'uscita audio....[/quote]

D'accordissimo su tutto, ma alla fine per emettere suoni arduino modula l'uscita ad una certa frequenza, prelevando tramite il cursore di un potenziomentro una porzione di corrente deve essere per forza di cose possibile ridurre il volume .
Ricordo che una volta regolai il volume della macchina del pane in questa maniera, e l'uscita nonostante non fosse quella di un 328 era cmq l'uscita digitale di una MCU.

Io credo che dovresti inserire un condensatore per disaccoppiare il pot dall'altoparlante altrimenti la porzione di pot verso massa entra in parallelo con la resistenza dell'altoparlante.Quindi tra il cursore del pot e altoparlante prova con un condensatore da 1uF e dovresti risolvere.

grazie per l'idea!! il - (meno) dove dovrebbe ancare?

Il + lo colleghi al cursore del pot, il meno all'altoparlante.

Il pin di arduino va all'ingresso del potenziometro,il cursore (pin centrale) va al condensatore,il terzo ed ultimo pin del pot va a massa,l'uscita del condensatore va all'altoparlante,l'altro pin dell'altoparlante va a massa.