Projeto 46
DFPlayer mini
Projeto 46 - DFPlayer mini
Código (download)
/*
Projeto 46 - DFPlayer mini
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); //RX e TX
DFRobotDFPlayerMini myDFPlayer;
#define pinLEDvermelho 7
#define pinLEDverde 6
void setup()
{
Serial.begin(9600);
mySoftwareSerial.begin(9600);
pinMode(pinLEDvermelho, OUTPUT);
pinMode(pinLEDverde, OUTPUT);
if (!myDFPlayer.begin(mySoftwareSerial))
{
digitalWrite(pinLEDvermelho, HIGH); //O cartão não se encontra no DFPlayer
digitalWrite(pinLEDverde, LOW);
while (true);
}
else
{
digitalWrite(pinLEDvermelho, LOW);
digitalWrite(pinLEDverde, HIGH); //O cartão está pronto
}
myDFPlayer.setTimeOut(500); //Timeout serial de 500 ms
myDFPlayer.volume(20); //Volume (entre 0 e 30)
myDFPlayer.EQ(0); //Equalização normal
}
void loop()
{
myDFPlayer.play(1);
delay(134000); //Duração da primeira música 2:14
myDFPlayer.play(2);
delay(149000); //Duração da segunda música 2:29
myDFPlayer.play(3);
delay(225000); //Duração da terceira música 3:45
}
Projeto 46 - DFPlayer mini com botão PAUSA e PRÓXIMA MÚSICA
Código (download)
/*
Projeto 46 - DFPlayer mini (com botões "Próxima música" e "Pausa")
Física na Lixa
https://fisicanalixa.blogspot.com/
https://sites.google.com/aelixa.pt/fisicaearduino
*/
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
SoftwareSerial mySoftwareSerial(10, 11); //RX e TX
DFRobotDFPlayerMini myDFPlayer;
#define pinLEDvermelho 7
#define pinLEDverde 6
#define pinBTNproxima 5
#define pinBTNpausa 4
int estadoBTNpausa = 1;
int estadoBTNproxima = 1;
int pausa = 0;
void setup()
{
Serial.begin(9600);
mySoftwareSerial.begin(9600);
pinMode(pinLEDvermelho, OUTPUT);
pinMode(pinLEDverde, OUTPUT);
pinMode(pinBTNpausa, INPUT_PULLUP);
pinMode(pinBTNproxima, INPUT_PULLUP);
if (!myDFPlayer.begin(mySoftwareSerial))
{
digitalWrite(pinLEDvermelho, HIGH); //O cartão não se encontra no DFPlayer
digitalWrite(pinLEDverde, LOW);
while (true);
}
else
{
digitalWrite(pinLEDvermelho, LOW);
digitalWrite(pinLEDverde, HIGH); //O cartão está pronto
}
myDFPlayer.setTimeOut(500); //Timeout serial de 500 ms
myDFPlayer.volume(20); //Volume (entre 0 e 30)
myDFPlayer.EQ(0); //Equalização normal
myDFPlayer.play(1); //Inicia com a música 0001.mp3
}
void loop()
{
estadoBTNpausa = digitalRead(pinBTNpausa);
estadoBTNproxima = digitalRead(pinBTNproxima);
if (estadoBTNproxima == LOW) //Pressionando o botão "Próxima" inicia-se a música seguinte
{
myDFPlayer.next();
}
if (estadoBTNpausa == LOW) //Pressionando o botão "Pausa" a música que está a tocar para
{ //Pressionando novamente o botão, a música continua a tocar
pausa = !pausa;
if (pausa == 0)
{
myDFPlayer.start();
}
if (pausa == 1)
{
myDFPlayer.pause();
}
}
delay(200);
}