const int lowfreqPin = A2; const int midfreqPin = A0; const int highfreqPin = A1; const int signalValuePin = A3; const int RedPwmPin = 11; const int GrnPwmPin = 10; const int BluPwmPin = 9; int lowFeq = 0; int RedPWM = 0; int midFeq = 0; int GrnPWM = 0; int highFeq = 0; int BluPWM = 0; int signalValue = 0; void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); pinMode(7, OUTPUT); digitalWrite(7, LOW); pinMode(6, OUTPUT); digitalWrite(6, LOW); pinMode(5, OUTPUT); digitalWrite(5, LOW); pinMode(4, OUTPUT); digitalWrite(4, LOW); pinMode(3, OUTPUT); digitalWrite(3, LOW); } void loop() { // read the analog in value: lowFeq = analogRead(lowfreqPin); midFeq = analogRead(midfreqPin); highFeq = analogRead(highfreqPin); signalValue = analogRead(signalValuePin); Serial.print(lowFeq); Serial.print(" "); Serial.print(midFeq); Serial.print(" "); Serial.print(highFeq); Serial.print(" "); Serial.println(signalValue); lowFeq = constrain(lowFeq, 30, 200); midFeq = constrain(midFeq, 10, 150); highFeq = constrain(highFeq, 30, 200); RedPWM = map(lowFeq, 30, 200, 0, 255); GrnPWM = map(midFeq, 10, 150, 0, 255); BluPWM = map(highFeq, 30, 200, 0, 255); analogWrite(RedPwmPin, RedPWM); analogWrite(GrnPwmPin, GrnPWM); analogWrite(BluPwmPin, BluPWM); if (signalValue > 50) { digitalWrite(7, HIGH); delay(20); } else { digitalWrite(7, LOW); } if (signalValue > 100) { digitalWrite(6, HIGH); digitalWrite(7, HIGH); delay(20); } else { digitalWrite(6, LOW); digitalWrite(7, LOW); } if (signalValue > 200) { digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(5, HIGH); delay(20); } else { digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(5, LOW); } if (signalValue > 400) { digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(5, HIGH); digitalWrite(4, HIGH); delay(20); } else { digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(5, LOW); digitalWrite(4, LOW); } if (signalValue > 700) { digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(5, HIGH); digitalWrite(4, HIGH); digitalWrite(3, HIGH); delay(20); } else { digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(5, LOW); digitalWrite(4, LOW); digitalWrite(3, LOW); } // delay(50); }