Componentes Eletronicos

Módulo de Áudio WTV020-SD – Incorporando Elementos de Áudio com Arduino

Eletrogate 16 de outubro de 20179 min

Introdução

Neste post vamos aprender a usar o módulo de áudio WTV020-SD. Com ele é possível incorporar elementos de áudio em seus projetos com arduino, como mensagens de voz, músicas, alarmes customizados e muitos outros. Com essa breve introdução, você será capaz de utilizar o módulo WTV020-SD de forma fácil e prática em seus projetos.

O módulo WTV020-SD é um circuito microcontrolado para gravação de voz. Possui um slot para cartão SD com capacidade de até  com 1GB de armazenamento, o que dá uma grande flexibilidade para trabalhar com arquivos de áudio em projetos com Arduino.

Com o módulo é possível usar arquivos nos formatos WAV e AD4 (áudio compactado) que estejam de acordo com a formatação FAT. Arquivos no formato WAV podem ter de 6KHz a 16Hz de taxa de amostragem. Já os arquivos em formato AD4 possuem frequência de amostragem de 6KHz a 36KHz. Para mais informações sobre o formato AD4, acesse este artigo. O formato WAV é amplamente conhecido e utilizado, mas caso queira conhecer um pouco mais sobre ele, leia este outro artigo.

A imagem abaixo mostra o módulo.

O módulo possui alguns modos de funcionamento. São eles:

  • Modo de Controle Audio: Funções Play/Stop, Próximo, Volume+, Volume-;
  • Modo de Controle One-To-One: A chave correspondente aciona a voz que dispara as 3 vozes e ajusta a subtração do volume;
  • Mode de Controle Power-Loop: Quando ligado, não precisa acionar nenhuma entrada ou saída, a gravação é toda direcionada ao cartão SD;
  • Modo de Controle Second-Line: Livre para tocar arquivo de qualquer endereço. Combinação de reprodução pode ser usada neste modo;

A tensão nominal do módulo é 2.5V a 3.5V, portanto podemos usar o canal de 3.3V disponível no Arduino para alimentá-lo. O conversor ADC usado pelo módulo é de 16bits.

Conectando ao microcontrolador(Arduino) diretamente ao módulo, podemos utilizar 4 pinos para comunicação e controle das funções de reprodução  de áudio. Este é o modo Controle Second-Line.

No Modo Audio, push-buttons são usados para acionar os pinos do módulo e executar as mesmas funções de reprodução de música mencionadas acima. Os outros dois modos são os menos usados, pois dizem respeito a situações menos comuns. Para saber mais sobre eles, recomendamos a leitura do datasheet, que pode ser encontrado aqui.


Aplicações

O Módulo WTV020-SD pode ser usado em diversas aplicações, como:

  • Alarmes para automóveis;
  • Mensagens de voz;
  • Leitor de músicas;
  • Sensor de estacionamento;
  • Casa inteligente e instrumentos médicos.

Qualquer projeto em que a incorporação de elementos de áudio seja importante são fortes candidatos ao módulo  WTV020-SD.


Descrição do Projeto

O projeto de exemplo consiste no seguinte:

Preparar e salvar dois arquivos no cartão SD do módulo WTV020-SD, um no formato WAV e outro no Ad4, . Exibir um menu na interface serial para escolher qual arquivo tocar e por quanto tempo.

Aspectos de Hardware

Materiais necessários para o projeto com Arduino Uno e Módulo MP3 WTV020

cta_cart

A pinagem do módulo WTV020-SD pode ser vista na tabela abaixo, retirada do datasheet original. Para este projeto, vamos usar os pinos de alimentação(3.3V e GND) e outros quatro pinos de comunicação.

Pinagem wtv020-SD

Pinagem wtv020-SD. Fonte: Datasheet.

Em nossa montagem, vamos utilizar a seguinte ligação:

Pino Módulo WTV020-SD  Pino Arduino UNO
RST(pino 1)  Digital 2
 P06(pino 15/BUSY)  Digital 5
 P04(pino 7/Clock)  Digital 3
 P05(pino 10/Din)  Digital 4

Monte o circuito conforme o diagrama abaixo:

Aspectos de Software

Para controlar o módulo vamos utilizar a biblioteca WTV020sd. A biblioteca foi  disponibilizada na comunidade Arduino (link original). A versão utilizada neste exemplo pode ser baixada aqui. Antes de gravar o programa e rodar seus arquivos de áudio, é necessário formatar o cartão SD com o sistema de arquivos FAT e também salvar um arquivo no formato AD4 e um no formato Wav.

Para converter para WAV existem vários aplicativos online(ex1). Para converter para AD4, recomendamos esse artigo que apresenta vários métodos (em inglês). O link original para a publicação da biblioteca possui um exemplo sobre como usar as várias funções do módulo. Nosso programa ficou da seguinte maneira:

//Exemplo: Modulo WTV020-SD com Arduino
//Visite: https://blog.eletrogate.com/

//Inclui biblioteca
#include <Wtv020sd16p.h>

#define DIN_PIN 4   //Pino DI
#define BUSY_PIN 5  //Pino busy
#define RST_PIN 2  //Pino Reset
#define CLK_Pin 3  //Pino clock

 
//Buffer de armazenamento
char bufferRead;

//Inicializa biblioteca com os pinos utilizados na montagem
Wtv020sd16p wtv020sd16p(RST_PIN,CLK_Pin,DIN_PIN,BUSY_PIN);
 
void setup()
{
  //Inicializa a porta serial serial
  Serial.begin(9600);
  //Inicializa o modulo WTV020
  wtv020sd16p.reset();
}
 
void loop()
{
  Serial.println("Para reproduzir o arquivo ad4.ad4 digite a");
  Serial.println("Para reproduzir o arquivo mps.mp3 digite b");
  Serial.println();
  
  //Aguarda receber algum byte na porta serial
  do
  {
    delay(1000);
      if(Serial.available())
      {
        bufferRead = Serial.read();
        
        if (bufferRead == 'a')
        {
          TocaAudio(1);
          break;
        }
          
         
        //Caso seja recebido o numero 2, reproduz o arquivo 0002.ad4
        if (bufferRead == 'b')
        {
          TocaAudio(2);
          break;
        }
      }
  }while(1);
  
}

void TocaAudio(int i)
{
  Serial.println("tocando: ");
  Serial.print(i);
  wtv020sd16p.playVoice(2);
  wtv020sd16p.asyncPlayVoice(i);
  delay(5000); 
  wtv020sd16p.stopVoice();
  delay(1000); 
}

Basicamente, temos um loop no qual damos a opção para o usuário escolher um dos dois arquivos ad4 deve tocar. Criamos a função TocaAudio que executa os comandos para tocar o audio selecionado por 5 segundos. Duas observações importantes que temos são as seguintes:

  • Em diversos fóruns e sites de projetos, há uma grande quantidade de relatos de problemas por conta do cartão SD. Mesmo com a montagem e o programa correto, algumas pessoas só conseguem colocar para funcionar com alguns cartões SD específicos. A maioria dos relatos de sucesso envolveram cartões de 512MB, 1GB e 2GB. Recomendamos ter atenção redobrada para verificar se o cartão foi formatado corretamente e se os áudios foram convertidos corretamente para ad4. Em alguns relatos, foi destacado que alguns arquivos convertidos com certos programas não funcionaram, enquanto conversões com outros programas funcionaram;
  • Outra questão é nomeclatura dos audios. O datasheet específica de forma muito clara que os arquivos devem estar nomeados segundo uma lógica 0001.ad4, 0002.ad4, 0003.ad4 e assim por diante;
  • É recomendado usar um amplificador de sinal para poder escutar o áudio com mais clareza. No nosso exemplo, como a potência de saída do WTV020-SD é bem baixa, é preciso estar num ambiente silencioso para escutar o auto-falante tocar;
  • Por fim, um pequeno detalhe de hardware. O módulo possui 3 pontos de solda, localizados na parte superior e com duas marcações, uma escrito 5V e outra 3.3V. Álguns módulos já vem com esses pontos soldados, mas pode ser que você tem que soldá-los, ligando o ponto do meio ao ponto de 3.3V, como na figura abaixo:
wtv020

wtv020


Considerações Finais

Agora você está pronto para usar o WTV020-SD em seus projetos eletrônicos. Caso queira descobrir outras maneiras e exemplos de como utilizar o módulo que acabamos de estudar, outras boas referências são:

Se tiver alguma dúvida, deixe nos comentários e compartilhe suas ideias também!

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre o Autor


Vitor Vidal

Engenheiro eletricista, mestrando em eng. elétrica e apaixonado por eletrônica, literatura, tecnologia e ciência. Divide o tempo entre pesquisas na área de sistemas de controle, desenvolvimento de projetos eletrônicos e sua estante de livros.


Eletrogate

16 de outubro de 2017

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!