Sorry about thedelay in my response -- I just saw this -- there is some noise on the signals -- so the best thing is to apply a simple filter -- so when you read the output from the MSGEQ7 chip into the Arduino's analog input -- if it's less than say 50, then set it to 0.
@Max....well you have proved that the above works and you have exceeded the minimum strobe to strobe time. Have you factored youre ADC conversion time into this? (Is it fixed or variable?) Without knowing the specs for the minimum strobe high time you may be wasting time that might be precious later when your design gets more advanced. I may be being pedantic here but I'm sure you could find any number of readers here who've come unstuck by NOT being pedantic about timings... :-)
@David: But the minimum strobe high time is not given...
I'm simply making the strobe go low -- waiting 40us (a bit more than the specified minimum of 36us), reading the data, making the strobe go high, and waiting another 40us, giving a strobe-to-strobe period of 80+us (which is bigger than the specified minimum of 72us)...
@Max...well I certainly stirred up a hornet's nest there, didn't I? :-)
That makes a lot more sense. You can't read the data while the strobe is high but you can extend the strobe low as long as you want or need, as long as you wait the 36us for the data to settle... But the minimum strobe high time is not given, maybe that is the 18 us? It would be important to know that if you were using a fast MCU and giving a strobe high pulse at the end of your ADC conversion. Could MSI confirm that?
@David: I notice the minimum strobe pulse width is less (18us) than the settling time (36us) - which implies you can read the data even if the strobe has gone back high? (ie you could actually read data during the purple times in your diagram?)
Hi David -- based on your question -- and on the fact that it wasn't possible to say one way or the other from the existing datasheet -- I contacted the folks who make the MSGEQ7. They gave me a lot of information, which I've reflected back into the main column above. But the bottom line is that the waveform diagram shoudl actually look like the following:
@Antedeluvian - as well as this, I have very rarely seen an extra band on a resistor to indicate temperature coefficient, and in the old days they used to put a pink band on to indicate high stability. Fortunately I don't move in such esoteric circles and for what I need E12 values are usually fine....
NASA's Orion Flight Software Production Systems Manager Darrel G. Raines joins Planet Analog Editor Steve Taranovich and Embedded.com Editor Max Maxfield to talk about embedded flight software used in Orion Spacecraft, part of NASA's Mars mission. Live radio show and live chat. Get your questions ready.
Brought to you by