- Szükséges alkatrészek
- Kördiagramm
- Felkészülés a hangfájlokra
- Kód Magyarázat
- Az ESP32 Audio Player tesztelése
A DIY zenelejátszókat szórakoztató építeni, és korábban néhány zenelejátszót építettünk Arduino és egy dedikált MP3 modul használatával. Most az ESP32-et használjuk egy érdekes audiolejátszó felépítéséhez, amelyben hangeffektusokat hozhat létre, ha csak egy extra hangszórót csatlakoztat az ESP32-hez. Itt zenei fájlok lejátszásához az LM386-ot és egy ESP32-es hangszórót fogunk használni. A hangkimenet nem biztos, hogy hangos, de ez az alkalmazás megmutatja az ESP32 kártya képességét audio fájlok lejátszására.
Szükséges alkatrészek
- ESP32
- LM386 erősítő modul
- 8 ohmos hangszóró
- Jumper huzalok
Kördiagramm
Az ESP32 zenelejátszó áramköre az alábbiakban látható:
A hang lejátszásához ESP32-nél hangszóróra van szükségünk. A hangszóró az LM386 hangerősítő modulon keresztül csatlakozik. Az erősítő modul Vcc és GND csapjai az ESP32 VIN és GND csatlakozóihoz vannak csatlakoztatva, míg az erősítő modul IN csatlakozója az ESP32 25 tűs GPIO-jához van csatlakoztatva. A GPIO 25 egyike a 2 DAC (Digital to Analog Converter) csapnak.
Így fog kinézni az ESP32 Music Player teljes beállítása:
Az LM386 egy audio erősítő IC, a linket követve többet tudhat meg az LM386-ról.
Felkészülés a hangfájlokra
A hang lejátszásához hangokat a ESP32 ellátás, szükségünk van audio fájlokat .wav formátumban, mert ESP32 játszhat audio fájl .wav formátumban csak.
Tehát az első lépés az a fájl megszerzése, amelyet lejátszani szeretne az ESP32-en. Ezt követően töltse le és telepítse az Audacity Audio Editor alkalmazást. Ezt az alkalmazást a fájltípus, a mintavételi arány és más tulajdonságok megváltoztatására használják.
Miután a telepítés befejeződött, nyissa meg az Audacity alkalmazást, majd válassza a fájl> Megnyitás lehetőséget, és válassza ki a szerkeszteni kívánt hangfájlt.
Az első, amin változtatni kellett, az a mintavételi arány. Ha audio fájlt szeretne lejátszani ESP32-n, akkor a 8000 és 16000 közötti mintavételi arány jó lesz, mivel az ESP32-nek nincs sok memóriája. Tehát változtassa meg a Projekt arányát 16000-re.
Ezt követően keresse meg a Fájl> Exportálás> Exportálás WAV formátumban lehetőséget, hogy az audio fájlt .wav formátumban mentse.
Most a következő ablakban válassza ki a WAV (Microsoft) fájltípust, és az Unsigned 8-bit PCM kódolási formátumot, majd kattintson a Mentés gombra .
Most Hex Editor alkalmazásra van szükségünk, hogy Hex kódokat állítsunk elő az audio fájlhoz. Tehát töltse le és telepítse a Hex Editor (HxD) fájlt a megadott linkről. Ezt követően nyissa meg az alkalmazást, majd lépjen a Fájl> Nyissa meg és nyissa meg a .wav fájlt . Ez létrehozza a Hex kódot a .wav fájlhoz .
Ezután a ctrl + A gombbal válassza ki a teljes kódot, majd lépjen a Szerkesztés> Másolás másként> C elemre a kód C nyelv formátumú másolásához.
Ezután illessze be ezt a kódot az Arduino IDE-be.
Kód Magyarázat
A Contactless ESP32 Audio Player teljes kódja az oldal végén található. Itt elmagyarázzuk a kód néhány fontos részét. Ebben a programban az XTronical XT DAC Audio könyvtárát fogjuk használni. Az XT DAC Audio könyvtár innen letölthető.
Tehát a szokásoknak megfelelően indítsa el a kódot az összes szükséges könyvtár beillesztésével. SoundData.h fájl tartalmazza a hexadecimális kódban a .wav fájl csak akkor lehet lejátszani.
#include "SoundData.h" #include "XT_DAC_Audio.h"
A következő sorban hozzon létre egy XT_Wav_Class típusú objektumot, amelyet a DAC audio osztály használ .wav adatokat paraméterként továbbítva. A DacAudio, a fő lejátszó osztályú objektum, amelyben a 25 a DAC pin száma, ahová az erősítő csapja csatlakozik.
XT_Wav_Class Sound (minta); XT_DAC_Audio_Class DacAudio (25,0);
A setup () függvényben inicializálja a soros monitort 115200 adatátviteli sebességgel hibakeresés céljából.
void setup () {Soros.kezdés (115200);
A loop () függvényen belül töltse fel a hangpuffert adatokkal, és ellenőrizze, hogy a hang szól-e, vagy sem, ha nem, akkor a hurokban lévő hangot játssza le.
void loop () {DacAudio.FillBuffer (); if (Sound.Playing == false) DacAudio.Play (& Sound); Soros.println (DemoCounter ++); }
Az ESP32 Audio Player tesztelése
Miután elkészült a kód, csatlakoztassa a hangszórót az ESP32 GPIO 25-höz az LM386-on vagy bármely más erősítőmodulon keresztül. Most csatlakoztassa az ESP32-t a laptophoz, és töltse fel a kódot. A kód feltöltése után az ESP32 megkezdi az Audio lejátszását. A hangminőség megváltoztatható az Erősítő modul potenciométerével.
Remélem, hogy tetszett a projekt. Működő videó és teljes kód az alábbiakban található, a SoundData.h fejlécfájl innen letölthető. Ha kétségei vannak, hagyja őket a megjegyzés részben.