DIY MP3 Player con ESP32 - Reproductor de audio

DIY MP3 Player con ESP32 - Reproductor de audio

noviembre 27, 2020

DIY-An-MP3-Player-On-ESP32-1
En este proyecto, aprenderemos cómo construir un reproductor de MP3 DIY con ESP32, utilizando el módulo ESP32 Audio, podemos hacer un reproductor MP3 con radio web adicional y función de despertador.

ESP32 se puede utilizar como un sistema independiente para ejecutar aplicaciones, simplemente conecte el cable, encienda el dispositivo y prográmelo. Con la descarga de diferentes programas, el reproductor puede realizar la función de reproducción de música de la tarjeta SD, la función de radio por Internet y la función de despertador de música.
 
Ahora, ¡comencemos!

1. Suministros:

1.1 Hardware:

1.2 Software:

  • Arduino IDE
  • Descarga música (.mp3 o .wav) a la tarjeta SD.

2. Conexión de hardware

Cómo conectar el hardwareDIY-ESP32-MP3-Player
Conecte dos placas de acuerdo con los pines. ElVCC está conectado a 3v3.

3. Entorno de programación

3.1 Soporte ESP32

Siga las instrucciones de instalación para agregar soporte para ESP32 si aún no lo está haciendo://github.com/espressif/arduino-esp32

3.2 Instalar biblioteca

  • Adafruit SSD1306 y bibliotecas dependientes.
  • ESP32-audioI2S.
Puede obtener el archivo zip desde el Github://github.com/Makerfabs/Project_MakePython_Audio_Music
 
Descomprima este archivo. Abra su IDE de Arduino y navegue hastaEsbozar > incluir biblioteca > administrar bibliotecas > agregar .ZIP biblioteca.
 
A continuación, abra la carpeta: "\Project_MakePython_Audio_Music\old-src\esp32_mp3\ESP32-audioI2S". Y verá un mensaje que indica que la biblioteca se instaló correctamente.

4. Acerca del código

4.1 Reproducción de audio

  • Abra el archivo "/Project_MakePython_Audio_Music/music_player.ino". Puede obtener el código de Github://github.com/Makerfabs/Project_MakePython_Audio_Music
  • Aviso: MicroPython Audio se puede descargar sin desconectar. Al cargar el programa, gire el interruptor junto a la interfaz de audio de 3,5 mm a la toma de audio para descargar correctamente.
  • Modificar o agregar texto en la pantalla.
void lcd_text(Texto de cadena)
  • Cambie el volumen inicial:
audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio.setVolume(14);  0...21
  • Cambiar canciones:
if (digitalRead(Pin_next) == 0)
        {
            Serial.println("Pin_next");
            si (file_index  0)
                file_index--;
            más
                file_index = file_num - 1;
            open_new_song(file_list[file_index]);
            print_song_time();
            button_time = millis();
        }
  • Sube el código.

4.2 Radio Web

const char *ssid = "Makerfabs";
const char *password = "20160704";
  • Añadir, eliminar o modificar la dirección de radio en el siguiente código:
Estaciones de cadena[] = {
       "0n-80s.radionetz.de:8000/0n-70s.mp3",
       "mediaserv30.live-streams.nl:8000/stream",
       "www.surfmusic.de/m3u/100-5-das-hitradio,4529.m3u",
       "stream.1a-webradio.de/deutsch/mp3-128/vtuner-1a",
       "mp3.ffh.de/radioffh/hqlivestream.aac", // 128k AAC
       "www.antenne.de/webradio/antenne.m3u",
       "listen.rusongs.ru/ru-mp3-128",
       "edge.audio.3qsdn.com/senderkw-mp3",
           "macslons-irish-pub-radio.com/media.asx"};
  • Conéctese a la estación de radio web:
void open_new_radio(Estación de cadena)
{
audio.connecttohost(estación);

4.3 Despertador

const char *ntpServer = "120.25.108.11";
const long gmtOffset_sec = 8 * 60 * 60; China+8 
const int daylightOffset_sec = 0; 
Cadena clock_time = "17:39:00"; 
Cadena clock_time2 = "17:42:00";
  • Inicie y obtenga la hora, y el "gmtOffset" se usa para establecer la zona horaria.
Inicia y consigue el tiempo
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
Serial.println(F("Alread get npt time."));
  • Modificar la música del despertador:
void loop()
{
    printLocalTime();
    audio.loop();
    si (millis() - button_time > 600)
    {
        if (alarm_flag == 0)
        {
            if (showtime() != 0)
            {
                open_new_song("reloj.wav");
                alarm_flag = 1;
                display.setCursor(0, 24);
                display.println("ALARMA!!!!!");
                display.display();
                retraso(1000);
                button_time = millis();
            }
        }

5.3D Estuche impreso

DIY-ESP32-MP3-Player-with-3D-Printed-Case


El caso se puede obtener en://www.makerfabs.com/esp32-audio-fixture-kit.html
  • Diseño 3D:
Diseña la carcasa como quieras. Si no desea diseñarlo temporalmente, puede obtener el archivo de diseño desde aquí://github.com/Makerfabs/Project_MakePython_Audio_Music
  • Impresión 3D:
Transfiera los archivos de impresión a la impresora mediante una tarjeta SD. La impresión 3D puede completar la producción de la caja rápidamente.
  • Ensamblaje

6: Operación

DIY-an-MP3-Player-based-on-ESP32

Alimente el ESP32 a través de Micro USB y la pantalla LCD muestra la información básica de la canción. El interruptor inferior izquierdo puede cambiar las canciones o el canal de radio, y presionar hacia adentro para pausar la reproducción. El interruptor de la izquierda puede aumentar o disminuir el volumen, presionar hacia adentro para silenciar o detener la alarma.

7. Video show:

Mira este video para aprender cómo construimos el reproductor de MP3 ESP32.

Si tiene más preguntas o necesita algunas personalizaciones de PCBA basadas en esas placas IoT de MakePython, no dude en ponerse en contacto conservice@makerfabs.com.guiño

Contáctenos