![]() Being that it's capable of being bridged, the output of one of the channels is 180* out of phase with the other. This particular amplifier originally had a single analog moving needle meter for a pair of channels, with 2 meters total for 4 channels. Interestingly enough I had already settled on a circuit similar to that second one. ![]() ![]() It's just an effect that reacts to the music. Of course, it's useless as a "meter" because it doesn't really measure anything. I made a "giant VU meter" effect (the modern style with LEDs) and the software automatically adjusts to the 20-second moving average so I get lots of "meter action" and it goes up to (or near) the maximum with loud & quiet songs or when I change the volume. You can also adjust the sensitivity in software (as long as you're not clipping the ADC by over-driving it over 1023). Here is another solution that "kills" the negative voltage: You can subtract the bias to get the positive & negative readings. It biases the input so zero reads about 512. This is the "normal" Arduino audio input solution: Negative voltages can damage the Arduino the Arduino, but there are better solutions. The first 0.7V is lost so weak signals will read as zero and then it will suddenly kick-in. The diode doesn't conduct until there is about 0.7V across it. But you should be able to get an idea of the peaks and you should see a difference between loud & quiet sounds. The readings will "look random" because you're reading a waveform, and with the diode (and since the Arduino can't read negative voltages) about half the readings should be zero. Run the Analog Read Serial Example to check the raw readings. That should only be necessary if you are using a speaker signal. If you can't turn-down the pot enough you can add a voltage divider. Of course speaker levels are higher and a lot higher with a high-power amp. Line Level is about 1V, but that's at "full volume". Is it connected to the speakers or to line-level between the head unit & power amp? Both vary a LOT. Once you connect a low-impedance source it will be less sensitive to noise. That buzz is electro-magnetic radiation from power lines and in a car you should be shielded from that, but you still might get something. If you've ever touched and tip of an RCA cable you've probably heard a buzz, and it can be loud. To the point where simply touching A0 with my finger sends the needle full scale. Needs to be changed to correct for the difference in input voltage? Would I be correct in assuming line 144 in the example:įloat MeterValue = PeaktoPeak * 330 / 1024 I did some digging, and it seems the analog inputs will accept 0-5v but I assume the code would need to be changed in order to deal with it. So I think what I need is a higher level signal input to A0 to increase the signal>noise ratio. My understanding is the original VU meter project would have been looking at a line level signal on the order of 250mv max, and since I'm wanting to read the output of an amplifier I reasoned a resistive divider might work but noise is swamping out the signal. I'm at the point where the arduino boots correctly and displays my custom background image and the needle, but it seems to be far too sensitive to inputs at the A0 pin. Asking for some kind assistance with a project I have nearing completion, same as in the link below but with a car amplifier and SPI displays vice I2C.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |