- Wymagane składniki
- Schemat obwodu
- Przygotowanie z plikami audio
- Objaśnienie kodu
- Testowanie odtwarzacza audio ESP32
Odtwarzacze muzyki do samodzielnego montażu są fajne w budowaniu, a wcześniej zbudowaliśmy kilka odtwarzaczy muzycznych za pomocą Arduino i dedykowanego modułu MP3. Teraz używamy ESP32 do zbudowania interesującego odtwarzacza audio, w którym można odtwarzać efekty, podłączając po prostu dodatkowy głośnik do ESP32. Tutaj użyjemy LM386 i głośnika z ESP32 do odtwarzania plików muzycznych. Wyjście audio może nie być głośne, ale ta aplikacja pokazuje zdolność płyty ESP32 do odtwarzania plików audio.
Wymagane składniki
- ESP32
- Moduł wzmacniacza LM386
- Głośnik 8 omów
- Przewody połączeniowe
Schemat obwodu
Schemat obwodu dla odtwarzacza muzycznego ESP32 podano poniżej:
Do odtwarzania dźwięku na ESP32 potrzebujemy głośnika. Głośnik jest podłączony przez moduł wzmacniacza audio LM386. Piny Vcc i GND modułu wzmacniacza są podłączone do VIN i GND ESP32, podczas gdy pin IN modułu wzmacniacza jest połączony z pinem GPIO 25 ESP32. GPIO 25 to jeden z 2 pinów DAC (przetwornik cyfrowo-analogowy).
Tak będzie wyglądać kompletna konfiguracja odtwarzacza muzyki ESP32:
LM386 to układ scalony wzmacniacza audio, możesz dowiedzieć się więcej o LM386, klikając link.
Przygotowanie z plikami audio
Aby odtwarzać dźwięki audio na płycie ESP32, potrzebujemy plików audio w formacie .wav , ponieważ ESP32 może odtwarzać pliki audio tylko w formacie .wav .
Więc pierwszym krokiem będzie pobranie pliku, który chcesz odtworzyć na ESP32. Następnie pobierz i zainstaluj aplikację Audacity Audio Editor. Ta aplikacja będzie używana do zmiany typu pliku, częstotliwości próbkowania i innych właściwości.
Po zakończeniu instalacji otwórz aplikację Audacity, a następnie przejdź do pliku> Otwórz i wybierz plik audio do edycji.
Pierwszą rzeczą, którą należało zmienić, jest częstotliwość próbkowania. Do odtwarzania pliku audio na ESP32, częstotliwość próbkowania od 8000 do 16000 będzie dobra, ponieważ ESP32 nie ma dużo pamięci. Więc zmień Project Rate na 16000.
Następnie przejdź do Plik> Eksportuj> Eksportuj jako WAV, aby zapisać plik audio w formacie .wav .
Teraz w następnym oknie wybierz WAV (Microsoft) jako typ pliku i Unsigned 8-bit PCM jako format kodowania, a następnie kliknij Zapisz.
Teraz potrzebujemy aplikacji Hex Editor do generowania kodów szesnastkowych dla pliku audio. Więc pobierz i zainstaluj Hex Editor (HxD) z podanego linku. Następnie otwórz aplikację, a następnie przejdź do Plik> otwórz i otwórz plik.wav . Spowoduje to wygenerowanie kodu szesnastkowego dla pliku.wav .
Następnie użyj ctrl + A, aby zaznaczyć cały kod, a następnie przejdź do Edycja> Kopiuj jako> C, aby skopiować kod w formacie języka C.
Następnie wklej ten kod do Arduino IDE.
Objaśnienie kodu
Pełny kod bezdotykowego odtwarzacza audio ESP32 znajduje się na końcu strony. Tutaj wyjaśniamy kilka ważnych części kodu. W tym programie wykorzystamy bibliotekę XT DAC Audio firmy XTronical. Bibliotekę XT DAC Audio można pobrać stąd.
Więc jak zwykle uruchom kod, dołączając wszystkie wymagane biblioteki. Plik SoundData.h zawiera kod szesnastkowy pliku.Wav, który ma być odtwarzany.
#include „SoundData.h” #include „XT_DAC_Audio.h”
W następnym wierszu utwórz obiekt typu XT_Wav_Class, który jest używany przez klasę audio DAC przekazującą dane .wav jako parametr. DacAudio, główny obiekt klasy odtwarzacza, w którym 25 to numer pinu przetwornika DAC, do którego jest podłączony pin wzmacniacza.
XT_Wav_Class Sound (przykład); XT_DAC_Audio_Class DacAudio (25,0);
W funkcji setup () zainicjuj monitor szeregowy z szybkością transmisji 115200 w celu debugowania.
void setup () {Serial.begin (115200);
Wewnątrz funkcji loop () wypełnij bufor dźwięku danymi i sprawdź, czy dźwięk jest odtwarzany, czy nie, jeśli nie, odtwórz dźwięk w pętli.
void loop () {DacAudio.FillBuffer (); if (Sound.Playing == false) DacAudio.Play (& Sound); Serial.println (DemoCounter ++); }
Testowanie odtwarzacza audio ESP32
Gdy kod będzie gotowy, podłącz głośnik do GPIO 25 ESP32 przez LM386 lub dowolny inny moduł wzmacniacza. Teraz podłącz ESP32 do laptopa i prześlij kod. Po przesłaniu kodu ESP32 rozpoczyna odtwarzanie dźwięku. Jakość dźwięku można zmienić za pomocą potencjometru modułu wzmacniacza.
Mam nadzieję, że spodobał Ci się projekt. Działające wideo i pełny kod znajdują się poniżej, plik nagłówkowy SoundData.h można pobrać stąd. Jeśli masz jakiekolwiek wątpliwości, zostaw je w sekcji komentarzy.