1
\$\begingroup\$

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.

\$\endgroup\$
  • \$\begingroup\$ Check the ground connection at the module. There must a connection from ground to PIN 6 at the sd-card-slot. On many modules this is broken. \$\endgroup\$ – user71613 Apr 6 '15 at 2:28
3
\$\begingroup\$

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.
\$\endgroup\$
  • \$\begingroup\$ i found an 8ohm speaker and replaced the piezo. but still I cant get the output \$\endgroup\$ – NewInEverything Jan 15 '14 at 12:31
  • \$\begingroup\$ I assume you got the diagram here.. I'm sorry for asking but I am really new at electronics, but what is that black component with white circle on top below the transitor? \$\endgroup\$ – NewInEverything Jan 16 '14 at 9:59
  • \$\begingroup\$ @New: That's a 5V regulator (in a TO220 package). The "white circle" is a hole for bolting it to a heatsink. The "transistor" is in fact a 3.3V regulator (in a TO-92 package). It seems a silly arrangement to me. Don't use a 9V battery if you want a 3.3V supply! 3xAA would be simpler. \$\endgroup\$ – RedGrittyBrick Jan 16 '14 at 11:24
  • \$\begingroup\$ Or use 2xAA, a relevant datasheet says the module works from 2.7 to 3.5 V. Driving it from 9V PP3 via a 5V regulator then a 3.3V regulator is just foolish. \$\endgroup\$ – RedGrittyBrick Jan 16 '14 at 11:32
  • \$\begingroup\$ I used the power supply in my microcontroller (3.3v) and tried to get the module working by itself, but still without having any files in my micro SD except for the ad4 files which is named 0000.ad4 and so on i still got no audio output. \$\endgroup\$ – NewInEverything Jan 16 '14 at 11:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.