Tabla de contenido:
- Suministros
- Paso 1: ¿Qué es el módulo MP3 DF Mini Player?
- Paso 2:
- Paso 3: Controlar el reproductor DFMini con Arduino
- Paso 4:
Video: Cómo utilizar el módulo MP3 DFMini Player con Arduino: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Varios proyectos requieren reproducción de sonido para agregar algún tipo de funcionalidad. Entre estos proyectos, destacamos: accesibilidad para personas con discapacidad visual, reproductores de música MP3 y la ejecución de sonidos de voz por robots, por ejemplo.
En todos estos sistemas, necesitamos un dispositivo de reproducción de sonido MP3 para conectarnos al Arduino. Por ello, en este artículo aprenderemos los siguientes puntos: Circuito de funcionamiento básico del DFMini Player MP3; Organización y configuración de archivos de sonido en la tarjeta de memoria; Control musical con Arduino.
Suministros
PCBWay PCB personalizado;
Módulo MP3 DFPlayer Mini - UTSOURCE;
Resistencia 10kR - UTSOURCE;
Botón de interruptor - UTSOURCE;
Protoboard - UTSOURCE;
Arduino UNO - UTSOURCE;
Pin de encabezado - UTSOURCE;
Paso 1: ¿Qué es el módulo MP3 DF Mini Player?
El módulo DFMini Player es un pequeño reproductor de música, de bajo costo y bajo consumo que tiene el propósito de reproducir sonidos almacenados en una tarjeta de memoria.
En base a esto, el módulo se puede controlar a través del modo autónomo, es decir, en este modo solo estará el módulo DFMini, una batería para alimentar, el altavoz, botones para controlarlo y la Tarjeta SD con las canciones. Otra forma de controlarlo es usar un Arduino u otro dispositivo de control.
El Arduino, por ejemplo, enviará comandos a través de la comunicación en serie con el módulo de reproductor DFMini. El módulo DFMini Player se muestra en la Figura 1.
Para controlarlo, es importante utilizar el circuito autónomo básico. Este circuito se muestra en la Figura 2.
Los dos botones que se muestran en el circuito de arriba se usan para cambiar las pistas de música y controlar el volumen del sonido. El botón conectado al pin IO1 se usa para ir a la pista anterior y reducir el volumen. Con un toque rápido, el sistema regresa a la canción anterior, sin embargo, si presiona el botón durante más de 1 segundo, el sistema reducirá el volumen de la canción.
El botón conectado al pin IO2 se usa para ir a la siguiente pista y aumentar el volumen. Con un toque rápido, el sistema avanza a la siguiente canción, sin embargo, si presiona el botón durante más de 1 segundo, el sistema aumentará el volumen de la canción.
Paso 2:
En este método independiente, las canciones deben guardarse en la tarjeta de memoria, como se muestra en la Figura 3.
De esta forma, cada vez que se presionen los botones, el sistema reproducirá cada canción en orden ascendente o descendente, sin embargo, al usar Arduino u otro dispositivo de control, debemos modificar la forma de organizar los archivos musicales en la Tarjeta SD.
Ahora, explicaré cómo controlar el DFMini Player usando el Arduino a través de la comunicación en serie.
Paso 3: Controlar el reproductor DFMini con Arduino
En este paso, Arduino enviará el control de volumen, el control de rango, los comandos de ecualización y otras características.
El Arduino debe comunicarse a través de la serie con el DFMini Player y enviar los comandos de control.
El esquema electrónico del circuito de control se muestra en la Figura 4.
Primero, debemos ensamblar el circuito que se muestra en la Figura siguiente. Luego de ensamblar este circuito, debe agregar las canciones en su tarjeta de memoria. En este paso, las canciones se deben renombrar como 01, 02, 03, por ejemplo.
No puedes dejar las canciones con sus nombres, ya que habrá un problema cuando Arduino envíe el comando para ejecutar la pista específica. Por lo tanto, debe configurarlo como se muestra a continuación.
Paso 4:
Después de nombrar los archivos, escriba el siguiente código en su Arduino.
// Espera la entrada de datos a través de serial while (Serial.available ()> 0) {command = Serial.read (); if ((comando> = '1') && (comando <= '9')) {Serial.print ("Reproducción de música"); Serial.println (comando); comando = comando - 48; myDFPlayer.play (comando); menu_opcoes (); } // Reproducción // Detener if (comando == 's') {myDFPlayer.stop (); Serial.println ("¡Música detenida!"); menu_opcoes (); } // Pausa / Continua a musica if (comando == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuar…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("¡Música en pausa!"); myDFPlayer.pause (); } menu_opcoes (); }
// Aumenta el volumen
if (comando == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comando == '') {myDFPlayer.next (); Serial.println ("siguiente:"); Serial.print ("Pista actual:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Disminuye el volumen if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}} void menu_opcoes () {Serial.println (); Serial.println (F ("========================================= ================================================ =================================== ")); Serial.println (F ("Comandos:")); Serial.println (F ("[1-3] Para seleccionar el archivo MP3")); Serial.println (F ("[s] deteniendo la reproducción")); Serial.println (F ("[p] pausar / continuar música")); Serial.println (F ("[+ o -] aumenta o disminuye el volumen")); Serial.println (F (" avanza o retrocede la pista")); Serial.println (); Serial.println (F ("========================================= ================================================ ================================== ")); }
El código presentado arriba es bastante simple y te ayudará a seleccionar la canción por su número, detener, pausar, controlar el volumen y pasar las pistas.
El control musical consiste en enviar datos desde la serie Arduino IDE a nuestra placa Arduino. Inicialmente, el sistema realiza la configuración en la instalación y comprueba si la tarjeta SD está insertada en el módulo.
Si no está insertado, el sistema presenta un mensaje para alertar al usuario.
Además, el sistema muestra mensajes con opciones de configuración del sistema.
void setup () {// Comunicacao serial com o modulo mySoftwareSerial.begin (9600); // Inicializa un serial do Arduino Serial.begin (115200); // Verifica se o modulo esta respondiendo e se o // cartao SD foi encontrado Serial.println (); Serial.println (F ("DFRobot DFPlayer Mini")); Serial.println (F ("Inicializando el módulo DFPlayer… ¡Espera!")); if (! myDFPlayer.begin (mySoftwareSerial)) {Serial.println (F ("No inicializado:")); Serial.println (F ("1. Compruebe las conexiones de DFPlayer Mini")); Serial.println (F ("2. Inserte una tarjeta SD")); mientras (verdadero); } Serial.println (); Serial.println (F ("¡Módulo DFPlayer Mini inicializado!")); // Definicoes iniciais myDFPlayer.setTimeOut (500); // Tiempo de espera de serie 500ms myDFPlayer.volume (5); // Volumen 5 myDFPlayer. EQ (0); // Equalizacao normal menu_opcoes (); }
Si se inserta la tarjeta de memoria, el flujo de código ingresará a la función de bucle.
void loop () {// Espera la entrada de datos vía serial while (Serial.available ()> 0) {comando = Serial.read (); if ((comando> = '1') && (comando <= '3')) {Serial.print ("Reproducción de música"); Serial.println (comando); comando = comando - 48; myDFPlayer.play (comando); menu_opcoes (); } // Reproducción // Detener if (comando == 's') {myDFPlayer.stop (); Serial.println ("¡Música detenida!"); menu_opcoes (); } // Pausa / Continua a musica if (comando == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuar…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("¡Música en pausa!"); myDFPlayer.pause (); } menu_opcoes (); }
// Aumenta el volumen
if (comando == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comando == '') {myDFPlayer.next (); Serial.println ("siguiente:"); Serial.print ("Pista actual:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Disminuye el volumen if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}}
El usuario puede enviar los siguientes caracteres de control:
Números del 1 al 3: seleccione la canción que se reproducirá;
- Letra s: detener la canción, letra p: pausar la canción;
- Enviar el signo +: aumenta el volumen de la canción;
- Enviar la señal -: Disminuye el volumen de la canción;
- Enviar la señal <: Seleccione la canción anterior;
- Enviar la señal>: Seleccione la siguiente canción;
A partir de estas señales, letras y números, el Arduino los recibirá a través de la serie y controlará la música que se reproducirá.
Cada condición se presenta a continuación e internamente, con sus respectivos comandos.
if ((comando> = '1') && (comando <= '3')) {Serial.print ("Reproducción de música"); Serial.println (comando); comando = comando - 48; myDFPlayer.play (comando); menu_opcoes (); } // Reproducción // Detener if (comando == 's') {myDFPlayer.stop (); Serial.println ("¡Música detenida!"); menu_opcoes (); } // Pausa / Continua a musica if (comando == 'p') {pausa =! Pausa; if (pausa == 0) {Serial.println ("Continuar…"); myDFPlayer.start (); } if (pausa == 1) {Serial.println ("¡Música en pausa!"); myDFPlayer.pause (); } menu_opcoes (); }
// Aumenta el volumen
if (comando == '+') {myDFPlayer.volumeUp (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); } if (comando == '') {myDFPlayer.next (); Serial.println ("siguiente:"); Serial.print ("Pista actual:"); Serial.println (myDFPlayer.readCurrentFileNumber () + 1); menu_opcoes (); } // Disminuye el volumen if (command == '-') {myDFPlayer.volumeDown (); Serial.print ("Volumen actual:"); Serial.println (myDFPlayer.readVolume ()); menu_opcoes (); }}
Entonces, si aplicó todos los pasos presentados, pudo aprender:
- Circuito de funcionamiento básico del DFMini Player MP3;
- Organización y configuración de archivos de sonido en la tarjeta de memoria;
- Control musical con Arduino. A partir de este código, puede desarrollar otros proyectos que necesiten utilizar el sonido como funcionalidad del sistema.
Expresiones de gratitud
Para finalizar, le agradecemos su lectura y el apoyo de PCBWAY. COM por apoyar a Silício Lab en la producción de este artículo para usted.
Silícios Lab agradece a UTSOURCE por ofrecer los componentes electrónicos para construir este proyecto.
Recomendado:
Cómo utilizar el módulo RFID-RC522 con Arduino: 5 pasos
Cómo usar el módulo RFID-RC522 con Arduino: En este Instructable, daré un tutorial sobre el principio de funcionamiento fundamental del módulo RFID junto con sus etiquetas y chips. También proporcionaré un breve ejemplo de un proyecto que hice usando este módulo RFID con un LED RGB. Como de costumbre con mis Ins
Cómo utilizar un módulo de reloj en tiempo real (DS3231): 5 pasos
Cómo utilizar un módulo de reloj en tiempo real (DS3231): El DS3231 es un reloj en tiempo real (RTC) I2C extremadamente preciso y de bajo costo con un oscilador de cristal integrado con compensación de temperatura (TCXO) y un cristal. El dispositivo incorpora una entrada de batería y mantiene una indicación de la hora precisa cuando la alimentación principal a
[Serie Docker Pi] Cómo utilizar el módulo de nodo IoT (A) en Raspberry Pi: 18 pasos
[Serie Docker Pi] Cómo utilizar el módulo IoT Node (A) en Raspberry Pi: ¿Qué es el módulo IoT Node (A)? IoT Node (A) es uno de los módulos de la serie Docker Pi. Nodo IOT (A) = GPS / BDS + GSM + Lora.I2C controla directamente Lora, envía y recibe datos, controla el módulo GSM / GPS / BDS a través de SC16IS752, la placa base solo necesita soporte I2C
Cómo utilizar el módulo LED RGB: 4 pasos
Cómo usar el módulo LED RGB: Descripciones: Con resistencia incorporada para evitar que el LED se queme. Se puede usar con diferentes microcontroladores. Alta operación activa Voltaje de funcionamiento: 3.3V / 5V Se puede conectar directamente a Arduino, sin cables de puente
Cómo utilizar el módulo de circuito de luz fluorescente compacto quemado: 6 pasos
Cómo usar el módulo de circuito de luz fluorescente compacta quemada: Nota y precauciones: las lámparas fluorescentes compactas contienen mercurio, que es un material peligroso, por lo que debe manipularse en consecuencia La mayoría de las lámparas CFL y los circuitos electrónicos funcionan perfectamente y aún se pueden usar, solo la bombilla se estropea. El circuito CFL de 18-24 vatios es