Satura rādītājs:

Arduino Nano balss ierakstītājs ar mikrofonu MAX9814: 3 soļi
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814: 3 soļi

Video: Arduino Nano balss ierakstītājs ar mikrofonu MAX9814: 3 soļi

Video: Arduino Nano balss ierakstītājs ar mikrofonu MAX9814: 3 soļi
Video: arduino nano self balancing robot-2 2024, Jūlijs
Anonim
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814
Arduino Nano balss ierakstītājs ar mikrofonu MAX9814

Es saņēmu MAX9814 mikrofonu no AZ piegādes vietnē Amazon un vēlējos pārbaudīt ierīci. Tāpēc es izveidoju šo vienkāršo projektu, kas balstīts uz Great Scott's Spy Bug (publicēts ar šo Creative Commons licenci). Es nedaudz mainīju projektu struktūru, lai uzlabotu efektivitāti un pievienotu dažas jaunas funkcijas. Šis ir mans pirmais Instructables projekts, tāpēc tas nebūs ideāls, taču esmu gatavs mācīties un esmu atvērts padomam.

Testa rezultāti no mikrofona ar dažādiem pastiprinājumiem tiek pievienoti beigās, tādēļ, ja vēlaties salīdzināt tikai 40 dB, 50 dB un 60 dB pastiprinājumu kvalitāti, varat pāriet uz turieni.

Es ceru, ka šis projekts būs noderīgs cilvēkiem, kuri savā projektā mēģina ieviest mikrofonu. Es arī ceru padarīt šo projektu pēc iespējas pieejamāku iesācējiem, tāpēc esmu pievienojis daudzus komentārus savam kodam, bet arī labprāt pārskatīšu savu darbu, lai pievienotu papildu skaidrojumus, kas būtu noderīgi. Elektroinstalācija ir ļoti iesācējiem draudzīga, taču programmatūras ieviešana ir nedaudz sarežģītāka.

Skatiet visus projekta failus un ierosiniet uzlabojumus manam kodam manā GitHub krātuvē.

Piegādes:

Amazon:

  • MAX9814 mikrofons ar pastiprinātāju
  • Maizes dēlis
  • Arduino Nano (tas ir iepakojums pa 3, bet jums bija nepieciešams tikai viens!)
  • SD karšu lasītājs
  • Gaismas diodes
  • Rezistori
  • Taktilās pogas
  • USB B mini kabelis (Arduino Nano)
  • USB strāvas banka (es izmantoju lētu, nopirktu uz vietas)

1. darbība. Ierīces ķēde un skaidrojums

Ierīces shēma un skaidrojums
Ierīces shēma un skaidrojums

Es pielāgoju savu ķēdi darbam ar Arduino Nano ierīci, bet jūs varat palaist ķēdi dažādās Arduino ierīcēs, rediģējot koda augšpusē esošos pin numurus (nākamā sadaļa). Lai ierīcē iestatītu ķēdi, meklējiet “Arduino [Jūsu modelis] pinout” un jābūt daudziem attēliem, kas ilustrē, kādas funkcijas var veikt katra tapa (piemēram, analogā ievade, SS, MOSI utt.). Lielākajai daļai ierīču ir arī marķētas tapas. Es uzzīmēju šo shēmu, izmantojot EasyEDA redaktoru, bet izveidoju to, izmantojot bezlodēšanas maizes dēli, jo vēlējos to izveidot pēc iespējas ātrāk un ātri pārkonfigurēt izkārtojumu.

2. solis: programmēšana

Programmēšana
Programmēšana

Es uzrakstīju vienkāršu kodu audio ierakstīšanai ierīcē. Kā iedvesmu es izmantoju Great Scott kodu, bet mainīju struktūru, lai palielinātu efektivitāti un vienkāršību. Es arī atcēlu ierakstāmo failu skaita ierobežojumus un pievienoju vairāk komentāru, kuriem vajadzētu palīdzēt iesācējiem orientēties. Lejupielādējiet gatavo kodu zemāk un atveriet to, izmantojot Arduino IDE. Lejupielādējiet nepieciešamos moduļus ("SD.h", "SPI.h" un "TMRpcm.h"), izmantojot Arduino pakotņu pārvaldnieku (parādīts attēlos iepriekš).

Ierakstīšana WAV failā SD kartē ir TMRpcm bibliotēkas uzlabota funkcija, tāpēc, lai to izmantotu, ir jārediģē bibliotēkas konfigurācijas fails. Lai gan tas izklausās biedējoši (vismaz man tā bija), tas tikai meklē failu "pcmConfig.h", izmantojot failu pārlūku, un komentē dažas koda rindiņas (pēc tam to saglabā).

  1. Uno vai ne mega dēļos noņemiet komentāru rindai #define buffSize 128
  2. Arī komentēt #define ENABLE_RECORDING un #define BLOCK_COUNT 10000UL

Kad esat pilnībā atgriezies Arduino IDE, pievienojiet Arduino, atlasiet to un pēc tam apkopojiet un augšupielādējiet programmu. Sērijas monitora atvēršana arī sniegs jums dažas atsauksmes darbības laikā.

3. darbība: pabeigts projekts un testēšana

Pabeigts projekts un testēšana
Pabeigts projekts un testēšana

Kad biju pabeidzis elektroinstalāciju un atkļūdošanu, es pārbaudīju projektu.

BRĪDINĀJUMS Ierīces restartēšana atiestatīs failu nosaukumu skaitītāju, kā rezultātā jaunie faili pārrakstīs vecos failus.

Lai izmantotu ierīci:

  1. pievienojiet USB barošanas vadu Arduino
  2. nospiediet taustes pogu, lai sāktu ierakstīšanu (gaismas diode iedegsies, lai to norādītu)
  3. vēlreiz nospiediet pogu, lai beigtu ierakstīšanu
  4. atkārtojiet tik daudz ierakstu, cik nepieciešams
  5. atvienojiet USB strāvas kabeli
  6. Izņemiet SD karti
  7. Ievietojiet SD karti datorā vai tālrunī
  8. Atveriet failus izvēlētajā atskaņošanas lietojumprogrammā

Šī projekta sākotnējais mērķis bija pārbaudīt MAX9814 mikrofonu, tāpēc es veicu trīs testus, lai noskaidrotu tā iebūvētā pastiprinātāja ietekmi uz rezultātu. Ražojot ierakstus, es kā kontroles mainīgo izmantoju vienu no Mocarta simfonijām. Es to atskaņoju sava tālruņa skaļrunī, kuru visus trīs ierakstus turēju norādot uz mikrofonu nemainīgā attālumā. Vienīgais mainītais mainīgais bija mikrofona pastiprinājums (pielāgots, savienojot to ar VCC, GND vai atstājot peldošu). Iegūtie audio klipi ir pievienoti. Es arī apvienoju 40 dB un 60 dB audio vienā ierakstā, kurā 40 dB atskaņo kreisajā ausī un 60 dB - labajā ausī. Tas padara kvalitātes atšķirības ļoti pamanāmas un uzsver, cik svarīgs ir MAX9814 moduļa nodrošinātais ieguvums.

Kopumā es biju neticami apmierināts ar ierakstīšanas rezultātiem, jo īpaši tāpēc, ka ierīces iestatīšana ir viena no vienkāršākajām, ko esmu redzējis (tikai ar trim vadiem un bez ārējiem komponentiem - pat vienkāršai gaismas diodei ir nepieciešams rezistors). Jāņem vērā arī tas, ka Arduino Nano ir 10 bitu ADC, tāpēc jebkurš amplitūdas rādījums var būt tikai viena no 1024 diskrētajām vērtībām. Pateicoties labajai audio kvalitātei, kompaktajam izmēram un nenozīmīgam enerģijas patēriņam; Es ceru izmantot ierīci turpmākajos projektos.

Ja neesmu iedziļinājies pietiekami detalizēti, es labprāt palīdzētu un pievienotu papildu paskaidrojumus. Šis ir mans pirmais pamācību materiāls, tāpēc visi padomi, kas man tagad tiek sniegti, var tikt atspoguļoti visos turpmākajos projektos. Ja jums ir kādi ieteikumi manu kodu uzlabošanai, es labprāt tos pievienotu savam projektam vietnē GitHub un šai instrukcijai.

Ieteicams: