Indholdsfortegnelse:

Arduino Nano stemmeoptager med MAX9814 mikrofon: 3 trin
Arduino Nano stemmeoptager med MAX9814 mikrofon: 3 trin

Video: Arduino Nano stemmeoptager med MAX9814 mikrofon: 3 trin

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

Jeg fik en MAX9814 mikrofon fra AZ levering på Amazon og ville teste enheden. Derfor skabte jeg dette enkle projekt bygget på Great Scotts Spy Bug (udgivet under denne creative commons -licens). Jeg ændrede projektstrukturen en del for at forbedre effektiviteten og tilføje et par nye funktioner. Dette er mit første Instructables -projekt, så det vil ikke være perfekt, men jeg er villig til at lære og åben for råd.

Testresultater fra mikrofonen med forskellige gevinster tilføjes i slutningen, så hvis du kun vil sammenligne kvaliteten af 40dB, 50dB og 60dB gevinster, kan du springe derhen.

Jeg håber, at dette projekt vil være nyttigt for folk, der prøver at implementere en mikrofon i deres projekt. Jeg håber også at gøre dette projekt så tilgængeligt for begyndere som muligt, så jeg har tilføjet mange kommentarer til min kode, men er også glad for at kunne revidere mit arbejde for at tilføje en ekstra præcisering, der ville være nyttig. Ledningerne er meget begyndervenlige, men implementering af softwaren er lidt vanskeligere.

Se alle projektfilerne og foreslå forbedringer af min kode på mit GitHub -lager.

Tilbehør:

Amazon:

  • MAX9814 mikrofon med forstærker
  • Brødbræt
  • Arduino Nano (Det er en pakke med 3, men du havde kun brug for en!)
  • SD -kortlæser
  • LED'er
  • Modstande
  • Taktile knapper
  • USB B Mini -kabel (til Arduino Nano)
  • USB powerbank (jeg brugte en billig, købt lokalt)

Trin 1: Kredsløb og forklaring af enheden

Kredsløb og forklaring af enheden
Kredsløb og forklaring af enheden

Jeg tilpassede mit kredsløb til at arbejde med Arduino Nano -enheden, men du kan køre dit kredsløb på forskellige Arduino -enheder ved at redigere stiftnumrene øverst i min kode (næste afsnit). For at opsætte kredsløbet på din enhed skal du søge efter "Arduino [Din model] pinout", og der skal være mange billeder, der illustrerer, hvilke funktioner hver pin kan udføre (f.eks. Analog Input, SS, MOSI osv.). De fleste enheder leveres også med mærker. Jeg tegnede denne skematisk ved hjælp af EasyEDA -editoren, men oprettede den ved hjælp af et loddefrit brødbræt, da jeg ønskede at oprette dette så hurtigt som muligt og hurtigt ville omkonfigurere layoutet.

Trin 2: Programmering

Programmering
Programmering

Jeg skrev en simpel kode til optagelse af lyden på enheden. Jeg brugte Great Scotts kode som inspiration, men brugte ændret strukturen for at øge effektiviteten og enkelheden. Jeg fjernede også begrænsningerne for antallet af filer, der kunne optages, og tilføjede flere kommentarer, som skulle hjælpe begyndere med at navigere. Download den færdige kode herunder, og åbn den ved hjælp af Arduino IDE. Download de nødvendige moduler ("SD.h", "SPI.h" og "TMRpcm.h") ved hjælp af Arduino Package manager (vist på billederne ovenfor).

Optagelse til en WAV -fil på et SD -kort er en avanceret funktion i TMRpcm -biblioteket, så du skal redigere bibliotekets konfigurationsfil for at bruge den. Selvom dette lyder skræmmende (det gjorde det i hvert fald for mig), søger det kun efter "pcmConfig.h" -filen ved hjælp af filudforskeren og fjerner et par linjer med kode (derefter gemmer den).

  1. På Uno eller ikke-mega-tavler skal du kommentere linjen #define buffSize 128
  2. Fjern også kommentaren #define ENABLE_RECORDING og #define BLOCK_COUNT 10000UL

Når du er færdig med at vende tilbage til Arduino IDE, skal du tilslutte din Arduino, vælge den og derefter kompilere og uploade programmet. Åbning af den serielle skærm vil også give dig lidt feedback i løbetid.

Trin 3: Færdiggjort projekt og test

Afsluttet projekt og test
Afsluttet projekt og test

Da jeg var færdig med ledningerne og fejlfinding, testede jeg projektet.

ADVARSEL genstart af enheden nulstiller filnavntælleren, hvilket får nye filer til at overskrive gamle filer.

Sådan bruges enheden:

  1. tilslut en USB -strømledning til Arduino
  2. tryk på tasten for at starte optagelsen (LED'en lyser for at angive dette)
  3. tryk på knappen igen for at afslutte optagelsen
  4. gentag for så mange optagelser er nødvendige
  5. frakobl USB -strømkablet
  6. Fjern SD -kortet
  7. Indsæt SD -kortet i en computer eller telefon
  8. Åbn filerne i dit valgte afspilningsprogram

Det oprindelige formål med dette projekt var at teste MAX9814 mikrofonen, så jeg gennemførte tre tests for at finde ud af den effekt, den indbyggede forstærker havde på resultatet. Under produktionen af indspilningerne brugte jeg en af Mozarts symfonier som en kontrolvariabel. Jeg spillede det på min telefons højttaler, som jeg holdt pegede på mikrofonen på en konstant afstand for alle tre optagelser. Den eneste variabel, jeg ændrede, var mikrofonens forstærkning (justeret ved at tilslutte den til VCC, GND eller lade den flyde). De resulterende lydklip er vedhæftet. Jeg kombinerede også 40dB og 60dB -lyden til en enkelt optagelse, hvor 40dB afspilles i venstre øre, og 60dB afspilles i højre øre. Dette gør forskellen i kvalitet meget mærkbar og fremhæver, hvor vigtig gevinsten fra MAX9814 -modulet er.

Samlet set var jeg utrolig glad for optagelsesresultaterne, især da opsætningen til enheden er en af de enkleste, jeg har set (med kun tre ledninger og ingen eksterne komponenter - selv en simpel LED kræver en modstand). Det skal også tages i betragtning, at Arduino Nano har en 10bit ADC, så enhver amplitudeaflæsning kun kan være en af 1024 diskrete værdier. På grund af sin gode lydkvalitet, kompakte størrelse og ubetydelige strømforbrug; Jeg håber at kunne bruge enheden i fremtidige projekter.

Hvis jeg ikke er gået i detaljer nok, hjælper jeg mere end gerne og tilføjer ekstra præcisering. Dette er min første instruktionsartikel, så ethvert råd, jeg får nu, kan afspejles i alle mine kommende projekter. Hvis du har forslag til at forbedre mine koder, tilføjer jeg dem gerne til mit projekt på GitHub og denne Instructables.

Anbefalede: