Создавать самодельные музыкальные плееры очень весело и интересно. Поэтому в рамках данного проекта мы используем ESP32 для создания интересного аудиоплеера, в котором вы можете создавать звуковые эффекты, просто подключив дополнительный динамик к ESP32. Здесь мы будем использовать LM386 и динамик с ESP32 для воспроизведения музыкальных файлов.
Схема данного аудио плеера довольно проста:
Для воспроизведения звука на ESP32 нам понадобится динамик. Динамик подключается через модуль усилителя звука LM386. Контакты Vcc и GND модуля усилителя подключены к VIN и GND ESP32, в то время как контакт IN модуля усилителя подключен к контакту GPIO25 ESP32. GPIO25 – это один из 2 контактов ЦАП (цифро-аналоговый преобразователь). Примерно так может выглядеть собранное устройство.
Для воспроизведения звуков на плате ESP32 нам нужны аудиофайлы в формате .wav, потому что ESP32 может воспроизводить аудиофайлы только в формате .wav. Итак, первым шагом будет получение файла, который вы хотите воспроизвести на ESP32. После этого загрузите и установите приложение Audacity Audio Editor (audacityteam.org/). Это приложение будет использоваться для изменения типа файла, частоты дискретизации и других свойств.
После завершения установки откройте приложение Audacity, а затем перейдите в меню «File» – «Open» и выберите аудиофайл для редактирования/ Первое, что нужно изменить, это частоту дискретизации. Для воспроизведения аудиофайла на ESP32 подойдет частота дискретизации от 8000 до 16000, поскольку у ESP32 мало памяти. Поэтому измените Project Rate на 16000.
После этого перейдите в «File» – «Export» – «Export as WAV», чтобы сохранить аудиофайл в формате wav.
Теперь в следующем окне выберите WAV (Microsoft) в качестве типа файла и 8-битный PCM без знака (Unsigned 8-bit PCM) в качестве формата кодирования (Encoding format), а затем нажмите «Save».
Теперь нам нужно приложение Hex Editor для генерации шестнадцатеричных кодов для аудиофайла. Поэтому загрузите и установите Hex Editor (mh-nexus.de/en/hxd/). После этого откройте приложение, затем перейдите в меню «File» – «Open» и откройте файл.wav. Это сгенерирует шестнадцатеричный код для файла wav.
Затем нажмите ctrl + A, чтобы выбрать весь код, а затем перейдите в «Edit» – «Copy as» – «C», чтобы скопировать код в формате языка C.
Затем вставьте этот код в создаваемый файл SoundData.h. Полный код аудиоплеера на основе ESP32 выглядит следующим образом.
#include "SoundData.h"
#include "XT_DAC_Audio.h"
XT_Wav_Class Sound(sample);
XT_DAC_Audio_Class DacAudio(25,0);
uint32_t DemoCounter=0;
void setup() {
Serial.begin(115200);
}
void loop() {
DacAudio.FillBuffer();
if(Sound.Playing==false)
DacAudio.Play(&Sound);
Serial.println(DemoCounter++);
}
Как только код будет готов, подключите динамик к GPIO25 ESP32 через LM386 или любой другой модуль усилителя. Теперь подключите ESP32 к ноутбуку и загрузите код. После загрузки кода ESP32 начинает воспроизведение аудио. Качество звука можно изменить с помощью потенциометра модуля усилителя.
© digitrode.ru