I would like to use the audio level from a HT8950A as input into some leds, to serve as a VU meter... The LED part I'm good with.. but I have the Velleman MK171 kit and now the question is..
How do I get a good analogue reading into my arduino from this kit?
I just want to know the level of the audio, but when I probe around with my voltmeter, I can't seem to find a simple location to tap this from... Reading the HT8950A datasheet shows there is a LED to use.. but there is a constant 3V on that LED, it seems only the mA's increase and decrease to light it up..
Any ideas on how I should proceed? Is this possible without create a lot of circuitry? Is it simpler to create something from a piezo element to detect the sound level? or should I only use the electret microphone and create a new circuit?
Its so frustrating to see 1 LED do exactly what I want.. but then wanting a nice line of LED's to do it instead!
Any tips and hints welcome! Thanks!
I'm going to guess that variable-brightness output is PWM. ...If you try to vary the brightness of an LED with a 0-5VDC voltage, the LED won't even come-on 'till you get about 2V.
A low-pass [u]RC Filter[/u] can convert PWM to varying DC. I'd say start with a RC time constant of around 1/10th of a second (i.e. 10K Ohms & 10 uF).
There are other ways to do this without using that special-purpose chip... You can bias the Arduino's ADC input to 2.5V with a pair of equal-value resistors and a capacitor or you can use a [u]Peak Detector[/u], which outputs a varying DC voltage that follows the AC audio peaks. (I've always used a peak detector for audio-triggered lighting effects.)
Thanks for the input!
Now I know for the next time.. While I was cleaning up the mess I made, I found an unused sparkfun spectrum shield.. so now I used the MSGEQ7 and just fed it the speaker output.. It's a bit of a big and stupid hack, but it wasn't required to be pretty anyway..
Thanks anyway! I will definitely look at peak detectors for future projects