const int redPin = 9, greenPin = 10, bluePin = 11;
const int buttonPin = 2;
int buttonState = 0, lastButtonState = 0;
int currentColor = -1;
void setup() {
for (int pin = redPin; pin <= bluePin; pin++)
pinMode(pin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState != lastButtonState) {
delay(50);
if (buttonState == HIGH) {
currentColor = (currentColor + 1) % 4;
changeColor(currentColor);
}
}
lastButtonState = buttonState;
}
void changeColor(int color) {
if (color == 0) {
turnOnRed();
} else if (color == 1) {
turnOnGreen();
} else if (color == 2) {
turnOnBlue();
} else if (color == 3) {
turnOffRGB();
}
}
void turnOnRed() {
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}
void turnOnGreen() {
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
}
void turnOnBlue() {
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
}
void turnOffRGB() {
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
}