Turinys:

„Arduino Nano“diktofonas su MAX9814 mikrofonu: 3 žingsniai
„Arduino Nano“diktofonas su MAX9814 mikrofonu: 3 žingsniai

Video: „Arduino Nano“diktofonas su MAX9814 mikrofonu: 3 žingsniai

Video: „Arduino Nano“diktofonas su MAX9814 mikrofonu: 3 žingsniai
Video: Sound Sensor Potentiometer Adjustment 2024, Lapkritis
Anonim
„Arduino Nano“diktofonas su MAX9814 mikrofonu
„Arduino Nano“diktofonas su MAX9814 mikrofonu
„Arduino Nano“diktofonas su MAX9814 mikrofonu
„Arduino Nano“diktofonas su MAX9814 mikrofonu
„Arduino Nano“diktofonas su MAX9814 mikrofonu
„Arduino Nano“diktofonas su MAX9814 mikrofonu

Aš gavau MAX9814 mikrofoną iš AZ pristatymo „Amazon“ir norėjau išbandyti įrenginį. Todėl sukūriau šį paprastą projektą, pagrįstą Didžiojo Skoto šnipinėjimo klaida (paskelbta pagal šią „Creative Commons“licenciją). Aš šiek tiek pakeičiau projektų struktūrą, kad padidinčiau efektyvumą ir pridėčiau keletą naujų funkcijų. Tai mano pirmasis „Instructables“projektas, todėl jis nebus tobulas, bet aš noriu mokytis ir esu atviras patarimams.

Bandymo rezultatai iš mikrofono su skirtingais stiprinimais pridedami pabaigoje, taigi, jei norite palyginti tik 40 dB, 50 dB ir 60 dB stiprinimo kokybę, galite ten pereiti.

Tikiuosi, kad šis projektas bus naudingas žmonėms, bandantiems į savo projektą įdiegti mikrofoną. Taip pat tikiuosi, kad šis projektas bus kuo labiau prieinamas pradedantiesiems, todėl prie savo kodo pridėjau daug komentarų, bet taip pat džiaugiuosi galėdamas patikslinti savo darbą ir papildomai paaiškinti, kas būtų naudinga. Laidai yra labai patogūs pradedantiesiems, tačiau įdiegti programinę įrangą yra šiek tiek sudėtingiau.

Peržiūrėkite visus projekto failus ir pasiūlykite mano kodo patobulinimus mano „GitHub“saugykloje.

Priedai:

„Amazon“:

  • MAX9814 mikrofonas su stiprintuvu
  • Bandomoji Lenta
  • „Arduino Nano“(pakuotėje yra 3, bet jums reikėjo tik vieno!)
  • SD kortelių skaitytuvas
  • Šviesos diodai
  • Rezistoriai
  • Liečiami mygtukai
  • USB B mini kabelis (skirtas „Arduino Nano“)
  • USB maitinimo bankas (naudojau pigų, pirktą vietoje)

1 žingsnis: grandinė ir prietaiso paaiškinimas

Prietaiso grandinė ir paaiškinimas
Prietaiso grandinė ir paaiškinimas

Aš pritaikiau savo grandinę, kad ji veiktų su „Arduino Nano“įrenginiu, tačiau jūs galite paleisti savo grandinę skirtinguose „Arduino“įrenginiuose, redaguodami PIN kodo viršuje esančius PIN kodus (kitas skyrius). Norėdami nustatyti grandinę savo įrenginyje, ieškokite „Arduino [Your model] pinout“ir turėtų būti daug vaizdų, iliustruojančių, kokias funkcijas gali atlikti kiekvienas kaištis (pvz., Analoginė įvestis, SS, MOSI ir kt.). Dauguma prietaisų taip pat yra su etiketėmis. Šią schemą nupiešiau naudodamas „EasyEDA“redaktorių, bet sukūriau ją naudodami be litavimo duonos lentą, nes norėjau ją sukurti kuo greičiau ir norėjau greitai perkonfigūruoti išdėstymą.

2 žingsnis: programavimas

Programavimas
Programavimas

Aš parašiau paprastą kodą garso įrašymui įrenginyje. Aš įkvėpiau „Great Scott“kodą, tačiau pakeičiau struktūrą, kad padidinčiau efektyvumą ir paprastumą. Taip pat pašalinau apribojimų, kiek failų galima įrašyti, skaičių ir pridėjau daugiau komentarų, kurie turėtų padėti pradedantiesiems naršyti. Atsisiųskite gatavą kodą žemiau ir atidarykite jį naudodami „Arduino IDE“. Atsisiųskite reikiamus modulius („SD.h“, „SPI.h“ir „TMRpcm.h“) naudodami „Arduino“paketų tvarkyklę (parodyta aukščiau esančiuose paveikslėliuose).

Įrašymas į WAV failą SD kortelėje yra išplėstinė TMRpcm bibliotekos funkcija, todėl norėdami ją naudoti, turite redaguoti bibliotekos konfigūracijos failą. Nors tai skamba bauginančiai (bent jau man), ji tik ieško failo „pcmConfig.h“naudodami failų naršyklę ir nekomentuoja kelių kodo eilučių (tada išsaugo).

  1. „Uno“ar ne mega plokštėse nekomentuokite eilutės #define buffSize 128
  2. Taip pat atšaukite komentarus #define ENABLE_RECORDING ir #define BLOCK_COUNT 10000UL

Grįžę prie „Arduino IDE“, prijunkite „Arduino“, pasirinkite jį, tada sukompiliuokite ir įkelkite programą. Atidarę serijinį monitorių, taip pat gausite grįžtamojo ryšio veikimo metu.

3 žingsnis: baigtas projektas ir bandymai

Baigtas projektas ir bandymai
Baigtas projektas ir bandymai

Kai baigiau laidus ir derinimą, išbandžiau projektą.

ĮSPĖJIMAS iš naujo paleidus įrenginį bus iš naujo nustatytas failų pavadinimų skaitiklis, todėl nauji failai perrašys senus failus.

Norėdami naudoti įrenginį:

  1. prijunkite USB maitinimo laidą prie „Arduino“
  2. paspauskite lytėjimo mygtuką, kad pradėtumėte įrašymą (šviesos diodas užsidegs, kad tai parodytų)
  3. dar kartą paspauskite mygtuką, kad baigtumėte įrašymą
  4. pakartokite tiek įrašų, kiek reikia
  5. atjunkite USB maitinimo kabelį
  6. Išimkite SD kortelę
  7. Įdėkite SD kortelę į kompiuterį ar telefoną
  8. Atidarykite failus pasirinktoje atkūrimo programoje

Pradinis šio projekto tikslas buvo išbandyti MAX9814 mikrofoną, todėl atlikau tris bandymus, norėdamas išsiaiškinti, kokį poveikį jo rezultatui turėjo jo įmontuotas stiprintuvas. Gamindamas įrašus kaip kontrolinį kintamąjį naudojau vieną iš Mozarto simfonijų. Aš jį grojau savo telefono garsiakalbyje, kurį visus tris įrašus nuolat nukreipiau į mikrofoną. Vienintelis kintamasis, kurį pakeičiau, buvo mikrofono stiprinimas (sureguliuotas prijungus jį prie VCC, GND arba paliekant plūduriuojantį). Gautas garso įrašas pridedamas. Aš taip pat sujungiau 40 dB ir 60 dB garsą į vieną įrašą, kuriame 40 dB grojamas kairėje ausyje, o 60 dB - dešinėje. Tai daro kokybės skirtumą labai pastebimą ir pabrėžia, koks svarbus yra MAX9814 modulio teikiamas pelnas.

Apskritai buvau neįtikėtinai patenkintas įrašymo rezultatais, ypač todėl, kad įrenginio sąranka yra viena iš paprasčiausių, kokią aš mačiau (tik su trimis laidais ir be išorinių komponentų - net paprastam šviesos diodui reikia rezistoriaus). Taip pat reikia atsižvelgti į tai, kad „Arduino Nano“turi 10 bitų ADC, todėl bet koks amplitudės rodmuo gali būti tik viena iš 1024 diskrečių reikšmių. Dėl geros garso kokybės, kompaktiško dydžio ir nereikšmingos energijos sąnaudos; Tikiuosi naudoti įrenginį būsimuose projektuose.

Jei nesu pakankamai įsigilinęs, mielai padėčiau ir papildomai paaiškinčiau. Tai yra mano pirmosios instrukcijos, todėl bet kokie patarimai, kuriuos man dabar duodu, gali atsispindėti visuose būsimuose projektuose. Jei turite pasiūlymų, kaip patobulinti mano kodus, mielai juos pridėčiau prie savo projekto „GitHub“ir šioje instrukcijoje.

Rekomenduojamas: