// ── Arduino Mega 2560 — Three-LED Chase Pattern ──────────────────────────────
// Uses pins 22, 23, 24 — the "Mega-only" digital header.
// Demonstrates that all 54 digital pins behave identically for basic GPIO.
// ─────────────────────────────────────────────────────────────────────────────
const int LEDS[] = {22, 23, 24};
const int NUM_LEDS = sizeof(LEDS) / sizeof(LEDS[0]);
const int STEP_MS = 200; // Time each LED stays lit
void setup() {
for (int i = 0; i < NUM_LEDS; i++) {
pinMode(LEDS[i], OUTPUT);
}
Serial.begin(9600);
Serial.print("Arduino Mega 2560 — using ");
Serial.print(NUM_LEDS);
Serial.println(" LEDs on pins 22-24");
}
void loop() {
// Forward chase: 22 → 23 → 24
for (int i = 0; i < NUM_LEDS; i++) {
digitalWrite(LEDS[i], HIGH);
delay(STEP_MS);
digitalWrite(LEDS[i], LOW);
}
// Reverse chase: 24 → 23 → 22
for (int i = NUM_LEDS - 1; i >= 0; i--) {
digitalWrite(LEDS[i], HIGH);
delay(STEP_MS);
digitalWrite(LEDS[i], LOW);
}
// All on briefly as a separator
for (int i = 0; i < NUM_LEDS; i++) digitalWrite(LEDS[i], HIGH);
delay(STEP_MS * 2);
for (int i = 0; i < NUM_LEDS; i++) digitalWrite(LEDS[i], LOW);
delay(STEP_MS);
}