Go Down

Topic: Pwm pitch + volume control? (Read 1 time) previous topic - next topic

gorbulus

Jun 03, 2011, 09:50 pm Last Edit: Jun 03, 2011, 09:57 pm by gorbulus Reason: 1
Hi everyone. I'm looking for a way to control volume of a pwm output while a melody is being played. I'd like to use a photoresistor hooked up to an analog input to control the volume. The example toneMelody is similar to what my code looks like except it's in void loop. I know a photoresistor between the speaker and ground would be one way of doing it, but I want full control from no volume to full volume. Another output to a transistor that controls the pwm might work too, but I'd like to do it without many components. Any help would be greatly appreciated.

CrossRoads

Photo resistors usually have a wide range of resistance, if it got up in resistance much at all you wouldn't get much volume being in series with a 4-8-16 ohm speaker.
What would better is to have the photoresistor in series with an output feeding a self-amplified computer moniter speaker - got one of those around? The lower its resistance the higher the volume.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

gorbulus

#2
Jun 03, 2011, 10:58 pm Last Edit: Jun 04, 2011, 09:57 pm by gorbulus Reason: 1
CrossRoads, thanks, but thats not really what im looking for. Space is limited so I would like to do it mostly in code. I'm leaning towards the using a transistor in series with the pwm output to the speaker, and then mapping a separate photoresistor input that outputs to the base of the transistor... though im not really sure how to work that out since I'm new to electronics and cant bias a transistor yet. I also saw this http://arduino.cc/forum/index.php/topic,36857.0.html, but it confuses me a bit and i'm not sure how i would use it. What I really want is to use all code: no transistor, no amplifier. Using light sensitivity to control the volume is also vital and it probably needs to be calibrated so i can get full control. Is that possible?

DeFex

http://www.adrianfreed.com/content/arduino-sketch-high-frequency-precision-sine-wave-tone-sound-synthesis

he has volume on there, and accurate pitch. you can also put in a lot of different waveforms besides his sine, by making more tables besides the sintable
I based a long running project on it. just keep in mind when you reduce the volume in code you reduce the amount of bits resolution of the output.

also there is a change possible in the setup code for the pwm on pins 9 and 10 you change it to a 16 bit timer (but it only outputs 10 bit PWM) which is much better if you are changing the volume.

(i haven't adapted that to his code because i use a DAC, but i will look in to it soon)

Go Up