//Date: 17.09.2025
//Name: Rajaram Parida
//Redg: 2241016203
//Section: 28
//Exp. No.: 5.2
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
int numLEDs = 8;
void setup() {
for (int i = 0; i < numLEDs; i++) {
pinMode(ledPins[i], OUTPUT);
}
randomSeed(analogRead(0));
}
void loop() {
bouncingBall();
zigZag();
randomBlink();
knightRider();
runningLights();
}
// Patterns
// 1. Bouncing Ball
void bouncingBall() {
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
}
for (int i = numLEDs - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW);
delay(150);
}
}
// 2. Zig-Zag
void zigZag() {
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], HIGH);
delay(100);
}
for (int i = numLEDs - 1; i >= 0; i--) {
digitalWrite(ledPins[i], LOW);
delay(100);
}
}
// 3. Random Blink
void randomBlink() {
for (int i = 0; i < numLEDs; i++) {
int state = random(0, 2); // 0 or 1
digitalWrite(ledPins[i], state);
}
delay(300);
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], LOW);
}
delay(300);
}
// 4. Knight Rider
void knightRider() {
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], HIGH);
delay(120);
digitalWrite(ledPins[i], LOW);
}
for (int i = numLEDs - 1; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH);
delay(120);
digitalWrite(ledPins[i], LOW);
}
}
// 5. Running Lights
void runningLights() {
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], HIGH);
delay(150);
digitalWrite(ledPins[i], LOW);
}
}