Proyecto de Reproducción de MP3 con ESP32 y DFPlayer Mini

Este proyecto detalla cómo utilizar un ESP32 y un módulo DFPlayer Mini para reproducir archivos MP3 de manera automática cada cierto tiempo. Se abordan los aspectos del módulo DFPlayer Mini, las conexiones necesarias y el código de programación, proporcionando una guía completa para la implementación de este sistema de reproducción de audio.

 

El DFPlayer Mini es un módulo de reproducción de audio compacto y de bajo costo que puede reproducir archivos MP3 y WAV almacenados en una tarjeta microSD. Es ampliamente utilizado en proyectos de electrónica debido a su facilidad de uso y a su capacidad para manejar archivos de audio de manera autónoma, sin necesidad de una fuente de control compleja. El módulo cuenta con varias funciones, incluyendo el ajuste de volumen, control de reproducción, y la capacidad de seleccionar pistas mediante comandos simples.

Conexiones del Proyecto

Para conectar el DFPlayer Mini con el ESP32, es importante seguir las siguientes indicaciones:

  • VCC: Conectar a una fuente de alimentación de 5V. El ESP32 puede proporcionar esta salida.
  • GND: Conectar al pin de tierra (GND) del ESP32.
  • TX del DFPlayer Mini: Conectar al pin GPIO 16 del ESP32.
  • RX del DFPlayer Mini: Conectar al pin GPIO 17 del ESP32.
  • SPK1 y SPK2: Conectar a un altavoz pasivo, si se desea una salida de audio. Alternativamente, se puede usar un conector de auriculares para salida de línea.
  •  

Es fundamental asegurarse de que las conexiones sean correctas para evitar daños en los componentes y garantizar un funcionamiento óptimo del sistema.

3. Código de Programación

El siguiente código muestra cómo configurar el ESP32 para comunicarse con el DFPlayer Mini y reproducir un archivo MP3 cada 10 segundos. Se utiliza el puerto Serial1 del ESP32 para la comunicación, aprovechando la capacidad del microcontrolador para manejar múltiples puertos UART de hardware.


#include "DFRobotDFPlayerMini.h"

HardwareSerial mySerial(1); // Utilización del puerto Serial1 del ESP32
DFRobotDFPlayerMini myDFPlayer;

void setup()
{
  mySerial.begin(9600, SERIAL_8N1, 16, 17); // Configuración de la velocidad y pines RX, TX
  Serial.begin(115200);

  if (!myDFPlayer.begin(mySerial)) {
    Serial.println(F("No se pudo inicializar el DFPlayer Mini."));
    while (true);
  }

  Serial.println(F("DFPlayer Mini listo."));
  myDFPlayer.volume(20); // Configuración del volumen (0-30)
}

void loop()
{
  myDFPlayer.play(1); // Reproducción de la pista 1
  delay(10000); // Espera de 10 segundos
}

En este código, se utilizan las siguientes funciones y configuraciones:

  • mySerial.begin(9600, SERIAL_8N1, 16, 17); Esta línea configura el puerto Serial1 del ESP32 con una velocidad de comunicación de 9600 baudios y establece los pines GPIO 16 y 17 como RX y TX, respectivamente.
  • myDFPlayer.begin(mySerial); Esta función inicializa el DFPlayer Mini y lo prepara para recibir comandos.
  • myDFPlayer.volume(20); Se ajusta el volumen del reproductor a un nivel de 20 (en una escala de 0 a 30).
  • myDFPlayer.play(1); Este comando indica al DFPlayer Mini que reproduzca el archivo de audio numerado como 1 en la tarjeta microSD.
  • delay(10000); Introduce una pausa de 10 segundos antes de repetir el ciclo.

Este código permite la reproducción continua de un archivo MP3, con una espera de 10 segundos entre reproducciones. Es posible modificar el tiempo de espera o cambiar el archivo a reproducir ajustando los parámetros del código según las necesidades del proyecto.

Otros Proyectos realizados en España:

Dejar comentario

HUE CAT

PROGRAMACIÓN Y DISEÑO

GDPR