Tabla de contenido:
- Suministros:
- Paso 1: Arduino MP3 Shield
- Paso 2: Prepare su archivo de audio
- Paso 3: Reproduce el archivo de audio
- Paso 4: Controla el audio usando Aduino
- Paso 5: Final, Documento, Enlaces Útiles
Hola, hoy quisiera compartir mi experimento con MP3 Shield de ELECHOUSE, este escudo tiene teclas internas que pueden controlar el archivo de audio muy fácilmente, soporta FAT16 y FAT32, y puede leer MP3, formato WAV desde la tarjeta SD, disco U, y desde la memoria Flash incorporada en SPI, que le brinda la posibilidad de guardar su archivo de audio en la pizarra y reproducirlo más tarde, por lo que no necesita un dispositivo de almacenamiento externo.
como mencioné anteriormente, este escudo tiene teclas internas para controlar el archivo de audio, y usted puede controlar el archivo de audio mediante la programación desde Arduino. Puede programar su audio cuando comience, cambiar de archivo y controlar el volumen hacia arriba y hacia abajo muy fácilmente.
Quiero mostrarle cómo podemos reproducir audio desde la tarjeta SD y el disco U.
El componente que necesitamos es:
1) Tablero Arduino.
2) Arduino USB-SD MP3 Shield de Elechusa Puedes comprarlo de aquí.
3) Tarjeta SD con adaptador. O USB Flash.
4) Altavoces o auriculares.
Suministros:
Paso 1: Arduino MP3 Shield
El Arduino MP3 Shield tiene muchas ventajas, como la interfaz Control by Serial UART o las teclas integradas, tiene un amplificador de audio incorporado de 3W, y tiene SPI-FLASH incorporado de 64MBit, que puede guardar su archivo de audio y reproducirlo más tarde.
Este escudo se puede controlar desde Arduino por el hardware serie "Rx D0, Tx D1" y por el software serie "RX D7, Tx D8". Al principio, puede usar el hardware serie, fácil de usar, pero debe quitar el escudo cuando desee cargar. nuevo boceto.
Puede cambiar el pin de la interfaz en serie por las herramientas de soldadura. Simplemente retire la soldadura de los pads Upper 2 y suelde un pequeño puente entre los 2 pads a continuación al Pin serial del software activo. Mira la imagen adjunta para ver estos 3 pads.
También puede conectar el puente de control del amplificador de puente para que pueda activarlo o desactivarlo soldando el pin de control del amplificador, por lo que este pin unido al pin de arduino D9 no lo usé en este experimento
También puede soldar el encabezado del Pin en este escudo "Mire la imagen" para que pueda conectar los altavoces a este escudo
Paso 2: Prepare su archivo de audio
Puede reproducir 2 formatos de archivo de audio, MP3 y WAV. Antes de poder reproducir su archivo de audio en este escudo, debe:
1) Copie su archivo de audio a la tarjeta SD o al dispositivo de almacenamiento en U-disk.
2) Agregue el prefijo 0000 ~ 9999 a los nombres de archivos como 0000-Mi musica.mp3 Así que el escudo trata con el número de archivos, no con nombres.
3) inserte el dispositivo de almacenamiento en el protector, enciéndalo.
Así que vamos a ver cómo podemos controlar el archivo de audio.
Paso 3: Reproduce el archivo de audio
Lo que nunca si está modificando este escudo para controlarlo a través de la serie de software o dejarlo como serie de hardware, solo necesita cargar el siguiente boceto a su arduino, en este paso puede controlar el archivo de audio, reproducir, pausar, subir volumen y hacia abajo, y ponga el escudo en modo de reposo, a través del botón a bordo.
Este código para reproducir en la tarjeta SD, puede cambiarlo para reproducir U Disk, lea el código a continuación.
Sube este código si estás usando una serie de software:
//………………………………………………………………………………….
// Escrito por: Mohannad Rawashdeh
// este código para MP3 Shield Elechosue
// Interfaz serial del software
// Para el producto:
//http://www.instructables.com/member/Mohannad+Rawashdeh/
#incluir
SoftwareSerial Geno (7,8); // Rx, Tx
unsigned char cmd_buf 10;
Carácter sin firmar;
void ArduinoMP3Shield_SendCMD (unsigned char * cmd_buf, len unsigned)
{
sin firmar i;
para (i = 0; i
Geno.write (cmd_buf i);
}
}
configuración del vacío (vacío)
{
/ ** esperar hasta que el escudo de arduino mp3 esté listo * /
retraso (1000);
Geno.begin (9600);
/ ** ajustar el volumen * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x03; // Longitud
cmd_buf 2 = 0xA7; // Comando
cmd_buf 3 = 0x0F; // nuevo volumen
cmd_buf 4 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 5);
/ ** establecer el modo de reproducción repetir todo * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x03; // Longitud
cmd_buf 2 = 0xA9; // Comando SET MODE
cmd_buf 3 = 0x02; // modo de ajuste
cmd_buf 4 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 5);
/ ** seleccionar la tarjeta SD primero música y reproducir * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x04; // Longitud
cmd_buf 2 = 0xA0; // Para U Disk cambia esta línea a 0xA2
cmd_buf 3 = 0x00; // número de archivo byte alto
cmd_buf 4 = 0x01; // número de archivo byte bajo
cmd_buf 5 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 6);
}
bucle vacío (vacío)
{
}
//………………………………………………………………………………….
Sube este código si estás usando una serie de hardware:
//……………………………………………………………..
// este código para MP3 Shield Elechosue
// Interfaz serial del software
// Para el producto:
//http://www.instructables.com/member/Mohannad+Rawashdeh/
unsigned char cmd_buf 10;
Carácter sin firmar;
void ArduinoMP3Shield_SendCMD (unsigned char * cmd_buf, len unsigned)
{
sin firmar i;
para (i = 0; i
Serial.write (cmd_buf i);
}
}
configuración del vacío (vacío)
{
/ ** esperar hasta que el escudo de arduino mp3 esté listo * /
retraso (1000);
Serial.begin (9600);
/ ** ajustar el volumen * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x03; // Longitud
cmd_buf 2 = 0xA7; // Comando
cmd_buf 3 = 0x0F; // nuevo volumen
cmd_buf 4 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 5);
/ ** establecer el modo de reproducción repetir todo * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x03; // Longitud
cmd_buf 2 = 0xA9; // Comando SET MODE
cmd_buf 3 = 0x02; // modo de ajuste
cmd_buf 4 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 5);
/ ** seleccionar la tarjeta SD primero música y reproducir * /
cmd_buf 0 = 0x7E; // COMIENZO
cmd_buf 1 = 0x04; // Longitud
cmd_buf 2 = 0xA0; // Command For U Disk cambia esta línea a 0xA2
cmd_buf 3 = 0x00; // número de archivo byte alto
cmd_buf 4 = 0x01; // número de archivo byte bajo
cmd_buf 5 = 0x7E; // FINAL
ArduinoMP3Shield_SendCMD (cmd_buf, 6);
}
bucle vacío (vacío)
{
}
Paso 4: Controla el audio usando Aduino
Puede controlar el audio Reproducir, pausar y Subir y bajar el volumen. Dependiendo de los comandos que programe en arduino, Simplemente envíe el comando en serie. Es muy fácil enviar el comando; este bosquejo a continuación muestra este método.No es necesario tener una biblioteca para programarlo, pero si quieres, hay una biblioteca para este escudo. Puede descargarlo desde aquí
//……………………………………………………………………
// Mohannad Rawashdeh
// Prueba de escudo de MP3 1.2V.
#incluir
SoftwareSerial Geno (7,8); // Rx, Tx
Datos de caracteres sin firmar 10;
Carácter sin firmar;
configuración vacía () {
// ponga su código de configuración aquí, para ejecutar una vez:
Geno.begin (9600);
SetVolume (20); // ajustar el volumen de 0-31
retraso (1000);
FileSource ('SD_card', 0x05);
SetPlayMode ('Single_play');
retraso (5000);
play_pause (); // pausa
retraso (3000);
FileSource ('SD_card', 0x01);
reproducir pausar(); // jugar
retraso (5000);
Siguiente();
retraso (5000);
Siguiente();
para (int v = 15; v> 0; v -) {
SetVolume (v); // ajustar el volumen de 0-31
retraso (1000);
}
para (int j = 0; j <15; j ++) {
SetVolume (j); // ajustar el volumen de 0-31
retraso (500);
}
retraso (1000);
FileSource ('SD_card', 0x04);
retraso (5000);
FileSource ('SD_card', 0x05);
// FileSource ('SD_card', 0x03);
//Detener();
}
bucle de vacío () {
// ponga su código principal aquí, para ejecutar repetidamente:
}
// Seleccionar archivo sorce "SD Card, SPI Flash, U Disk"
void FileSource (tipo de caracteres, byte track) {
play_pause (); // pausa
Datos 0 = 0x7E;
Datos 5 = 0x7E;
interruptor (tipo) {
caso 'SD_card':
// COMIENZO
Datos 1 = 0x04; // Longitud
Datos 2 = 0xA0; // Comando
Datos 3 = 0x00; // número de archivo byte alto
Datos 4 = pista; // número de archivo byte bajo
descanso;
caso 'SPI_Flash':
Datos 1 = 0x04; // Longitud
Datos 2 = 0xA1; // Comando spi flash 0XA1
Datos 3 = 0x00; // número de archivo byte alto
Datos 4 = pista;
descanso;
caso 'U_Disk':
Datos 1 = 0x04; // Longitud
Datos 2 = 0xA2; // Comando
Datos 3 = 0x00; // número de archivo byte alto
Datos 4 = pista; // número de archivo byte bajo
descanso;
}
Comando (Datos, 5);
play_pause (); // pausa
}
void SetVolume (int vol) {
Datos 0 = 0x7E; // COMIENZO
Datos 1 = 0x03; // Longitud No 0x02
Datos 2 = 0xA7; // Comando
Datos 3 = vol; // nuevo volumen
Datos 4 = 0x7E; // FINAL
Comando (Datos, 5);
}
void SetPlayMode (tipo char) {
Datos 0 = 0x7E; // COMIENZO
Datos 4 = 0x7E; // COMIENZO
interruptor (tipo) {
caso 'Single_play':
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA9; // Comando
Datos 3 = 0x00; // parámetro de modo
descanso;
caso 'Repeat_single':
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA9; // Comando
Datos 3 = 0x01; // parámetro de modo
descanso;
caso 'Repeat_all':
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA9; // Comando
Datos 3 = 0x02; // parámetro de modo
descanso;
caso 'Play_Random':
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA9; // Comando
Datos 3 = 0x03; // parámetro de modo
descanso;
}
Comando (Datos, 5);
}
//………………………….
void play_pause () {
Datos 0 = 0x7E; // COMIENZO
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA3; // Comando
Datos 3 = 0x7E; // parámetro de modo
Comando (Datos, 4);
}
void Stop () {
Datos 0 = 0x7E; // COMIENZO
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA4; // Comando
Datos 3 = 0x7E; // parámetro de modo
Comando (Datos, 4);
}
void Next () {
Datos 0 = 0x7E; // COMIENZO
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA5; // Comando
Datos 3 = 0x7E; // parámetro de modo
Comando (Datos, 4);
}
nulo Anterior () {
Datos 0 = 0x7E; // COMIENZO
Datos 1 = 0x02; // Longitud
Datos 2 = 0xA6; // Comando
Datos 3 = 0x7E; // parámetro de modo
Comando (Datos, 4);
}
Comando void (unsigned char * Data, int length) {
para (int i = 0; i
Geno.write (Datos i);
}
}
El video a continuación te muestra cómo funcionó.
Paso 5: Final, Documento, Enlaces Útiles
Para obtener más información sobre este escudo, puede volver al Manual de este escudo, desde Aquí puede encontrar todos los comandos para este escudo, y cómo puede guardar su archivo de audio en la memoria flash Board SPI
Prepararé algunos proyectos sobre este escudo y lo compartiré con ustedes.
Gracias