#include <LiquidCrystal_I2C.h>
#define NUM_LEDS 5
const int leds[NUM_LEDS] = {2,3,4,5,6};
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
for(int i=0;i<NUM_LEDS;i++) pinMode(leds[i],OUTPUT);
}
void loop() {
// Running lights effect
lcd.setCursor(0,0);
lcd.print("Running Lights ");
for(int i=0;i<NUM_LEDS;i++){
digitalWrite(leds[i], HIGH);
delay(500);
digitalWrite(leds[i], LOW);
}
// Blinking all LEDs
lcd.setCursor(0,0);
lcd.print("Blink Effect ");
for(int j=0;j<3;j++){ // blink 3 times
for(int i=0;i<NUM_LEDS;i++) digitalWrite(leds[i], HIGH);
delay(500);
for(int i=0;i<NUM_LEDS;i++) digitalWrite(leds[i], LOW);
delay(500);
}
// Alternate LEDs
lcd.setCursor(0,0);
lcd.print("Alternate Blink ");
for(int k=0;k<3;k++){
for(int i=0;i<NUM_LEDS;i++){
digitalWrite(leds[i], i%2 == 0 ? HIGH : LOW);
}
delay(500);
for(int i=0;i<NUM_LEDS;i++){
digitalWrite(leds[i], i%2 == 0 ? LOW : HIGH);
}
delay(500);
}
}