Introdução

Este módulo pode criar sistemas de som, alarmes, avisos e diversos outros projetos. Por exemplo, soe um alarme personalizado quando um sensor chegar em uma determinada temperatura, toque música quando uma determinada tarefa for concluída ou execute um comando de voz para instruir o usuário sobre o que deve ser feito.

O Módulo MP3 DFPlayer Mini

O DFPlayer Mini é (fisicamente) extremamente parecido com o WTV020-SD, que já vimos aqui. Porém, o DFPlayer Mini tem duas grandes vantagens: a capacidade de conectar alto-falantes de até 3W sem usar um amplificador e a capacidade de, sem conversão, reproduzir arquivos MP3. Na imagem abaixo, temos a Pinagem do módulo, no qual vemos as conexões RX/TX (para comunicação serial), saída de alto-falante (SPK_1 e SPK_2), pinos ADKEY para uso de teclado analógico, e pinos DAC, caso você prefira conectar o DFPlayer Mini ao amplificador. Você pode alimentar o módulo com uma tensão entre 3.2 e 5 VDC.

Pinagem

O DFPlayer Mini pode receber arquivos com sampling rates de 8/11.025/12/16/22,05/24/32/44,1/48 KHz,  suporta cartões micro SD nos formatos FAT16 e FAT32 de até 32 GB e pode reconhecer até 100 arquivos, tem saída DAC de 24 bits, 30 níveis de volume e 6 formatos de equalização.

Materiais Necessários para o Projeto Usando o Módulo MP3 DFPlayer Mini

O resistor de 330R no pino RX do módulo cancela um possível ruído no alto-falante. Também recomendamos, dependendo do tamanho do seu projeto, o uso de uma fonte externa, sem a qual o projeto pode ficar com pouco fraco.

Diagrama da Montagem

Formatação do Cartão SD

Agora que já temos a parte física montada, temos que organizar as faixas a serem reproduzidas no cartão SD:

Primeiro, você deve criar pastas com a nomenclatura: <01> <02> <03>….

Já dentro dessas pastas, você deve nomear os arquivos de áudio em: <001> <002> <003>….

Código

// INCLUSÃO DE BIBLIOTECAS

#include "SoftwareSerial.h"

#include "DFRobotDFPlayerMini.h"

// DEFINIÇÕES DE PINOS

#define pinRx 10 //informe aqui qual porta Rx está sendo utilizada.

#define pinTx 11 //informe aqui qual porta Tx está sendo utilizada.

#define button 1 //definimos a saída digital 1 com o nome de Button.

#define button2 2 //definimos a saída digital 2 com o nome de Button2.

// DEFINIÇÕES

#define volumeMP3 30 //definimos o volume, entre 0 e 30.

#define DEBUG

// INSTANCIANDO OBJETOS

SoftwareSerial playerMP3Serial(pinRx, pinTx);

DFRobotDFPlayerMini playerMP3;

// DECLARAÇÃO DE FUNÇÕES

// DECLARAÇÃO DE VARIÁVEIS

void setup() {

pinMode(button, INPUT); //declaramos Button como INPUT.

pinMode(button2, INPUT); //declaramos Button como INPUT.

Serial.begin(9600);

playerMP3Serial.begin(9600);

Serial.println();

Serial.println(F("Iniciando DFPlayer ... (Espere 3~5 segundos)"));

if (!playerMP3.begin(playerMP3Serial)) { // COMUNICAÇÃO REALIZADA VIA SOFTWARE SERIAL

Serial.println(F("Falha:"));

Serial.println(F("1.conexões!"));

Serial.println(F("2.cheque o cartão SD!"));

while(true){

delay(0);

}

}

Serial.println(F("DFPlayer iniciado!"));

playerMP3.volume(volumeMP3);

#ifdef DEBUG

Serial.println("o Setup acabou");

#endif

}

void loop() {

if (digitalRead(button) == HIGH){

playerMP3.playFolder(2, 1);

Serial.println("Tocando pasta 02, musica 001");

delay(1000);

}

if (digitalRead(button2) == HIGH){

playerMP3.playFolder(2, 2);

Serial.println("Tocando pasta 02, musica 001");

delay(1000);

}

}

Testado e implementado!

Deixe um comentário

Translate »