/********************************************************************
Here's an example code that uses an Arduino with 12 LEDs connected to it.
The code first makes all the LEDs chase to and fro, then blinks all the
LEDs two times. After that, it makes the odd-numbered LEDs chase to
and fro, then the even-numbered LEDs chase to and fro. Finally,
it blinks LEDs 3, 6, 9, and 12
two times.
author arvind patil28 march 2023 under MIT license
**************************************************************************/
#define NUM_LEDS 12
int ledPins[NUM_LEDS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
void setup() {
for (int i = 0; i < NUM_LEDS; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// All LEDs chase to and fro
for (int i = 0; i < NUM_LEDS; i++) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
for (int i = NUM_LEDS - 1; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
// Blink all LEDs two times
for (int j = 0; j < 2; j++) {
for (int i = 0; i < NUM_LEDS; i++) {
digitalWrite(ledPins[i], HIGH);
}
delay(1000);
for (int i = 0; i < NUM_LEDS; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(1000);
}
// Odd-numbered LEDs chase to and fro
for (int i = 0; i < NUM_LEDS; i += 2) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
for (int i = NUM_LEDS - 2; i >= 0; i -= 2) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
// Even-numbered LEDs chase to and fro
for (int i = 1; i < NUM_LEDS; i += 2) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
for (int i = NUM_LEDS - 1; i >= 1; i -= 2) {
digitalWrite(ledPins[i], HIGH);
delay(1000);
digitalWrite(ledPins[i], LOW);
}
// Blink LEDs 3, 6, 9, and 12 two times
for (int j = 0; j < 2; j++) {
digitalWrite(ledPins[2], HIGH);
digitalWrite(ledPins[5], HIGH);
digitalWrite(ledPins[8], HIGH);
digitalWrite(ledPins[11], HIGH);
delay(1000);
digitalWrite(ledPins[2], LOW);
digitalWrite(ledPins[5], LOW);
digitalWrite(ledPins[8], LOW);
digitalWrite(ledPins[11], LOW);
delay(1000);
}
}