I've tried this code:
int analogPin=0; int strobePin=10; int resetPin=11; int led1=1; int led2=2; int led4=4; int led7=7; int led8=8; int led12=12; int led13=13; int spectrumValue[7]; int filter=80;
void setup(){
pinMode(analogPin, INPUT); pinMode(strobePin, OUTPUT); pinMode(resetPin, OUTPUT); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led4, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led12, OUTPUT); pinMode(led13, OUTPUT); digitalWrite(resetPin, LOW); digitalWrite(strobePin, HIGH); }
void loop(){
digitalWrite(resetPin, HIGH); digitalWrite(resetPin, LOW); for (int i=0;i<7;i++){ digitalWrite(strobePin, LOW); delay(30); spectrumValue[i]=analogRead(analogPin); spectrumValue[i]=constrain(spectrumValue[i], filter, 1023); spectrumValue[i]=map(spectrumValue[i], filter,1023,0,255);
digitalWrite(strobePin, HIGH);
}
analogWrite(led1,spectrumValue[0]); analogWrite(led2,spectrumValue[1]); analogWrite(led4,spectrumValue[2]); analogWrite(led7,spectrumValue[3]); analogWrite(led8,spectrumValue[4]); analogWrite(led12,spectrumValue[5]); analogWrite(led13,spectrumValue[6]);
}
and this code:
const int LEDpins[7] = {1,2,4,7,8,12,13};
void setup() {
for (int x=0; x<7; x++) { pinMode(LEDpins[x], OUTPUT); } pinMode(msg7RESET, OUTPUT); pinMode(msg7Strobe, OUTPUT);
}
void loop() {
digitalWrite(msg7RESET, HIGH);
delay(5);
digitalWrite(msg7RESET, LOW);
for (int x = 0; x < 7; x++){
digitalWrite(msg7Strobe, LOW);
delayMicroseconds(35);
int spectrumRead = analogRead(msg7DCout);
int PWMvalue = map(spectrumRead, 0, 1024, 0, 255);
if (PWMvalue < 50)
PWMvalue = PWMvalue / 2;
analogWrite(LEDpins[x], PWMvalue);
digitalWrite(msg7Strobe, HIGH);
}
}