// Define Pins #define BlueLED 3 #define GreenLED 5 #define RedLED 6 #define RedButton 8 #define GreenButton 9 #define BlueButton 10 #define MinusButton 11 #define PlusButton 12 #define WhiteButton 13 int RGBLEDValue[7]={0, 0, 0, 128, 0, 128, 128}; int RGBLEDMode=RedLED; void setup() { // put your setup code here, to run once: pinMode(RedLED, OUTPUT); pinMode(GreenLED, OUTPUT); pinMode(BlueLED, OUTPUT); pinMode(RedButton, INPUT_PULLUP); pinMode(GreenButton, INPUT_PULLUP); pinMode(BlueButton, INPUT_PULLUP); pinMode(MinusButton, INPUT_PULLUP); pinMode(PlusButton, INPUT_PULLUP); pinMode(WhiteButton, INPUT_PULLUP); analogWrite(RedLED, RGBLEDValue[RedLED]); analogWrite(GreenLED, RGBLEDValue[GreenLED]); analogWrite(BlueLED, RGBLEDValue[BlueLED]); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: #define delayTime 0 if (digitalRead(RedButton) == LOW) { RGBLEDMode = RedLED; Serial.println("RED selected: " + String(RGBLEDValue[RedLED])); } else if (digitalRead(GreenButton) == LOW) { RGBLEDMode = GreenLED; Serial.println("GREEN selected: " + String(RGBLEDValue[GreenLED])); } else if (digitalRead(BlueButton) == LOW) { RGBLEDMode = BlueLED; Serial.println("BLUE selected: " + String(RGBLEDValue[BlueLED])); } else if (digitalRead(MinusButton) == LOW) { Serial.println("Minus: " + String(RGBLEDValue[RGBLEDMode])); Serial.println("R: " + String(RGBLEDValue[RedLED]) + " G: " + String(RGBLEDValue[GreenLED]) + " B: " + String(RGBLEDValue[BlueLED])); RGBLEDValue[RGBLEDMode] -= 1; if (RGBLEDValue[RGBLEDMode] < 0) { RGBLEDValue[RGBLEDMode] = 0; } //delay(100); } else if (digitalRead(PlusButton) == LOW) { Serial.println("Plus: " + String(RGBLEDValue[RGBLEDMode])); Serial.println("R: " + String(RGBLEDValue[RedLED]) + " G: " + String(RGBLEDValue[GreenLED]) + " B: " + String(RGBLEDValue[BlueLED])); RGBLEDValue[RGBLEDMode] += 1; if (RGBLEDValue[RGBLEDMode] > 255) { RGBLEDValue[RGBLEDMode] = 255; } //delay(100); } else if (digitalRead(WhiteButton) == LOW) { Serial.println("RESET"); RGBLEDValue[RedLED] = 128; RGBLEDValue[GreenLED] = 128; RGBLEDValue[BlueLED] = 128; } analogWrite(RedLED, RGBLEDValue[RedLED]); analogWrite(GreenLED, RGBLEDValue[GreenLED]); analogWrite(BlueLED, RGBLEDValue[BlueLED]); }