Read Values from a Speaker

arduinoledpins

I am using Arduino UNO and did a project to sync LED to audio. I am not sure how to read a value from a speaker.

I connected a LED to Pin 9 (PWN) with 220ohms and ground. I connected A0 pin to a speaker pin and ground pin the other pin on speaker. I used the Smoothing example of arduino input and modified the code a bit to output to LED. The speaker I used was with an old Phillips Music System and had only two pins. I played the music and led synced perfectly and everything worked fine. The project was a success.

Today I wanted to try to connect to a home theater (5.1 Sony HT-IV300 Model). This speakers also have same 2 pins. So I did everything same. A0 to Speaker pin 1 and Ground to Speaker pin 2. But suddenly the Music System went to power protect mode and A0 is stuck at ~1000 (975 – 977). I connected the arduino again with the Phillips Music System (Same setup) but A0 is always gives ~1000 value. Connecting to A1 and changing the code works perfectly fine!

Where did I go wrong? I cannot understand, what happened to A0 pin? What is the correct way to read the speaker values?

Thank You.
Abhi

Best Answer

How could it be destroyed? Voltage is merely 0.15 volts (according to multimeter)

If it were 0.15 volts and the speaker was an 8 ohm speaker, the power output to the speaker would be 0.15*0.15/8 = 0.028 watts. Does this seem likely or does it seem more likely that the multimeter isn't giving you the full picture?

If in fact you were driving 1 watt into the speaker, the RMS voltage would be 2.828 volts with a peak voltage of that is significantly higher maybe 4 to 10 volts for music type signals.

This level of voltage and the level of current that the amplifier output is capable of providing will certainly damage an ADC input on a chip. Next time use a 10k resistor in series and maybe also a coupling capacitor.