- Būtini komponentai
- Grandinės schema
- Pasiruošimas naudojant garso failus
- Kodo paaiškinimas
- ESP32 garso grotuvo testavimas
Pasidaryk pats Muzikos grotuvus smagu kurti, o mes anksčiau pastatėme kelis muzikos grotuvus naudodami „Arduino“ ir specialų MP3 modulį. Dabar mes naudojame ESP32, kad sukurtume įdomų garso grotuvą, kuriame galite garso efektus, tiesiog prijungdami papildomą garsiakalbį prie ESP32. Čia muzikos failams groti naudosime LM386 ir garsiakalbį su ESP32. Garso išvestis gali būti ne garsi, tačiau ši programa parodo ESP32 plokštės galimybę leisti garso failus.
Būtini komponentai
- ESP32
- LM386 stiprintuvo modulis
- 8 omų garsiakalbis
- Šuolių laidai
Grandinės schema
Schema už ESP32 Muzikos grotuvas yra skiriamas below-
Norint atkurti garsą naudojant ESP32, mums reikia garsiakalbio. Garsiakalbis prijungtas per „LM386“ garso stiprintuvo modulį. Stiprintuvo modulio „Vcc“ ir „GND“ kaiščiai yra prijungti prie ESP32 VIN ir GND, o stiprintuvo modulio IN kaištis yra prijungtas prie ESP32 25 kontaktų GPIO. „GPIO 25“ yra vienas iš 2 DAC („Digital to Analog Converter“) kaiščių.
Taip atrodys visa „ ESP32“ muzikos grotuvo sąranka:
LM386 yra garso stiprintuvo IC, galite daugiau sužinoti apie LM386, spustelėdami nuorodą.
Pasiruošimas naudojant garso failus
Norint atkurti garso garsus ESP32 plokštėje, mums reikia garso failų .wav formatu, nes ESP32 gali atkurti garso failą tik .wav formatu.
Taigi pirmas žingsnis bus gauti failą, kurį norite paleisti naudodami ESP32. Po to atsisiųskite ir įdiekite „Audacity Audio Editor“ programą. Ši programa bus naudojama norint pakeisti failo tipą, pavyzdžių dažnį ir kitas ypatybes.
Baigę diegimą atidarykite „Audacity“ programą ir eikite į failą> Atidaryti ir pasirinkite garso failą, kurį norite redaguoti.
Pirmas dalykas, kurį reikėjo pakeisti, yra atrankos dažnis. Jei norite leisti garso failą ESP32, mėginių ėmimo dažnis nuo 8000 iki 16000 bus geras, nes ESP32 neturi daug atminties. Taigi pakeiskite projekto normą į 16000.
Po to eikite į Failas> Eksportuoti> Eksportuoti kaip WAV, kad išsaugotumėte garso failą .wav formatu.
Dabar kitame lange pasirinkite WAV („Microsoft“) kaip failo tipą ir Nepasirašytą 8 bitų PCM kaip kodavimo formatą, tada spustelėkite Išsaugoti.
Dabar mums reikia „Hex Editor“ programos, kad sugeneruotume garso failo „Hex“ kodus. Taigi atsisiųskite ir įdiekite „Hex Editor“ (HxD) iš pateiktos nuorodos. Po to atidarykite programą, tada eikite į Failas> atidarykite ir atidarykite .wav failą . Tai sugeneruos .wav failo Hex kodą.
Tada naudokite „ Ctrl“ + A, kad pasirinktumėte visą kodą, tada eikite į Redaguoti> Kopijuoti kaip> C, kad nukopijuotumėte kodą C kalbos formatu.
Tada įklijuokite šį kodą į „Arduino IDE“.
Kodo paaiškinimas
Pilnas bekontakčio ESP32 garso grotuvo kodas pateikiamas puslapio pabaigoje. Čia mes paaiškiname keletą svarbių kodo dalių. Šioje programoje mes ketiname naudoti „ XTronical“ XT DAC garso biblioteką. „XT DAC Audio“ biblioteką galite atsisiųsti iš čia.
Taigi, kaip įprasta, pradėkite kodą įtraukdami visas reikalingas bibliotekas. „SoundData.h“ faile yra .Wav failo , kurį norite paleisti, „ Hex“ kodas.
#include "SoundData.h" #include "XT_DAC_Audio.h"
Kitoje eilutėje sukurkite XT_Wav_Class tipo objektą , kurį DAC garso klasė naudoja kaip parametrą perduodama .wav duomenis. „DacAudio“ - pagrindinis grotuvo klasės objektas, kuriame 25 yra DAC kištuko numeris, prie kurio prijungtas stiprintuvo kaištis.
XT_Wav_Class garsas (pavyzdys); XT_DAC_Audio_Class „DacAudio“ (25,0);
Funkcijos „ setup“ () viduje derinkite, jei norite derinti „Serial Monitor“ 115200 duomenų perdavimo sparta.
negaliojanti sąranka () {Serial.begin (115200);
Funkcijos „ loop“ () viduje užpildykite garso buferį duomenimis ir patikrinkite, ar garsas skamba, ar ne, jei ne, paleiskite ciklą.
void loop () {DacAudio.FillBuffer (); jei (Garsas.Žaidimas == klaidingas) DacAudio.Play (& Garsas); Serial.println („DemoCounter ++“); }
ESP32 garso grotuvo testavimas
Kai kodas bus paruoštas, prijunkite garsiakalbį prie „ESP32“ GPIO 25 per LM386 ar bet kurį kitą stiprintuvo modulį. Dabar prijunkite ESP32 prie nešiojamojo kompiuterio ir įkelkite kodą. Įkėlus kodą, ESP32 pradeda leisti garsą. Garso kokybę galima pakeisti naudojant stiprintuvo modulio potenciometrą.
Tikiuosi, kad jums patiko projektas. Veikiantis vaizdo įrašas ir visas kodas pateikiami žemiau, „ SoundData.h“ antraštės failą galite atsisiųsti iš čia. Jei turite kokių nors abejonių, palikite jas komentarų skiltyje.