Hi,
Following this tutorial (
http://www.uduino.com/Tutorials/7) I hooked up an Uno with a MSGEQ7 display filter IC. Using his code:
int analogPin = 0; // read from multiplexer using analog input 0
int strobePin = 2; // strobe is attached to digital pin 2
int resetPin = 3; // reset is attached to digital pin 3
int spectrumValue[7]; // to hold a2d values
void setup()
{
Serial.begin(9600);
pinMode(analogPin, INPUT);
pinMode(strobePin, OUTPUT);
pinMode(resetPin, OUTPUT);
analogReference(DEFAULT);
digitalWrite(resetPin, LOW);
digitalWrite(strobePin, HIGH);
Serial.println("MSGEQ7 test by J Skoba");
}
void loop()
{
digitalWrite(resetPin, HIGH);
digitalWrite(resetPin, LOW);
for (int i = 0; i < 7; i++)
{
digitalWrite(strobePin, LOW);
delayMicroseconds(30); // to allow the output to settle
spectrumValue[i] = analogRead(analogPin);
// comment out/remove the serial stuff to go faster
// - its just here for show
if (spectrumValue[i] < 10)
{
Serial.print(" ");
Serial.print(spectrumValue[i]);
}
else if (spectrumValue[i] < 100 )
{
Serial.print(" ");
Serial.print(spectrumValue[i]);
}
else
{
Serial.print(" ");
Serial.print(spectrumValue[i]);
}
digitalWrite(strobePin, HIGH);
}
Serial.println();
}
See pics for breadboarding and setup. I'm using my iPhone for audio input, and I've verified that I am using the ground and the left channel.
All I get is a repeat of the same numbers:
803 803 798 803 803 803 802
803 803 802 803 802 803 803
803 803 800 803 803 802 803
799 803 802 803 802 804 802
804 803 802 801 803 804 803
803 803 802 803 804 797 804
802 803 803 803 803 799 803
804 801 802 802 803 801 803
803 800 803 801 803 803 803
803 802 802 802 803 803 803
804 803 804 803 803 801 804
804 803 803 804 801 803 803
When I remove the wires for audio input the readout does not change. What am I doing wrong here?
