Go Down

Topic: cheap sound module: what version is this? (Read 39197 times) previous topic - next topic

Sn4ke

Thanks for your answer.

I will use this module to build an alarm clock.  I hope the sound quality will be good enough for this use.

the-rebel-agent


Got it today. REALLY small. Soldered pin headers and tried to connect it. I could not, cause I did not have coupling capacitors as recommend in the Wtv020sd16p datasheet. Unfortunately, tomorrow I am flying to Orlando, so won't be able to test it until September. Keep you posted guys.

Back to work. Will be testing this amp tonight. Keep you posted guys./ Good to be back BTW/

the-rebel-agent

#152
Nov 06, 2012, 12:48 pm Last Edit: Nov 06, 2012, 05:41 pm by the-rebel-agent Reason: 1

Pretty decent. Played a few tracks from a PSB album I had converted and they were very cool and loud. I also bought an amp:



Still waiting to receive it. Keep you posted.

PS: Volume can be modified by software in this board.

Well, last night tried but could not get it to work. Bought the coupling capacitor, a better power source and nothing. Connected the #4 from the wtv audio module using a .47uf. No sound from the amp. Any ideas in how to test it?

PS: I just noticed that the board already have capacitors soldered. So, I do believe the board is defective.

the-rebel-agent

Did work. It was my fault. I forget to read the manual and connect to 5v the Shutdown pin. Works like a charm. Now, I will write a library to control the volume. Keep you posted guys.

the-rebel-agent

Sounds really loud!

http://www.youtube.com/watch?v=0rdIbUhGxCI

Lakes

Have`nt read all of this thread, sorry if this has been asked.

Do you get the the module with an SD card reader, the listing looks like they plug together.

In the video, is it playing without an amplifier?

Only supports 1GB SD cards, but should be plenty for sound effects.

the-rebel-agent

:) You should read all the thread, It is quite handy.
Audio module incorporates the uSD card reader.
In the video I was testing the PAM8803 amplifier.
As far as I know, only 1gb cards. Hope this helps.

Lakes

I`ve read through all of the thread this time. :D

Another version of the amplifer
http://www.ebay.co.uk/itm/2-2W-4O-PAM8803-Class-D-Audio-Amplifier-Board-Simple-/350604041652?pt=US_Home_Audio_Amplifiers_Preamps&hash=item51a1a11db4

I wonder if 64 steps volume control is fast enough to do some basic envelope shaping?


the-rebel-agent

Well, only same cause they are using PAM8803, but two boards are quite different. It is huge compared with the one I bought. If you connect volume up to active low, from the very beginning, the amp starts at its higher level.

the-rebel-agent

Hey guys, anyone using it at 5V? Cause I moved the soldered pin from 3.3 to 5 and could not get it to work. Quite erratically. I did not use any diode cause I believe they are soldered in the pcb board. Any idea?

the-rebel-agent

#160
Nov 18, 2012, 06:26 am Last Edit: Nov 18, 2012, 04:36 pm by the-rebel-agent Reason: 1
Here you have a sample from the PAM8803 library:

Pam8803.h:
Code: [Select]
/*
Pam8803.h - Library to control a PAM8803 amplifier module.
Created by Diego J. Arevalo, November 18, 2012.
Released into the public domain.
*/

#ifndef Pam8803_h
#define Pam8803_h

class Pam8803
{
public:
  Pam8803(int resetPin, int volumeUpPin, int volumeDownPin);
  void reset();
  int volumeUp();
  int volumeDown();
  int setVolumeInHalf();
private:
  int _gainSetting;
  int _resetPin;
  int _volumeUpPin;
  int _volumeDownPin;
  void setGainSetting(int volumePin);
};

#endif


Pam8803.cpp:
Code: [Select]
/*
Pam8803.cpp - Library to control a PAM8803 amplifier module.
Created by Diego J. Arevalo, November 18, 2012.
Released into the public domain.
*/

#include "Arduino.h"
#include "Pam8803.h"

const int MIN_GAIN_SETTING = 1;
const int POWER_ON_GAIN_SETTING = 13;
const int MAX_GAIN_SETTING = 64;

Pam8803::Pam8803(int resetPin, int volumeUpPin, int volumeDownPin){
  _gainSetting=POWER_ON_GAIN_SETTING;
  _resetPin=resetPin;
  _volumeUpPin=volumeUpPin;
  _volumeDownPin=volumeDownPin;
  pinMode(_resetPin, OUTPUT);
  pinMode(_volumeUpPin, OUTPUT);
  pinMode(_volumeDownPin, OUTPUT);
  digitalWrite(_resetPin, LOW);
  digitalWrite(_volumeUpPin, HIGH);
  digitalWrite(_volumeDownPin, HIGH);
}

void Pam8803::reset(){
  digitalWrite(_resetPin, LOW);
  digitalWrite(_resetPin, HIGH);
}

int Pam8803::volumeUp(){
  if (_gainSetting<MAX_GAIN_SETTING){
    setGainSetting(_volumeUpPin);
    _gainSetting++;
  }
  return _gainSetting;
}

int Pam8803::volumeDown(){
  if (_gainSetting>MIN_GAIN_SETTING){
    setGainSetting(_volumeDownPin);
    _gainSetting--;
  }
  return _gainSetting;
}

int Pam8803::setVolumeInHalf(){
  if (_gainSetting <= MAX_GAIN_SETTING/2) {
    while (_gainSetting <= MAX_GAIN_SETTING/2) {
      volumeUp();
    }
  }
  else{
    while (_gainSetting >= MAX_GAIN_SETTING/2) {
      volumeDown();
    }
  }
  return _gainSetting;
}

void Pam8803::setGainSetting(int volumePin){
  digitalWrite(volumePin, LOW);
  delay(30*3.5);
  digitalWrite(volumePin, HIGH);
};


and It is working. void setVolumeInHalf is quite useful. Actually using my 8,9 and 10 pin for the amp.

Final library posted here:
http://arduino.cc/forum/index.php/topic,133013.new.html#new

the-rebel-agent

You are right, your approach seems to be more simpler than mine. I will implement your solution solution ASAP and update my library. Thank you very much. That's why I love to share.

the-rebel-agent

Thanks for taking care of this for me. About delay(30*35), It is cause of the time needed for the pam8803 to process a level up or down active low state. 3.5 clock cycles. Each clock cycle is about 30ms. You can read about it here:

http://www.poweranalog.com/pdf/PAM8803.pdf

There is a way to speed up the volume up/down process. 9.5 times + 2 ms for each level. I am planning to go that way to. But for small increments, 105ms don't sound that bad.

I also would love to continue talking about this here:
http://arduino.cc/forum/index.php/topic,133013.0.html

Don't want to go off-topic here.

dmsherazi

I am feeding audio from a Sound module wtv020sd-mini which is PWM , to the mic Pins of My GSM Module Sim900, when I hear this sound on a a speaker although its not a high quality still its fair enough, but when I play the same voice and feed it to Sim900 mic and listen to it over a call its quality is very poor, there are alot of humming sounds and voice quality itself is also low.

I wanna use the module for voice response to callers , Is it all because of PWM output ? I used another module from ISD17150 and its voice quality is very nice even on the call.

the-rebel-agent

There is a post about the quality of this audio module from a few month ago. Only suitable for voices or fx, no so much for music given the sampling allowed by this ad4 format.

Go Up