Precisa colocar algum tipo de efeito sonoro no seu robô, brinquedo ou alarme ? Utilize o módulo MP3 WTV020-SD.
Esse módulo possui um slot para cartão microSD, onde são armazenados os arquivos de áudio, sendo que ele é mais indicado para reprodução de arquivos de voz, mas também é possível reproduzir músicas.
Os formatos suportados são WAV e AD4, com taxa de amostragem (sampling rate) entre 6KHz a 36KHz para os arquivos de voz no formato AD4, e de 6KHz a 16KHz para os arquivos de voz no formato WAV.
O módulo WTV020-SD pode ser utilizado basicamente de duas maneiras. Uma delas é conectado ao microcontrolador, onde utilizamos 4 pinos para comunicação com o módulo e controle das funções de reproduzir música, pausar, volume, etc.
Já o segundo método é o MODO MP3, onde podemos utilizar push-buttons para acionar os pinos do módulo e executar as mesmas funções de reprodução de música mencionadas acima.
Existem ainda outros modos de operação, como o Key mode e o Power-Loop, que são utilizados em casos específicos. Para maiores informações sobre esses modos de operação, consulte o datasheet.
Com relação à capacidade do cartão microSD suportado pelo módulo, encontrei em vários documentos e posts a informação de que a capacidade máxima do cartão é de 1 GB. Nos meus testes, porém, o módulo funcionou normalmente com um cartão de 2GB.
Pinagem e conexão do módulo WTV020-SD ao Arduino
O módulo WTV020-SD segue a pinagem mostrada abaixo, com o pino 1 no mesmo lado da marca indicada pelo círculo:
No lado esquerdo da placa, próximo à marca, você pode selecionar a alimentação para 5V ou 3.3V, soldando os terminais correspondentes. Utilize essa opção com cuidado, já que eu não testei no modo 5V, e vi em grupos de discussão que algumas pessoas tiveram problemas em usar o módulo nessa configuração.
No Arduino Uno, utilizamos os pinos 4, 5, 6 e 7 para ligação aos pinos 1 (RESET), 7 (P04/CLK), 10 (P05/DI) e 15 (P06/BUSY) do módulo. A alimentação será de 3.3V:
Preparação do cartão SD e programação do módulo
Formate um cartão SD utilizando FAT e coloque nele dois arquivos de áudio, nomeados como 0001.ad4 e 0002.ad4. Você pode converter seus arquivos MP3 e WAV para AD4 utilizando um software como o AD4CONVERTER , ou então baixar alguns arquivos de exemplo neste link.
Antes de carregar o programa no Arduino, baixe a biblioteca Wtv020sd16p aqui.
//Programa : Modulo MP3 WTV020-SD e Arduino Uno //Autor : Arduino e Cia #include <Wtv020sd16p.h> int resetPin = 4; //Pino Reset int clockPin = 5; //Pino clock int dataPin = 6; //Pino data (DI) int busyPin = 7; //Pino busy //Variavel que armazena os caracteres recebidos char buf; Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin); void setup() { //Inicializa a serial Serial.begin(9600); //Inicializa o modulo WTV020 wtv020sd16p.reset(); //Informacoes iniciais menu_inicial(); } void loop() { //Aguarda os dados da serial while(Serial.available() > 0) { buf = Serial.read(); //Caso seja recebido o numero 1, reproduz o arquivo 0001.ad4 if (buf == '1') { Serial.println("Reproduzindo 0001.ad4"); wtv020sd16p.playVoice(0); //Reproduz o arquivo 1 wtv020sd16p.asyncPlayVoice(1); delay(3000); wtv020sd16p.stopVoice(); delay(2000); menu_inicial(); } //Caso seja recebido o numero 2, reproduz o arquivo 0002.ad4 if (buf == '2') { Serial.println("Reproduzindo 0002.ad4"); wtv020sd16p.playVoice(0); //Reproduz o arquivo 2 wtv020sd16p.asyncPlayVoice(2); delay(3000); wtv020sd16p.stopVoice(); delay(2000); menu_inicial(); } } } //Mostra menu de opcoes void menu_inicial() { Serial.println("nDigite : "); Serial.println("1 - Reproduz o arquivo 0001.ad4"); Serial.println("2 - Reproduz o arquivo 0002.ad4"); Serial.println(); }
Após o carregamento, abra o Serial Monitor e utilize as teclas indicadas para reproduzir/tocar os arquivos 1 e 2 que foram colocados no cartão:
Vamos agora ver como controlar diretamente o módulo com o modo MP3, sem utilizar o Arduino.
Módulo WTV020-SD no modo MP3
Nesse modo são utilizados push-buttons para controlar a reprodução dos sons. Monte o circuito abaixo e alimente o circuito com uma bateria ou fonte externa de até 3.3V:
Carregue os arquivos de áudio no cartão SD, respeitando os limites dos formatos de arquivos mencionados no início deste post (taxa de amostragem (sampling rate) entre 6KHz a 36KHz para AD4, e de 6KHz a 16KHz para WAV).
Pressione os botões NEXT e PREV para alternar a reprodução dos arquivos de áudio. O led vai permanecer aceso caso nenhum botão seja pressionado, e se apaga enquanto o som estiver sendo reproduzido.
(Atualizado em 25/10/2017): Precisando de um módulo que rode MP3 sem necessidade de conversão? conheça o módulo MP3 DFPlayer Mini.