ESP32

Como utilizar o DFPlayer com Arduino, ESP8266, ESP32 etc

Já escrevi um artigo sobre o DFPlayer utilizando-o em modo standalone, de modo que ele seja independente de qualquer MCU. Fiz um projeto de uma imagem que reza o terço para um cliente e o hardware haveria de ser o mais simples possível.

DFPlayer com Arduino

Atualmente me deparei com outro projeto onde preciso tocar áudio MP3 – dessa vez, o som do relógio cuco, cujo projeto (longo) está próximo de ser concluído.

DFPlayer com Arduino - relógio Cuco

Para evitar um artigo que pareça o livro do “Senhor dos Anéis”, estou escrevendo artigos sobre cada componente do relógio, para citá-los posteriormente no artigo do relógio cuco.  Por exemplo:

Controle de LED RGB com PCA9685

Os LEDs que controlarão a iluminação conforme a luz do dia são controlados de forma similar a esse artigo.

Como pegar a hora da Internet com ESP32

Para ajustar as cores conforme a hora do dia, pego a hora do dia periodicamente através de um servidor NTP, assim dispenso o uso de um RTC.

Duas seriais no ESP32

Nesse artigo incluí 2 importantes ítens. Uma das seriais é necessária para o DFPlayer e o motor de passo é o que move a engrenagem dos segundos do relógio cuco.

A biblioteca é compatível com todos os citados no título e o funcionamento é o mesmo. A diferença no ESP32 é que invés de colocar no loop, eu executo o áudio de dentro de uma task que dorme com intervalos regulares de 5 minutos. Tem vários detalhes importantes no código do relógio, será um artigo bastante informativo.

Primeiramente, instale a biblioteca na IDE do Arduino através do menu Sketch > Bibliotecas > Gerenciar bibliotecas. Se estiver usando Atom com PlatformIO, vá à aba PlatformIO Home e clique em Libraries. A biblioteca se chama DFRobotDFPlayerMini, não tem novidades.

Wiring

Se quiser ver como utilizar o DFPlayer em modo standalone, recomendo esse artigo. O Wiring é simples, basta seguir o pinout:

DFPlayer com Arduino

Coloque VIN da controladora ao VCC do DFPlayer, GND ao GND. Já está feita a alimentação.

Para utilizar a Serial, no Mega você pode escolher uma das 3 disponíveis por hardware. No Leonardo tem duas seriais. Se tiver dúvidas, siga esse artigo, na parte relacionada ao wiring. Se for UNO ou digispark, ou qualquer controladora que tenha apenas 1 serial, você pode seguir as instruções desse artigo.

A conexão serial é simples, TX vai ao RX  e vice-versa.

O speaker vai aos pinos SPL_1 e SPK_2. Pronto, está feito o Wiring. Revisando:

  • VCC
  • GND
  • TX
  • RX
  • SPK_1
  • SPK_2

Código para DFPlayer

O código é bastante simples, você pode abrir o exemplo da própria biblioteca.

Em um sketch padrão do Arduino, você pode fazer algo como:

Daí tem todos os comandos como next, previous, replay, surffle etc. Você pode dar uma conferida na lista de comandos no site da DFRobot.

SDCard

Tenha-o formatado em FAT32. Podemos ter os arquivos soltos na raiz ou então separados por pastas, até 256 níveis. A amostragem de áudio é boa e o dispositivo responde muito bem aos comandos. Recomendo um cartão micro SD pequeno, como 8GB.

Quando o video estiver pronto, coloco no nosso canal DobitAoByteBrasil no Youtube.

Onde comprar

Esse módulo é do nosso parceiro CurtoCircuito, recomendo a compra pelo preço e agilidade, além de ele ter esse speaker de 0.5W 8r, que é o ideal para um som de qualidade!