|
Módulo Player - WTV020M01 e WTV020-SD
Descrição
Esse módulo é um dispositivo de reprodução de áudio. Possui um slot para inserção de cartão microSD de 32MB à 1GB onde são armazenados os arquivos de áudio. Os formatos suportados são WAV e AD4, com taxa de amostragem 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 pode ser utilizado de quatro maneiras: 1) Conectado ao arduino (Two Line Serial Mode application), onde utiliza-se 4 pinos para comunicação com o módulo e controle das funções de reproduzir música, pausar, volume, etc.; 2) Sem arduino, no MODO MP3, onde pode-se utilizar push-buttons para acionar os pinos do módulo e executar as mesmas funções de reprodução de música mencionadas acima; 3) Key Mode; 4) Loop Play After Power.
A ficha de dados pode ser acessada aqui (datasheet).
Caracteristicas
- Tensão: 2.6 à 3.6V
- Capacidade do cartão SD: 32MB à 1GB
- Sampling rate AD4: 6KHz to 32KHz, 36KHz
- Sampling rate WAV: 6KHz to 16KHz
- Saída de áudio: 16bit DAC e PWM
- Número máximo de arquivos: 512
- Dimensões: 21 x 20 x 4,5mm
Pinagem
Abaixo, indicativo da pinagem para conexão com o arduino. Neste tipo de ligação existem quatro portas de comunicação, chamadas de RESET, CLK, DI e BUSY. A biblioteca para programação pode ser baixada em: Wtv020sd16
PINO |
SISTEMA |
FUNÇÃO |
ARDUINO |
1 |
Reset |
Porta de comunicação Reset (resetPin) |
Pino 4 |
2 |
Audio-L |
Saida de áudio para amplificador |
|
3 |
NC |
NC |
|
4 |
Speak + |
Saida + para auto-falante |
|
5 |
Speak - |
Saida - para auto-falante |
|
6 |
NC |
NC |
|
7 |
P04/CLK |
Porta de comunicação CLK (clockPin) |
Pino 5 |
8 |
GND |
Terra (-) |
GND |
9 |
K5/A5/SBT |
PAUSE / PLAY |
|
10 |
P05/DI |
Porta de comunicação DI (dataPin) |
Pino 6 |
11 |
NC |
NC |
|
12 |
K2/A1 |
PREV |
|
13 |
K1/A0 |
NEXT |
|
14 |
NC |
NC |
|
15 |
P06/BUSY |
Porta de comunicação Busy (busyPin) |
Pino 7 |
16 |
VDD |
Corrente de alimentação (+) |
3.3V |
Projeto(s) relacionado(s)
Projeto player de música com teclado
O projeto utiliza os módulos Touch Sensor 12 Key, Player - WTV020M01, Amplificador de Áudio LM386 e um alto-falante para acionar músicas que estão armazenados em um Cartão Micro SD de até 2GB.
Os arquivos de áudio armazenados no cartão estão no formado AD4.
// Projeto: Modulo WTV020M01 (WTV020-SD) Executa música
// Autor: André Silveira
// Data: 15/05/2018
#include <Wire.h>
#include <Wtv020sd16p.h>
#include <Adafruit_MPR121.h>
int resetPin = 4; // Pino Reset (RESET)
int clockPin = 5; // Pino clock (P04/CLK)
int dataPin = 6; // Pino data (P05/DI)
int busyPin = 7; // Pino busy (P06/BUSY)
int tecla = 0; // Tecla apertada
int volume = 8; // Volume do aparelho
int musica = 0; // Musica tocada
Adafruit_MPR121 teclado = Adafruit_MPR121(); // Cria instância da Classe Adafruit_MPR121
Wtv020sd16p tocador(resetPin,clockPin,dataPin,busyPin); // Cria instância da Classe Wtv020sd16p
void setup() {
Serial.begin(9600);
tocador.reset(); // Initializa o módulo Wtv020sd16p
tocador.setVolume(volume); // Configura volume do módulo Wtv020sd16p
if (!teclado.begin(0x5A)) { // Localiza teclado do módulo Adafruit_MPR121
Serial.println("Sensor não Encontrado");
while (1);
}
Serial.println("Sensor encontrado");
}
void loop() {
tecla = teclado.touched(); // Verifica tecla apertada
switch (tecla) {
case 0: // MUSICA 0
musica=0;
TocaAudio(0);
break;
case 1: // VOLUME AUMENTA
volume=volume+1;
if (volume > 8) {
volume = 8;
}
tocador.setVolume(volume);
break;
case 2: // MUSICA 1
musica=1;
TocaAudio(1);
break;
case 3: // VOLUME DIMINUI
volume=volume-1;
if (volume < 0) {
volume = 0;
}
tocador.setVolume(volume);
break;
case 4: // MUSICA 2
musica=2;
TocaAudio(2);
break;
case 5: // VOLTAR
musica = musica -1;
if (musica < 0) {
musica = 0;
}
TocaAudio(musica);
break;
case 6: // MUSICA 3
musica=3;
TocaAudio(3);
break;
case 7: // PLAY
tocador.playVoice(musica);
break;
case 8: // MUSICA 4
musica=4;
TocaAudio(4);
break;
case 9: // STOP
tocador.stopVoice();
break;
case 10: // MUSICA 5
musica=5;
TocaAudio(5);
break;
case 11:
musica = musica +1;
if (musica > 5) {
musica = 5;
}
TocaAudio(musica);
break;
default:
break;
}
delay (5000);
}
void TocaAudio(int i) {
Serial.println("tocando: ");
Serial.print(i);
tocador.playVoice(2);
tocador.asyncPlayVoice(i);
}
|
|