const int ledPins[] = {10, 11, 12, 13}; // LED pins
const int buttonPin = 7; // Button pin
int patternIndex = 0; // Current pattern index
void setup() {
// Initialize LED pins as outputs
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Initialize button pin as input
pinMode(buttonPin, INPUT);
}
void loop() {
// Read button state
int buttonState = digitalRead(buttonPin);
// If button is pressed, change pattern
if (buttonState == HIGH) {
patternIndex = (patternIndex + 1) % 4; // Increment pattern index, wrap around to
delay(1000); // Debounce
}
// Set LED states according to current pattern
switch (patternIndex){
case 0:
// Pattern 1
digitalWrite(ledPins[0], HIGH);
digitalWrite(ledPins[1], HIGH);
digitalWrite(ledPins[2], HIGH);
digitalWrite(ledPins[3], HIGH);
delay(100);
digitalWrite(ledPins[0], LOW);
digitalWrite(ledPins[1], LOW);
digitalWrite(ledPins[2], LOW);
digitalWrite(ledPins[3], LOW);
break;
case 1:
// Pattern 2
digitalWrite(ledPins[0], HIGH);
digitalWrite(ledPins[0], LOW);
digitalWrite(ledPins[1], HIGH);
digitalWrite(ledPins[1], LOW);
digitalWrite(ledPins[2], HIGH);
digitalWrite(ledPins[2], LOW);
digitalWrite(ledPins[3], HIGH);
digitalWrite(ledPins[3], LOW);
break;
case 2:
// Pattern 3
digitalWrite(ledPins[0], HIGH);
digitalWrite(ledPins[1], LOW);
digitalWrite(ledPins[2], HIGH);
digitalWrite(ledPins[3], LOW);
delay(100);
digitalWrite(ledPins[0], LOW);
digitalWrite(ledPins[1], HIGH);
digitalWrite(ledPins[2], LOW);
digitalWrite(ledPins[3], HIGH);
break;
case 3:
// Pattern 4
digitalWrite(ledPins[0], LOW);
digitalWrite(ledPins[1], LOW);
digitalWrite(ledPins[2], HIGH);
digitalWrite(ledPins[3], HIGH);
break;
}
delay(500); // Delay for LED glow
}