Paso 5: El arduino código
El bosquejo abajo reproduce una canción cuando se presiona el botón. Otra presión sobre el botón interrumpe la canción. Un contador se incrementa cada vez que para pasar por todas las pistas.Nota 1: la variable nbTracks tiene que ser inicializado con el número de archivos en la tarjeta SD.
Nota 2: algunas librerías necesitan instalarse para que el código de trabajo. Por suerte para nosotros, Bill Porter ha simplificado grandemente, para que el código es realmente sencillo. ir a http://www.billporter.info/2012/01/28/sparkfun-mp3-shield-arduino-library/ para la descripción y a https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library archivos.
----------------------------------------------------------------------------------------------------
Este código reproduce una canción de MP3 cuando se presiona un botón
Cuando se presiona el botón, el escudo de MP3 reproduce la canción de track00x (un contador x se incrementa)
Cuando se presiona una vez más, la pista está parada (si es estaba jugando)
Las pistas de música se almacenan en la tarjeta SD como track00x.mp3 formato
bibliotecas vienen de http://www.billporter.info/2012/01/28/sparkfun-mp3-shield-arduino-library/
fuente de github: https://github.com/madsci1016/Sparkfun-MP3-Player-Shield-Arduino-Library
#include < SPI.h > //bus SPI
#include < SdFat.h > //SD tarjeta
#include < SdFatUtil.h > herramientas de tarjeta //SD
#include < SFEMP3Shield.h > //shield biblioteca
SFEMP3Shield MP3player; jugador
SdFat sd; tarjeta
const int pinButton = 5;
const int nbTracks = 5; CAMBIE ESTE VALOR POR EL NÚMERO DE CANCIONES EN LA TARJETA SD
const int volumen = 6; / /-3dB. El mayor número, menor volumen
int contador = 1;
void setup() {}
Serial.Begin(9600);
SD.Begin (SD_SEL, SPI_HALF_SPEED); tarjeta de inicio
pinMode (pinButton, entrada);
configuración del reproductor de
Mp3Player.Begin(); iniciar reproductor
Mp3Player.setDiffertialOutput(1); mayor potencia de salida
Mp3Player.setVolume (volumen, volumen);
}
void loop() {}
Si (MP3player.isPlaying() & & {digitalRead(pinButton))}
Si jugando, luego presiona el botón detiene la música
Mp3Player.stopTrack();
Serial.println ("música parado");
Delay(500); para liberar el botón
}
else if (!. Mp3Player.isPlaying() & & {digitalRead(pinButton))}
Si no, a continuación, pulse el botón comienza la música
primero, contador de incremento
contador += 1;
Si (contador > nbTracks)
contador = 1;
int errorCode; utiliza para depurar
código de error = MP3player.playTrack(counter); juego
/*
Serial.Print ("tocar la pista");
Serial.Print(Counter);
Serial.Print ("a");
Serial.Print(-Volume/2);
Serial.println("dB");
Serial.Print ("código de error (0 es aceptable):");
Serial.println(ErrorCode);
*/
Delay(500); para liberar el botón
}
}