- Požadované komponenty
- Kruhový diagram
- Příprava se zvukovými soubory
- Vysvětlení kódu
- Testování zvukového přehrávače ESP32
Vytváření hudebních přehrávačů pro vlastní kutily je zábavné a dříve jsme vytvořili několik hudebních přehrávačů pomocí Arduina a vyhrazeného modulu MP3. Nyní používáme ESP32 k vytvoření zajímavého zvukového přehrávače, ve kterém můžete zvukové efekty pouhým připojením dalšího reproduktoru k ESP32. Zde budeme k přehrávání hudebních souborů používat LM386 a reproduktor s ESP32. Zvukový výstup nemusí být hlasitý, ale tato aplikace ukazuje schopnost desky ESP32 přehrávat zvukové soubory.
Požadované komponenty
- ESP32
- Modul zesilovače LM386
- 8 ohmový reproduktor
- Propojovací dráty
Kruhový diagram
Schéma zapojení hudebního přehrávače ESP32 je uvedeno níže -
Abychom mohli přehrávat zvuk na ESP32, potřebujeme reproduktor. Reproduktor je připojen přes modul audio zesilovače LM386. Piny Vcc a GND modulu zesilovače jsou připojeny k VIN a GND ESP32, zatímco IN pin modulu zesilovače je připojen ke GPIO 25 pin ESP32. GPIO 25 je jedním ze 2 pinů DAC (digitální na analogový převodník).
Takto bude vypadat kompletní nastavení hudebního přehrávače ESP32:
LM386 je integrovaný obvod audio zesilovače, další informace o LM386 se dozvíte kliknutím na odkaz.
Příprava se zvukovými soubory
K přehrávání zvukových zvuků na desce ESP32 potřebujeme zvukové soubory ve formátu .wav, protože ESP32 může přehrávat zvukový soubor pouze ve formátu .wav .
Prvním krokem tedy bude získání souboru, který chcete přehrát na ESP32. Poté si stáhněte a nainstalujte aplikaci Audacity Audio Editor. Tato aplikace se použije ke změně typu souboru, vzorkovací frekvence a dalších vlastností.
Po dokončení instalace otevřete aplikaci Audacity a poté přejděte na soubor> Otevřít a vyberte zvukový soubor, který chcete upravit.
První věc, kterou bylo třeba změnit, je vzorkovací frekvence. Pro přehrávání zvukového souboru na ESP32 bude vzorkovací frekvence 8000 až 16000 dobrá, protože ESP32 nemá mnoho paměti. Změňte tedy míru projektu na 16 000.
Poté přejděte na Soubor> Export> Exportovat jako WAV a uložte zvukový soubor ve formátu .wav .
Nyní v dalším okně vyberte jako typ souboru WAV (Microsoft) a nepodepsaný 8bitový PCM jako formát kódování a poté klikněte na Uložit.
Nyní potřebujeme aplikaci Hex Editor pro generování hexadecimálních kódů pro zvukový soubor. Stáhněte si a nainstalujte Hex Editor (HxD) z daného odkazu. Poté otevřete aplikaci, přejděte do nabídky Soubor> otevřít a otevřete soubor.wav . Tím se vygeneruje hexadecimální kód pro soubor.wav .
Poté pomocí ctrl + A vyberte celý kód a poté přejděte do nabídky Úpravy> Kopírovat jako> C a zkopírujte kód ve formátu jazyka C.
Poté vložte tento kód do Arduino IDE.
Vysvětlení kódu
Celý kód pro bezkontaktní přehrávač zvuku ESP32 je uveden na konci stránky. Zde vysvětlujeme některé důležité části kódu. V tomto programu použijeme knihovnu XT DAC Audio od XTronical. Knihovnu XT DAC Audio lze stáhnout zde.
Jako obvykle začněte kód zahrnutím všech požadovaných knihoven. Soubor SoundData.h obsahuje hexadecimální kód pro soubor.Wav, který má být přehrán.
#include "SoundData.h" #include "XT_DAC_Audio.h"
Na dalším řádku vytvořte objekt typu XT_Wav_Class, který používá zvuková třída DAC předávající data .wav jako parametr. DacAudio, hlavní objekt třídy hráče, ve kterém 25 je číslo pinu DAC, kde je připojen pin zesilovače.
Zvuk XT_Wav_Class (ukázka); XT_DAC_Audio_Class DacAudio (25,0);
Uvnitř funkce setup () inicializujte Serial Monitor s přenosovou rychlostí 115200 pro účely ladění.
void setup () {Serial.begin (115200);
Uvnitř funkce loop () naplňte zvukovou vyrovnávací paměť daty a zkontrolujte, zda zvuk hraje nebo ne, pokud ne, přehrajte zvuk ve smyčce.
void loop () {DacAudio.FillBuffer (); if (Sound.Playing == false) DacAudio.Play (& Sound); Serial.println (DemoCounter ++); }
Testování zvukového přehrávače ESP32
Jakmile je kód připraven, připojte reproduktor k GPIO 25 ESP32 prostřednictvím LM386 nebo jiného modulu zesilovače. Nyní připojte ESP32 k notebooku a nahrajte kód. Jakmile je kód nahrán, ESP32 začne přehrávat zvuk. Kvalitu zvuku lze změnit pomocí potenciometru modulu zesilovače.
Doufám, že se vám projekt líbil. Níže najdete pracovní video a kompletní kód, soubor záhlaví SoundData.h si můžete stáhnout zde. Máte-li jakékoli pochybnosti, nechte je v sekci komentářů.