Microfono Adafruit MAX9814 con Arduino

Microfono Adafruit MAX9814 con Arduino

Ben ritrovati su 9minuti.it, oggi parleremo di un microfono che, a differenza degli altri venduti nei vari kit, funziona.

È stato progettatto dai mitici ragazzi della Adafruit ed è stato reso open source, quindi si trovano anche i cloni a poco.

Ogni tanto però sarebbe anche giusto supportarli, non credete?

 

Microfono Adafruit MAX9814 con Arduino

Microfono Adafruit MAX9814 con Arduino

Il collegamento  del Microfono Adafruit MAX9814 con Arduino

Bisogna solo collegare Vdd, Gnd e la porta Out a un’entrata analogica.

Se volessimo abbassare i db massimi captati dal modulo bisogna connettere Gain a Gnd o a Vdd, c’è tutto scritto sul modulo stesso ed è piuttosto intuitivo.

microfonoAdafruit

Lo sketch

Questo sketch non l’ho scritto io ma l’ho preso da sito della Adafruit ed è stato scritto appositamente per il microfono Adafruit MAX9814 con Arduino.

Vediamo il codice riga per riga.

Il commento

6 – Dichiarazione della costante intera sampleWindow che sarà il tempo espresso in millisecondi fra una lettura e l’altra
7 – Dichiarazione di un intero unsigned di nome sample
9 – Apertura del Setup
11 – Inizializziamo la porta seriale
15 – Apertura del ciclo Loop
17 – Salviamo i millis attuali nella variabile startMillis di tipo long unsigned
18 – Creazione della variabile peakToPeak usata per salvare dentro la differenza fra il segnale minimo e il massimo
20 – signalMax è il valore massimo
21 – signalMin è il valore minimo
24 – Finché il contatore di millisecondi da quando è stato acceso Arduino, a cui sottraggo i millisecondi contenuti in startMillis, sono superiori alla nostra sampleWindow, allora eseguiamo il codice all’interno del ciclio while
26 – Salviamo all’interno della variabile sample il valore letto sull’entrata analogica 0
27 – Se il valore di sample è inferiore a 1024, ovvero il valore massimo leggibile sulla porta analogica
29 – Se il valore di sample è maggiore del valore massimo riscontrato salvato dentro signalMax
31 – Aggiorna il valore massimo con quello contenuto in sample
33 – Altrimenti, se il valore di sample è inferiore a signalMin
35 – Aggiornamento del valore di signalMin con il valore contenuto in sample
39 – peakToPeak è la variabile che conterrà la differenza tra il valore massimo e il valore minimo riscontrato
40 – Il valore peakToPeak viene moltiplicato per 5 che è il voltaggio con cui funziona Arduino e poi diviso per 1024 perché la porta analogica può andare da 0 a 1024.
42 – Stampa della variabile volts che conterrà il nostro valore!

Spero via sia piaciuto e che vogliate condividere questo articolo per supportare il blog.

Per questo tutorial è tutto e spero che vi sia stato utile e se avete bisogno di aiuto rimango a disposizione.

Come sempre vi chiedo se potete gentilmente commentare o condividere questo articolo per aiutarmi nella manutenzione del sito web.

Grazie mille,
Alessandro

Alessandro

Alessandro è un milanese che vorrebbe scappare da Milano, è appassionato di informatica ma vorrebbe vivere senza telefono, è un artigiano eppure vorrebbe robotizzare tutto, impara una cosa e già vorrebbe studiare dell’altro. Autodidatta da sempre, gli piace sbattere la testa finché tutto non funziona come vuole lui, spesso ci riesce anche! Il motto che si ripete dentro la testa è: “Se ci sono riusciti gli altri ci posso riuscire anche io”.

Potrebbero interessarti anche...

Cosa ne pensi? Fammelo sapere con un messaggio

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: