Como Usar o Módulo MP3 DFPlayer

Neste artigo iremos mostrar como usar o famoso módulo MP3 para que torne possível reproduzir música e sons nos seus projectos.

Para acompanhar este tutorial irá necessitar dos seguintes artigos:

Imagem Produto Comprar
 

 

 

Arduino Uno

 


 

 

 

Cabos Jumper Macho-Macho

 


 

 

 
Speakerr

 


 

 

 

Cabos Jumper Macho-Macho

 


 

 

 

BreadBoard

 



Sobre o módulo MP3

  • Tensão da operação: 5V;
  • Suporta taxas: 8kHz, 11.025kHz, 12kHz, 16kHz, 22.05kHz, 24kHz, 32kHz, 44.1kHz e 48kHz;
  • Conversor de saída: 24bits;
  • Formato da memória suportada: FAT16 e FAT32 até 32GB;
  • Níveis de volume: 30;
  • Número de equalizações: 6;
  • Saída para altifalantes;
  • Peso: 4g;
  • Dimensões: 21x21x12mm.
Módulo MP3 – DFPlayer

Pinout Módulo

Pinout

Na temos a pinagem do módulo, as conexões RX/TX para comunicação serial e controle utilizando um microcontrolador como Arduino ou outro microcontrolador/placa que tenha interface serial/UART, pinos ADKEY para utilização de um teclado analógico, saída para alto falante (SPK_1  e SPK_2) e os pinos DAC, se preferir ligar o seu DFPlayer Mini em um amplificador. Deve ser alimentado entre 3.3v a 5v.

 

Esquema de Montagem

Esquema Montagem

Preparar IDE

Primeiramente necessita de adicionar a biblioteca “DFPlayer Mini” ao seu IDE.

De seguida deverá seleccionar o controlador usado e a sua respectiva porta COM.

Código Utilizado

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
//Inicia a serial por software nos pinos 10 e 11
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
char buf;
int pausa = 0;
int equalizacao = 0;
void setup()
{
//Comunicacao serial com o modulo
mySoftwareSerial.begin(9600);
//Inicializa a serial do Arduino
Serial.begin(115200);
//Verifica se o modulo esta respondendo e se o
//cartao SD foi encontrado
Serial.println();
Serial.println(F("DFRobot DFPlayer Mini"));
Serial.println(F("Inicializando modulo DFPlayer... (3~5 segundos)"));
if (!myDFPlayer.begin(mySoftwareSerial))
{
Serial.println(F("Nao inicializado:"));
Serial.println(F("1.Cheque as conexoes do DFPlayer Mini"));
Serial.println(F("2.Insira um cartao SD"));
while (true);
}
Serial.println();
Serial.println(F("Modulo DFPlayer Mini inicializado!"));
//Definicoes iniciais
myDFPlayer.setTimeOut(500); //Timeout serial 500ms
myDFPlayer.volume(5); //Volume 5
myDFPlayer.EQ(0); //Equalizacao normal
//Mostra o menu de comandos
Serial.println();
Serial.print("Numero de arquivos no cartao SD: ");
Serial.println(myDFPlayer.readFileCounts(DFPLAYER_DEVICE_SD));
menu_opcoes();
}
void loop()
{
//Aguarda a entrada de dados pela serial
while (Serial.available() > 0)
{
buf = Serial.read();

//Reproducao
if ((buf >= '1') && (buf <= '9'))
{
Serial.print("Reproduzindo musica: ");
Serial.println(buf);
buf = buf - 48;
myDFPlayer.play(buf);
menu_opcoes();
}

//Parada
if (buf == 's')
{
myDFPlayer.stop();
Serial.println("Musica parada!");
menu_opcoes();
}

//Pausa/Continua a musica
if (buf == 'p')
{
pausa = !pausa;
if (pausa == 0)
{
Serial.println("Continua musica...");
myDFPlayer.start();
}
if (pausa == 1)
{
Serial.println("Musica pausada...");
myDFPlayer.pause();
}
menu_opcoes();
}

//Seleciona equalizacao
if (buf == 'e')
{
equalizacao++;
if (equalizacao == 6)
{
equalizacao = 0;
}
myDFPlayer.EQ(equalizacao);
Serial.print("Equalizacao: ");
Serial.print(equalizacao);
Serial.println(" (0 = Normal, 1 = Pop, 2 = Rock, 3 = Jazz, 4 = Classic, 5 = Bass)");
menu_opcoes();
}

//Aumenta volume
if (buf == '+')
{
myDFPlayer.volumeUp();
Serial.print("Volume atual:");
Serial.println(myDFPlayer.readVolume());
menu_opcoes();
}

//Diminui volume
if (buf == '-')
{
myDFPlayer.volumeDown();
Serial.print("Volume atual:");
Serial.println(myDFPlayer.readVolume());
menu_opcoes();
}
}
}
void menu_opcoes()
{
Serial.println();
Serial.println(F("Comandos:"));
Serial.println(F(" [1-9] Para selecionar o arquivo MP3"));
Serial.println(F(" [s] parar reproducao"));
Serial.println(F(" [p] pausa/continua a musica"));
Serial.println(F(" [e] seleciona equalizacao"));
Serial.println(F(" [+ or -] aumenta ou diminui o volume"));
Serial.println();
}

Finalmente

Coloque um cartão SD com os arquivos MP3 no slot do módulo e abra o monitor de serial. Será exibido o menu de opções para controlar a execução das música.

 

Para mais projetos, percorram o nosso blog, onde podem encontrar vários artigos interessantes relacionados com eletrónica, robótica e muito mais! Visitem também o nosso site, onde encontram tudo para eletrónica e robótica!