Electronic – arduino – Playing sounds using WTV020SD mini

arduinomicrocontrollersoundspeakers

I'm a beginner when it comes to electronics. So I want to play sounds using my controller and I am using a WT020-SD-16P

enter image description here

I connected the module to my microcrontroller like in the picture. and added a switch on pin 9, 12, 13 of the module for its play/pause, next, and previous. Refering to the forum, they it is not true that it has a 1gb memory card limitation so I used 2GB genuine SandDisk. Acorrding to the manual([WT020-SD-16P](http://e-gizmo.blogspot.com/2013/03/wtv-020s-voicewav-player-module-quick.html
)it only play AD4 sounds file, but to be sure I included both the wav and AD4 file. After setting up i tested the sample program in the forum:

#include <Wtv020sd16p.h>

int resetPin = 2;  // The pin number of the reset pin.
int clockPin = 3;  // The pin number of the clock pin.
int dataPin = 4;  // The pin number of the data pin.
int busyPin = 5;  // The pin number of the busy pin.

/*
Create an instance of the Wtv020sd16p class.
1st parameter: Reset pin number.
2nd parameter: Clock pin number.
3rd parameter: Data pin number.
4th parameter: Busy pin number.
*/
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);

void setup() {
//Initializes the module.
wtv020sd16p.reset();
}

void loop() {
  //Plays synchronously an audio file. Busy pin is used for this method.
  wtv020sd16p.playVoice(0);
  //Plays asynchronously an audio file.
  wtv020sd16p.asyncPlayVoice(1);
  //Plays audio file number 1 during 2 seconds.
  delay(5000);
  //Pauses audio file number 1 during 2 seconds.  
  wtv020sd16p.pauseVoice();
  delay(5000);
  //Resumes audio file number 1 during 2 seconds.
  wtv020sd16p.pauseVoice();
  delay(5000);  
  //Stops current audio file playing.
  wtv020sd16p.stopVoice();
  //Plays synchronously an audio file. Busy pin is used for this method.  
  wtv020sd16p.asyncPlayVoice(2);
  delay(2000);   
  //Mutes audio file number 2 during 2 seconds.
  wtv020sd16p.mute();
  delay(2000);
  //Unmutes audio file number 2 during 2 seconds.
  wtv020sd16p.unmute();
  delay(2000);    
  //Stops current audio file playing.
  wtv020sd16p.stopVoice();
}

but when I uploaded it without errors, I tried to pressed the play/pause switch connected to the pin 9 of the module. When I tried to pressed the switches there is no audio output. Im using a 8ohm speaker. Did i do something wrong? But I followed all the instructions in the forums. pls help me.

Best Answer

Im using a piezo speaker. Did i do something wrong?

The diagram shows an 8 ohm speaker. Piezo speakers are capacitive and have a higher impedance.


It may be best to get the module working by itself first

enter image description here

As your link says

  • The SD card must be FAT32 formatted.
  • The audio files must be encoded in 4-bit ADPCM.
  • The audio files must have a '.ad4' filename extension.
  • the filenames must be 0000.ad4 through 0511.ad4.
  • the files must be in the root directory of the SD card not inside folders.
  • you should probably have nothing else stored on the SD card.