- Potrebne komponente
- Shema vezja
- Priprava z zvočnimi datotekami
- Razlaga kode
- Testiranje zvočnega predvajalnika ESP32
DIY predvajalniki glasbe je zabavno graditi, prej pa smo zgradili nekaj predvajalnikov glasbe z uporabo Arduina in namenskega MP3 modula. Zdaj uporabljamo ESP32 za izdelavo zanimivega predvajalnika zvoka, v katerem lahko zvočne učinke preprosto povežete z dodatnim zvočnikom na ESP32. Tu bomo za predvajanje glasbenih datotek uporabili LM386 in zvočnik z ESP32. Zvočni izhod morda ni glasen, vendar ta aplikacija prikazuje sposobnost plošče ESP32 za predvajanje zvočnih datotek.
Potrebne komponente
- ESP32
- Ojačevalni modul LM386
- 8 ohmski zvočnik
- Jumper žice
Shema vezja
Shema vezja za predvajalnik glasbe ESP32 je navedena spodaj -
Za predvajanje zvoka na ESP32 potrebujemo zvočnik. Zvočnik je povezan z modulom ojačevalnika LM386. Zatiči Vcc in GND ojačevalnega modula so priključeni na VIN in GND ESP32, medtem ko je vtič IN ojačevalnega modula povezan z GPIO 25 nožico ESP32. GPIO 25 je eden od 2 zatičev DAC (digitalno-analogni pretvornik).
Tako bo videti celotna nastavitev predvajalnika glasbe ESP32:
LM386 je ojačevalnik zvoka, več o LM386 lahko izveste na povezavi.
Priprava z zvočnimi datotekami
Za predvajanje zvočnih zvokov na plošči ESP32 potrebujemo zvočne datoteke v .wav obliki, ker lahko ESP32 predvaja zvočno datoteko samo v .wav obliki.
Prvi korak bo torej pridobitev datoteke, ki jo želite predvajati na ESP32. Po tem prenesite in namestite aplikacijo Audacity Audio Editor. Ta aplikacija se bo uporabljala za spreminjanje vrste datoteke, hitrosti vzorčenja in drugih lastnosti.
Ko je namestitev končana, odprite aplikacijo Audacity in pojdite na file> Open in izberite zvočno datoteko za urejanje.
Prva stvar, ki jo je bilo treba spremeniti, je hitrost vzorčenja. Za predvajanje zvočne datoteke na ESP32 bo dobra hitrost vzorčenja od 8000 do 16000, saj ESP32 nima veliko pomnilnika. Torej spremenite Project Rate na 16000.
Po tem se pomaknite do Datoteka> Izvozi> Izvozi kot WAV, da shranite zvočno datoteko v obliki .wav .
Zdaj v naslednjem oknu izberite WAV (Microsoft) kot vrsto datoteke in Nepodpisani 8-bitni PCM kot format kodiranja in nato kliknite Shrani.
Zdaj potrebujemo aplikacijo Hex Editor za generiranje šestnajstiških kod za zvočno datoteko. Torej prenesite in namestite Hex Editor (HxD) s podane povezave. Po tem odprite aplikacijo, nato pojdite na File> open in odprite datoteko.wav . To bo ustvarilo šestnajstiško kodo za datoteko.wav .
Nato s tipkama ctrl + A izberite celotno kodo in nato pojdite na Uredi> Kopiraj kot> C, da kopirate kodo v jeziku C.
Nato prilepite to kodo v Arduino IDE.
Razlaga kode
Popolna koda za brezkontaktni predvajalnik zvoka ESP32 je podana na koncu strani. Tukaj razlagamo nekaj pomembnih delov kode. V tem programu bomo uporabili XT DAC Audio knjižnico XTronical. Knjižnico XT DAC Audio lahko prenesete od tukaj.
Kot običajno, zaženite kodo tako, da vključite vse zahtevane knjižnice. Datoteka SoundData.h vsebuje šestnajstiško kodo datoteke.Wav, ki jo je treba predvajati.
#include "SoundData.h" #include "XT_DAC_Audio.h"
V naslednji vrstici ustvarite objekt vrste XT_Wav_Class, ki ga uporablja avdio razred DAC, ki kot parameter posreduje podatke .wav . DacAudio, glavni predmet razreda predvajalnika, v katerem je 25 številka DAC-pin-a, kamor je priključen ojačevalni pin.
XT_Wav_Class Sound (vzorec); XT_DAC_Audio_Class DacAudio (25,0);
Znotraj funkcije setup () inicializirajte serijski monitor s hitrostjo prenosa 115200 za namene odpravljanja napak.
void setup () {Serial.begin (115200);
Znotraj funkcije zanke () napolnite zvočni vmesnik s podatki in preverite, ali se zvok predvaja ali ne, če ni, predvajajte zvok v zanki.
void loop () {DacAudio.FillBuffer (); if (Sound.Playing == false) DacAudio.Play (& Sound); Serial.println (DemoCounter ++); }
Testiranje zvočnega predvajalnika ESP32
Ko je koda pripravljena, zvočnik povežite z GPIO 25 ESP32 prek LM386 ali katerega koli drugega ojačevalnega modula. Zdaj ESP32 priključite na prenosni računalnik in naložite kodo. Ko je koda naložena, začne ESP32 predvajati zvok. Kakovost zvoka lahko spremenite s pomočjo potenciometra modula ojačevalnika.
Upam, da vam je projekt všeč. Spodaj so navedeni delujoči video in celotna koda, glavo datoteke SoundData.h lahko prenesete od tukaj. Če dvomite, jih pustite v oddelku za komentarje.