- Súčasti sú povinné
- Schéma zapojenia
- Príprava so zvukovými súbormi
- Vysvetlenie kódu
- Testovanie zvukového prehrávača ESP32
Tvorba hudobných prehrávačov pre domácich majstrov je zábavná. Predtým sme vytvorili niekoľko hudobných prehrávačov využívajúcich Arduino a vyhradený modul MP3. Teraz používame program ESP32 na vytvorenie zaujímavého zvukového prehrávača, v ktorom môžete zvukové efekty jednoducho pripojiť k reproduktoru ESP32 navyše. Tu budeme na prehrávanie hudobných súborov používať LM386 a reproduktor s ESP32. Zvukový výstup nemusí byť hlasný, ale táto aplikácia ukazuje schopnosť dosky ESP32 prehrávať zvukové súbory.
Súčasti sú povinné
- ESP32
- Modul zosilňovača LM386
- 8 ohmový reproduktor
- Prepojovacie drôty
Schéma zapojenia
Schéma zapojenia hudobného prehrávača ESP32 je uvedená nižšie -
Na prehrávanie zvuku na ESP32 potrebujeme reproduktor. Reproduktor je pripojený cez modul zvukového zosilňovača LM386. Kolíky Vcc a GND zosilňovacieho modulu sú pripojené k VIN a GND ESP32, zatiaľ čo IN pin zosilňovacieho modulu je pripojený k GPIO 25 pinom ESP32. GPIO 25 je jeden z 2 pinov DAC (digitálny na analógový prevodník).
Takto bude vyzerať kompletné nastavenie hudobného prehrávača ESP32:
LM386 je integrovaný obvod audio zosilňovača. Viac informácií o LM386 sa dozviete kliknutím na odkaz.
Príprava so zvukovými súbormi
Na prehrávanie zvukových zvukov na doske ESP32 potrebujeme zvukové súbory vo formáte .wav, pretože program ESP32 dokáže prehrať zvukový súbor iba vo formáte .wav .
Prvým krokom bude získanie súboru, ktorý chcete prehrať na ESP32. Potom si stiahnite a nainštalujte aplikáciu Audacity Audio Editor. Táto aplikácia sa použije na zmenu typu súboru, vzorkovacej frekvencie a ďalších vlastností.
Po dokončení inštalácie otvorte aplikáciu Audacity a potom prejdite do priečinka> Otvoriť a vyberte zvukový súbor, ktorý chcete upraviť.
Prvá vec, ktorú bolo treba zmeniť, je vzorkovacia frekvencia. Pre prehrávanie zvukového súboru na ESP32 bude vzorkovacia frekvencia 8000 až 16000 dobrá, pretože ESP32 nemá veľa pamäte. Zmeňte teda mieru projektu na 16000.
Potom prejdite na Súbor> Exportovať> Exportovať ako WAV a uložte zvukový súbor vo formáte .wav .
Teraz v ďalšom okne vyberte ako typ súboru WAV (Microsoft) a ako kódovací formát nepodpísaný 8-bitový PCM a potom kliknite na Uložiť.
Teraz potrebujeme aplikáciu Hex Editor na generovanie hexadecimálnych kódov pre zvukový súbor. Takže si stiahnite a nainštalujte Hex Editor (HxD) z daného odkazu. Potom otvorte aplikáciu, potom choďte na Súbor> otvoriť a otvorte súbor.wav . Takto sa vygeneruje hexadecimálny kód pre súbor.wav .
Potom pomocou kombinácie klávesov ctrl + A vyberte celý kód a potom prejdite na položky Upraviť> Kopírovať ako> C a skopírujte kód vo formáte jazyka C.
Potom vložte tento kód do Arduino IDE.
Vysvetlenie kódu
Celý kód pre bezkontaktný audioprehrávač ESP32 je uvedený na konci stránky. Tu vysvetľujeme niektoré dôležité časti kódu. V tomto programe použijeme zvukovú knižnicu XT DAC od spoločnosti XTronical. Knižnicu XT DAC Audio je možné stiahnuť tu.
Takže ako obvykle začnite kód zahrnutím všetkých požadovaných knižníc. Súbor SoundData.h obsahuje hexadecimálny kód súboru.Wav, ktorý sa má prehrať.
#include "SoundData.h" #include "XT_DAC_Audio.h"
V nasledujúcom riadku vytvorte objekt typu XT_Wav_Class, ktorý používa zvuková trieda DAC odovzdávajúca dáta .wav ako parameter. DacAudio, hlavný objekt triedy hráča, v ktorom 25 je číslo kolíka DAC, kde je pripojený kolík zosilňovača.
Zvuk XT_Wav_Class (ukážka); XT_DAC_Audio_Class DacAudio (25,0);
Vo vnútri funkcie setup () inicializujte Serial Monitor s prenosovou rýchlosťou 115200 na účely ladenia.
void setup () {Serial.begin (115200);
Vo vnútri funkcie loop () naplňte zvukovú medzipamäť údajmi a skontrolujte, či zvuk hrá alebo nie, ak nie, prehrajte zvuk v slučke.
void loop () {DacAudio.FillBuffer (); if (Sound.Playing == false) DacAudio.Play (& Sound); Serial.println (DemoCounter ++); }
Testovanie zvukového prehrávača ESP32
Keď je kód pripravený, pripojte reproduktor k GPIO 25 na ESP32 cez LM386 alebo akýkoľvek iný modul zosilňovača. Teraz pripojte ESP32 k notebooku a nahrajte kód. Po nahraní kódu začne ESP32 prehrávať zvuk. Kvalitu zvuku je možné meniť pomocou potenciometra modulu zosilňovača.
Dúfam, že sa vám projekt páčil. Nižšie je uvedené funkčné video a kompletný kód, hlavičkový súbor SoundData.h si môžete stiahnuť tu. Ak máte pochybnosti, nechajte ich v sekcii komentárov.