Arduino: leggere il valore da un microfono

Ciao!

Questo circuito permette di amplificare una capsula microfonica, cosa necessaria per permettere ad Arduino di "sentire" i suoni che lo circondano.
Nella parte in alto a sinistra è alloggiato il microfono a condensatore, con la resistenza da 33k (al posto di questa si può mettere un potenziometro per regolare il volume di ingresso) e il condensatore da 100nF che permettono di prelevare il segnale audio non amplificato.
Questo segnale viaggia nel filo blu e arriva all'LM386, che amplifica il segnale del microfono con un guadagno pari a 200. Il segnale prelevato in uscita viene infine collegato ad un ingresso analogico di Arduino, che ora può finalmente rilevarlo.




ecco lo schema elettrico:








Qui il semplice sketch, preso da un esempio di Arduino, per leggere il segnale di ingresso:

  1. const int analogInPin = A0;  // Analog input pin a cui è collegato il microfono.
  2. int sensorValue = 0;        // valore letto dal potenziometro.
  3. void setup() {
  4.   // inizializza la comunicazione seriale a 9600 bps:
  5.   Serial.begin(9600);
  6. }
  7. void loop() {
  8.   // leggi il valore del microfono.
  9.   sensorValue = analogRead(analogInPin);            
  10.          
  11. if (sensorValue > 6) {
  12.   // ho messo il valore 6 per rimuovere il rumore di fondo.
  13.   // stampa i risultati sul serial monitor:
  14.   Serial.print("sensor = " );                      
  15.   Serial.println(sensorValue);      
  16.  }
  17.   // aspetta 5 millisecondi prima del prossimo loop
  18.   delay(5);                    
  19. }


Segui Daniele Alberti su Google+

6 commenti:

  1. Risposte
    1. Tutti i circuiti postati li ho costruiti e provati personalmente.
      Se mi dici quali sono i problemi sarò felice di aiutarti :).
      Verifica i collegamenti guardando entrambi gli schemi. Tieni presente che i fili rossi vanno sempre al + e i neri al -.
      Verifica il verso dei condensatori, prova a collegare il circuito direttamente ad un piccolo altoparlante. Per farlo stacca il filo che va ad A0 di Arduino e collega lí l'altoparlante. Se parli nel microfono devi sentire il suono amplificato.
      Fammi sapere. Ciao!

      Elimina
  2. Ciao Daniele. Grazie per la tua pazienza. Vorrei costruire un circuito amplificatore vocale di circa 5-10W con Arduino, sul genere di cui sopra. Mi chiedevo se potessi darmi qualche dritta su come aumentare la potenza finale. Grazie.

    RispondiElimina
  3. salve mi presento mi chiamo francesco sono un appassionato di musica e vorrei realizzare un dispositivo che mi permettesse di poter tramette audio analogico tra il mio mixer audio ai diffusori casse amplificate senza utilizzare di cavi audio ma mediante una trasmissione wi-fi a 2.4gh con i moduli arduino e possibile realizzare una ricevitore e un trasmettitore con ingresso analogico trasmisione digitale e uscita analogica guardando il tuo progetto credo che se invece del microfono entrerei con un segnale musicale e possibile che arduino uno lo potrebbe leggere grazie fin d'ora per la tua disponibilita

    RispondiElimina
  4. Buongiorno Daniele,
    Se collegassi l'uscita del circuito(il filo che va ad A0 di Arduino) con l'entrata aux di uno stereo, il microfono funzionerebbe?
    Il circuito sarebbe valido come preamplificazione per questo scopo?
    Grazie.

    RispondiElimina
    Risposte
    1. Ciao, si il circuito e un tipico preamplificatore, probabilmente la qualità non sarà eccelsa, inoltre fai attenzione al livello di tensione massimo che fai entrare nello stereo

      Elimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Altri Post