Sommario:

Registratore vocale Arduino Nano con microfono MAX9814: 3 passaggi
Registratore vocale Arduino Nano con microfono MAX9814: 3 passaggi

Video: Registratore vocale Arduino Nano con microfono MAX9814: 3 passaggi

Video: Registratore vocale Arduino Nano con microfono MAX9814: 3 passaggi
Video: Arduino NANO and WS2812 VU meter 2024, Luglio
Anonim
Registratore vocale Arduino Nano con il microfono MAX9814
Registratore vocale Arduino Nano con il microfono MAX9814
Registratore vocale Arduino Nano con il microfono MAX9814
Registratore vocale Arduino Nano con il microfono MAX9814
Registratore vocale Arduino Nano con microfono MAX9814
Registratore vocale Arduino Nano con microfono MAX9814

Ho ricevuto un microfono MAX9814 dalla consegna dalla A alla Z su Amazon e volevo testare il dispositivo. Pertanto, ho creato questo semplice progetto basato su Spy Bug di Great Scott (pubblicato sotto questa licenza creative commons). Ho modificato un po' la struttura dei progetti per migliorare l'efficienza e aggiungere alcune nuove funzionalità. Questo è il mio primo progetto Instructables, quindi non sarà perfetto, ma ho voglia di imparare e sono aperto ai consigli.

Alla fine vengono aggiunti i risultati dei test del microfono con guadagni diversi, quindi se si desidera confrontare solo la qualità dei guadagni di 40dB, 50dB e 60dB, è possibile saltare a questo punto.

Spero che questo progetto sarà utile per le persone che cercano di implementare un microfono nel loro progetto. Spero anche di rendere questo progetto il più accessibile possibile ai principianti, quindi ho aggiunto molti commenti al mio codice, ma sono anche felice di rivedere il mio lavoro per aggiungere ulteriori chiarimenti che sarebbero utili. Il cablaggio è molto adatto ai principianti, ma l'implementazione del software è un po' più complicata.

Visualizza tutti i file di progetto e suggerisci miglioramenti al mio codice sul mio repository GitHub.

Forniture:

Amazzonia:

  • Microfono MAX9814 con amplificatore
  • tagliere
  • Arduino Nano (è un pacchetto di 3 ma ne serviva solo uno!)
  • Lettore di schede SD
  • LED
  • resistori
  • Pulsanti tattili
  • Cavo USB B Mini (per Arduino Nano)
  • Power bank USB (ne ho usato uno economico acquistato in loco)

Passaggio 1: circuito e spiegazione del dispositivo

Circuito e spiegazione del dispositivo
Circuito e spiegazione del dispositivo

Ho personalizzato il mio circuito per funzionare con il dispositivo Arduino Nano, ma puoi eseguire il tuo circuito su diversi dispositivi Arduino modificando i numeri dei pin nella parte superiore del mio codice (sezione successiva). Per configurare il circuito sul tuo dispositivo, cerca "Arduino [Il tuo modello] pinout" e dovrebbero esserci molte immagini che illustrano quali funzioni può svolgere ciascun pin (ad es. Ingresso analogico, SS, MOSI ecc.). La maggior parte dei dispositivi è inoltre dotata di pin etichettati. Ho disegnato questo schema utilizzando l'editor EasyEDA ma l'ho creato utilizzando una breadboard senza saldatura poiché volevo crearlo il più rapidamente possibile e volevo riconfigurare rapidamente il layout.

Passaggio 2: programmazione

Programmazione
Programmazione

Ho scritto un semplice codice per registrare l'audio sul dispositivo. Ho usato il codice di Great Scott come ispirazione, ma ho cambiato la struttura per aumentare l'efficienza e la semplicità. Ho anche rimosso le restrizioni sul numero di file che potevano essere registrati e ho aggiunto più commenti che dovrebbero aiutare i principianti a navigare. Scarica il codice finito di seguito e aprilo utilizzando l'IDE di Arduino. Scarica i moduli richiesti ("SD.h", "SPI.h" e "TMRpcm.h") utilizzando il gestore di pacchetti Arduino (mostrato nelle immagini sopra).

La registrazione in un file WAV su una scheda SD è una funzionalità avanzata della libreria TMRpcm, quindi per utilizzarla è necessario modificare il file di configurazione della libreria. Anche se questo sembra scoraggiante (lo ha fatto almeno per me) sta solo cercando il file "pcmConfig.h" usando Esplora file e decommentando alcune righe di codice (quindi salvandolo).

  1. Su schede Uno o non-mega decommenta la riga #define buffSize 128
  2. Decommenta anche #define ENABLE_RECORDING e #define BLOCK_COUNT 10000UL

Una volta completato, torna all'IDE di Arduino, collega il tuo Arduino, selezionalo, quindi compila e carica il programma. L'apertura del monitor seriale ti darà anche un feedback durante il runtime.

Passaggio 3: progetto finito e test

Progetto finito e test
Progetto finito e test

Quando ho terminato il cablaggio e il debug, ho testato il progetto.

ATTENZIONE il riavvio del dispositivo ripristinerà il contatore del nome del file, facendo sì che i nuovi file sovrascrivano i vecchi.

Per utilizzare il dispositivo:

  1. collegare un cavo di alimentazione USB ad Arduino
  2. premere il pulsante tattile per avviare la registrazione (il LED si accenderà per indicarlo)
  3. premere nuovamente il pulsante per terminare la registrazione
  4. ripetere per quante registrazioni sono necessarie
  5. scollegare il cavo di alimentazione USB
  6. Rimuovere la scheda SD
  7. Inserisci la scheda SD in un computer o telefono
  8. Apri i file nell'applicazione di riproduzione scelta

Lo scopo iniziale di questo progetto era testare il microfono MAX9814, quindi ho condotto tre test per scoprire l'effetto che il suo amplificatore integrato ha avuto sul risultato. Durante la produzione delle registrazioni ho usato una delle sinfonie di Mozart come variabile di controllo. L'ho ascoltato sull'altoparlante del mio telefono che ho tenuto puntato verso il microfono a una distanza costante per tutte e tre le registrazioni. L'unica variabile che ho modificato è stato il guadagno del microfono (regolato collegandolo a VCC, GND o lasciandolo flottante). Le clip audio risultanti sono allegate. Ho anche combinato l'audio da 40dB e 60dB in un'unica registrazione in cui i 40dB vengono riprodotti nell'orecchio sinistro e i 60dB nell'orecchio destro. Questo rende molto evidente la differenza in termini di qualità ed evidenzia quanto sia importante il guadagno fornito dal modulo MAX9814.

Nel complesso, sono rimasto incredibilmente soddisfatto dei risultati della registrazione, soprattutto perché la configurazione del dispositivo è una delle più semplici che abbia mai visto (con solo tre fili e nessun componente esterno - anche un semplice LED richiede un resistore). Va inoltre tenuto presente che Arduino Nano ha un ADC a 10 bit, quindi qualsiasi lettura di ampiezza può essere solo uno dei 1024 valori discreti. Grazie alla sua buona qualità audio, alle dimensioni compatte e al consumo energetico trascurabile; Spero di utilizzare il dispositivo in progetti futuri.

Se non sono entrato abbastanza nei dettagli, sarei più che felice di aiutare e aggiungere ulteriori chiarimenti. Questo è il mio primo Instructables, quindi qualsiasi consiglio che mi viene dato ora può essere riflesso in tutti i miei progetti a venire. Se hai suggerimenti per migliorare i miei codici, sarei felice di aggiungerli al mio progetto su GitHub e questo Instructables.

Consigliato: