Kazalo:

Arduino Nano diktafon z mikrofonom MAX9814: 3 koraki
Arduino Nano diktafon z mikrofonom MAX9814: 3 koraki

Video: Arduino Nano diktafon z mikrofonom MAX9814: 3 koraki

Video: Arduino Nano diktafon z mikrofonom MAX9814: 3 koraki
Video: Жучок - прослушка на Arduino + NRF24L01 2024, Julij
Anonim
Arduino Nano snemalnik zvoka z mikrofonom MAX9814
Arduino Nano snemalnik zvoka z mikrofonom MAX9814
Arduino Nano snemalnik zvoka z mikrofonom MAX9814
Arduino Nano snemalnik zvoka z mikrofonom MAX9814
Arduino Nano snemalnik zvoka z mikrofonom MAX9814
Arduino Nano snemalnik zvoka z mikrofonom MAX9814

Od dostave AZ na Amazon sem dobil mikrofon MAX9814 in želel sem preizkusiti napravo. Zato sem ustvaril ta preprost projekt, zgrajen na osnovi vohuna Velikega Scotta (objavljen pod to licenco Creative Commons). Strukturo projektov sem precej spremenil, da sem izboljšal učinkovitost in dodal nekaj novih funkcij. To je moj prvi projekt Instructables, zato ne bo popoln, vendar sem se pripravljen učiti in biti odprt za nasvete.

Na koncu se dodajo rezultati preskusov mikrofona z različnimi ojačitvami, zato če želite primerjati samo kakovost dobičkov 40dB, 50dB in 60dB, lahko preskočite tja.

Upam, da bo ta projekt koristen za ljudi, ki poskušajo v svoj projekt vključiti mikrofon. Upam tudi, da bom ta projekt naredil čim bolj dostopen začetnikom, zato sem v kodo dodal veliko pripomb, a tudi svoje delo bom z veseljem popravil in dodal še kakšno dodatno pojasnilo, ki bi bilo v pomoč. Ožičenje je zelo prijazno začetnikom, vendar je izvajanje programske opreme nekoliko bolj zapleteno.

Oglejte si vse projektne datoteke in predlagajte izboljšave moje kode v mojem skladišču GitHub.

Zaloge:

Amazon:

  • Mikrofon MAX9814 z ojačevalnikom
  • Ogledna plošča
  • Arduino Nano (To je paket 3, vendar ste potrebovali samo enega!)
  • Bralnik kartic SD
  • LED
  • Upori
  • Taktilni gumbi
  • Mini B kabel USB B (za Arduino Nano)
  • Napajalnik USB (uporabil sem poceni, kupljen lokalno)

1. korak: Vezje in razlaga naprave

Vezje in razlaga naprave
Vezje in razlaga naprave

Svoje vezje sem prilagodil za delo z napravo Arduino Nano, vendar ga lahko zaženete na različnih napravah Arduino tako, da uredite številke pin na vrhu moje kode (naslednji razdelek). Če želite nastaviti vezje v svoji napravi, poiščite "Arduino [vaš model] pinout" in mora biti veliko slik, ki ponazarjajo, katere funkcije lahko izvede vsak pin (npr. Analogni vhod, SS, MOSI itd.). Večina naprav ima tudi označene zatiče. To shemo sem narisal z urejevalnikom EasyEDA, vendar sem jo ustvaril s pomočjo spajkane plošče, saj sem to želel ustvariti čim hitreje in želel sem hitro znova konfigurirati postavitev.

2. korak: Programiranje

Programiranje
Programiranje

Napisal sem nekaj preproste kode za snemanje zvoka na napravi. Kot navdih sem uporabil kodo Great Scotta, vendar sem uporabil spremembo strukture za povečanje učinkovitosti in preprostosti. Odstranil sem tudi omejitve glede števila datotek, ki jih je mogoče posneti, in dodal več komentarjev, ki bi morali začetnikom pomagati pri krmarjenju. Prenesite dokončano kodo spodaj in jo odprite z Arduino IDE. Prenesite potrebne module ("SD.h", "SPI.h" in "TMRpcm.h") z upraviteljem paketov Arduino (prikazano na zgornjih slikah).

Snemanje v datoteko WAV na kartico SD je napredna funkcija knjižnice TMRpcm, zato za njeno uporabo morate urediti konfiguracijsko datoteko knjižnice. Čeprav se to sliši zastrašujoče (vsaj zame se je to zgodilo), išče samo datoteko "pcmConfig.h" z raziskovalcem datotek in razkomentira nekaj vrstic kode (nato jo shrani).

  1. Na ploščah Uno ali non-mega razkomentirajte vrstico #define buffSize 128
  2. Odkomentirajte tudi #define ENABLE_RECORDING in #define BLOCK_COUNT 10000UL

Ko se popolnoma vrnete v Arduino IDE, priključite svoj Arduino, ga izberite in nato sestavite in naložite program. Če odprete serijski monitor, boste med izvajanjem dobili tudi nekaj povratnih informacij.

3. korak: Končan projekt in testiranje

Končan projekt in testiranje
Končan projekt in testiranje

Ko sem končal ožičenje in odpravljanje napak, sem preizkusil projekt.

OPOZORILO ob ponovnem zagonu naprave se ponastavi števec imen datotek, zaradi česar bodo nove datoteke prepisale stare datoteke.

Za uporabo naprave:

  1. priključite napajalni kabel USB v Arduino
  2. pritisnite tipko na dotik, da začnete snemanje (LED lučka zasveti, da to označi)
  3. za konec snemanja znova pritisnite gumb
  4. ponovite, ker je potrebno toliko posnetkov
  5. odklopite napajalni kabel USB
  6. Odstranite kartico SD
  7. Vstavite kartico SD v računalnik ali telefon
  8. Odprite datoteke v izbrani aplikaciji za predvajanje

Prvotni namen tega projekta je bil preizkusiti mikrofon MAX9814, zato sem izvedel tri teste, da bi ugotovil, kako je njegov vgrajeni ojačevalnik vplival na rezultat. Med produkcijo posnetkov sem kot kontrolno spremenljivko uporabil eno Mozartovo simfonijo. Predvajal sem ga na zvočniku telefona, ki sem ga za vse tri posnetke držal usmerjen proti mikrofonu na stalni razdalji. Edina spremenljivka, ki sem jo spremenil, je ojačanje mikrofona (nastavljeno tako, da ga priključim na VCC, GND ali pustim lebdečega). Nastali zvočni posnetki so priloženi. 40dB in 60dB zvok sem združil tudi v en sam posnetek, v katerem se 40dB predvaja v levem ušesu, 60dB pa v desnem. Zaradi tega je razlika v kakovosti zelo opazna in poudarja, kako pomemben je dobiček, ki ga zagotavlja modul MAX9814.

Na splošno sem bil z rezultati snemanja neverjetno zadovoljen, še posebej, ker je nastavitev naprave ena najpreprostejših, kar sem jih videl (samo s tremi žicami in brez zunanjih komponent - tudi za preprosto LED je potreben upor). Upoštevati je treba tudi, da ima Arduino Nano 10 -bitni ADC, zato je lahko vsako odčitavanje amplitude le ena od 1024 diskretnih vrednosti. Zaradi dobre kakovosti zvoka, kompaktne velikosti in zanemarljive porabe energije; Upam, da bom napravo uporabil pri prihodnjih projektih.

Če nisem dovolj podrobno razložil, bi z veseljem pomagal in dodal dodatno pojasnilo. To je moj prvi Instructables, zato se lahko vsak nasvet, ki ga dobim zdaj, odrazi v vseh mojih prihodnjih projektih. Če imate kakršne koli predloge za izboljšanje mojih kod, jih bom z veseljem dodal v svoj projekt na GitHubu in tem Instructables.

Priporočena: