Innholdsfortegnelse:

Arduino Nano Voice Recorder Med MAX9814 mikrofon: 3 trinn
Arduino Nano Voice Recorder Med MAX9814 mikrofon: 3 trinn

Video: Arduino Nano Voice Recorder Med MAX9814 mikrofon: 3 trinn

Video: Arduino Nano Voice Recorder Med MAX9814 mikrofon: 3 trinn
Video: Ардуино микро диктофон с функцией Активации Голосом (VAS) 2024, Juli
Anonim
Arduino Nano taleopptaker med MAX9814 mikrofon
Arduino Nano taleopptaker med MAX9814 mikrofon
Arduino Nano Voice Recorder Med MAX9814 mikrofon
Arduino Nano Voice Recorder Med MAX9814 mikrofon
Arduino Nano taleopptaker med MAX9814 mikrofon
Arduino Nano taleopptaker med MAX9814 mikrofon

Jeg fikk en MAX9814 mikrofon fra AZ -levering på Amazon og ønsket å teste enheten. Derfor opprettet jeg dette enkle prosjektet bygget på Great Scotts Spy Bug (publisert under denne creative commons -lisensen). Jeg endret prosjektstrukturen ganske mye for å forbedre effektiviteten og legge til noen nye funksjoner. Dette er mitt første Instructables -prosjekt, så det blir ikke perfekt, men jeg er villig til å lære og åpen for råd.

Testresultater fra mikrofonen med forskjellige gevinster legges til på slutten, så hvis du bare vil sammenligne kvaliteten på 40dB, 50dB og 60dB gevinster, kan du hoppe til der.

Jeg håper dette prosjektet vil være nyttig for folk som prøver å implementere en mikrofon i prosjektet sitt. Jeg håper også å gjøre dette prosjektet så tilgjengelig for nybegynnere som mulig, så jeg har lagt til mange kommentarer til koden min, men er også glad for å revidere arbeidet mitt for å legge til en ekstra avklaring som ville være nyttig. Ledningene er veldig nybegynnervennlige, men implementering av programvaren er litt vanskeligere.

Se alle prosjektfilene og foreslå forbedringer av koden min på GitHub -depotet mitt.

Rekvisita:

Amazon:

  • MAX9814 mikrofon med forsterker
  • Brødbrett
  • Arduino Nano (Det er en pakke med 3, men du trengte bare en!)
  • SD -kortleser
  • Lysdioder
  • Motstander
  • Taktile knapper
  • USB B Mini -kabel (for Arduino Nano)
  • USB strømbank (jeg brukte en billig kjøpt lokalt)

Trinn 1: Krets og forklaring av enheten

Krets og forklaring av enheten
Krets og forklaring av enheten

Jeg tilpasset kretsen min til å fungere med Arduino Nano -enheten, men du kan kjøre kretsen din på forskjellige Arduino -enheter ved å redigere pin -tallene øverst i koden min (neste avsnitt). For å sette opp kretsen på enheten søker du etter "Arduino [din modell] pinout", og det skal være mange bilder som illustrerer hvilke funksjoner hver pin kan utføre (f.eks. Analog inngang, SS, MOSI osv.). De fleste enheter kommer også med merkede pinner. Jeg tegnet denne skjematikken ved hjelp av EasyEDA -redaktøren, men opprettet den ved hjelp av et loddeløst brødbrett, ettersom jeg ønsket å lage dette så raskt som mulig og ville raskt omkonfigurere oppsettet.

Trinn 2: Programmering

Programmering
Programmering

Jeg skrev en enkel kode for opptak av lyden på enheten. Jeg brukte Great Scotts kode som inspirasjon, men brukte endret strukturen for å øke effektiviteten og enkelheten. Jeg fjernet også begrensningene for antall filer som kan spilles inn og la til flere kommentarer som burde hjelpe nybegynnere med å navigere. Last ned den ferdige koden nedenfor og åpne den ved hjelp av Arduino IDE. Last ned de nødvendige modulene ("SD.h", "SPI.h" og "TMRpcm.h") ved hjelp av Arduino Package Manager (vist på bildene ovenfor).

Opptak til en WAV -fil på et SD -kort er en avansert funksjon i TMRpcm -biblioteket, så for å bruke den må du redigere konfigurasjonsfilen til biblioteket. Selv om dette høres skremmende ut (det gjorde det i hvert fall for meg), er det bare å søke etter "pcmConfig.h" -filen ved hjelp av filutforskeren og ikke kommentere noen få kodelinjer (deretter lagre den).

  1. På Uno eller ikke-mega-brett, kommenter linjen #define buffSize 128
  2. Ikke kommenter også #definer ENABLE_RECORDING og #define BLOCK_COUNT 10000UL

Når du er ferdig med å gå tilbake til Arduino IDE, kobler du til Arduino, velger den og kompilerer og laster opp programmet. Å åpne den serielle skjermen vil også gi deg noen tilbakemeldinger i løpet av kjøretiden.

Trinn 3: Ferdig prosjekt og testing

Ferdig prosjekt og test
Ferdig prosjekt og test

Da jeg var ferdig med ledninger og feilsøking, testet jeg prosjektet.

ADVARSEL når enheten startes på nytt, vil telleren for filnavn tilbakestilles, slik at nye filer overskriver gamle filer.

Slik bruker du enheten:

  1. koble en USB -strømledning til Arduino
  2. Trykk på den berørbare knappen for å starte opptaket (LED -lampen lyser for å indikere dette)
  3. Trykk på knappen igjen for å avslutte innspillingen
  4. gjenta for så mange opptak som er nødvendige
  5. koble fra USB -strømkabelen
  6. Ta ut SD -kortet
  7. Sett inn SD -kortet i en datamaskin eller telefon
  8. Åpne filene i det valgte avspillingsprogrammet

Det opprinnelige formålet med dette prosjektet var å teste MAX9814 -mikrofonen, så jeg gjennomførte tre tester for å finne ut hvilken effekt den innebygde forsterkeren hadde på resultatet. Mens jeg produserte innspillingene brukte jeg en av Mozarts symfonier som en kontrollvariabel. Jeg spilte den på telefonens høyttaler som jeg pekte på mikrofonen på konstant avstand for alle tre opptakene. Den eneste variabelen jeg endret var forsterkningen til mikrofonen (justert ved å koble den til VCC, GND eller la den være flytende). De resulterende lydklippene er vedlagt. Jeg kombinerte også 40dB og 60dB -lyden til et enkelt opptak der 40dB spilles i venstre øre og 60dB spilles i høyre øre. Dette gjør forskjellen i kvalitet veldig merkbar og fremhever hvor viktig gevinsten fra MAX9814 -modulen er.

Totalt sett var jeg utrolig fornøyd med opptaksresultatene, spesielt ettersom oppsettet for enheten er en av de enkleste jeg har sett (med bare tre ledninger og ingen eksterne komponenter - selv en enkel LED krever en motstand). Det må også tas i betraktning at Arduino Nano har en 10bit ADC, slik at enhver amplitudeavlesning bare kan være en av 1024 diskrete verdier. På grunn av sin gode lydkvalitet, kompakte størrelse og ubetydelige strømforbruk; Jeg håper å kunne bruke enheten i fremtidige prosjekter.

Hvis jeg ikke har gått i detalj nok, vil jeg mer enn gjerne hjelpe og legge til en ekstra avklaring. Dette er min første instruks, så alle råd jeg får nå kan gjenspeiles i alle prosjektene mine som kommer. Hvis du har forslag til forbedring av kodene mine, vil jeg gjerne legge dem til i prosjektet mitt på GitHub og denne instruksen.

Anbefalt: