#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define t 300
#define t2 600
LiquidCrystal_I2C lcd(0x27, 20, 4); // Set the LCD I2C address and the display dimensions
int leds[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int total_leds = 12;
void setup() {
Serial.begin(115200);
lcd.begin(20, 4); // Initialize the LCD
lcd.backlight(); // Turn on the backlight
lcd.setCursor(0, 0);
lcd.print("Effects on LCD");
lcd.setCursor(0, 1);
lcd.print("code by himani");
lcd.setCursor(0, 2);
lcd.print("HAVE A NICE DAY");
delay(2000);
lcd.clear();
for (int i = 0; i < total_leds; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Effect 1");
for (int i = 0; i < 3; i++) effect_1();
lcd.setCursor(0, 0);
lcd.print("Effect 2");
for (int i = 0; i < 3; i++) effect_2();
lcd.setCursor(0, 0);
lcd.print("Effect 3");
for (int i = 0; i < 20; i++) effect_3();
lcd.setCursor(0, 0);
lcd.print("Effect 4");
for (int i = 0; i < 3; i++) effect_4();
lcd.setCursor(0, 0);
lcd.print("Effect 5");
for (int i = 0; i < 3; i++) effect_5();
lcd.setCursor(0, 0);
lcd.print("Effect 6");
for (int i = 0; i < 3; i++) effect_6();
lcd.setCursor(0, 0);
lcd.print("Effect 7");
for (int i = 0; i < 3; i++) effect_7();
lcd.setCursor(0, 0);
lcd.print("Effect 8");
for (int i = 0; i < 3; i++) effect_8();
lcd.setCursor(0, 0);
lcd.print("Effect 9");
for (int i = 0; i < 10; i++) effect_9();
lcd.setCursor(0, 0);
lcd.print("Effect 10");
for (int i = 0; i < 10; i++) effect_10();
lcd.setCursor(0, 0);
lcd.print("Effect 11");
for (int i = 0; i < 5; i++) effect_11();
lcd.setCursor(0, 0);
lcd.print("Effect 12");
for (int i = 0; i < 5; i++) effect_12();
ledsOff();
lcd.clear();
delay(2000);
}
void ledsOn() {
for (int i = 0; i < total_leds; i++) {
digitalWrite(leds[i], HIGH);
}
}
void ledsOff() {
for (int i = 0; i < total_leds; i++) {
digitalWrite(leds[i], LOW);
}
}
void effect_1() {
int i = 0;
for (i = 0; i < total_leds; i++) {
digitalWrite(leds[i], HIGH);
delay(t);
}
for (i = 0; i < total_leds; i++) {
digitalWrite(leds[i], LOW);
delay(t);
}
for (i = total_leds - 1; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
delay(t);
}
for (i = total_leds - 1; i >= 0; i--) {
digitalWrite(leds[i], LOW);
delay(t);
}
}
void effect_2() {
int i = 0;
for (i = 0; i < total_leds - 1; i++) {
digitalWrite(leds[i], HIGH);
delay(t);
}
for (i = total_leds - 1; i >= 0; i--) {
digitalWrite(leds[i], LOW);
delay(t);
}
for (i = total_leds - 1; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
delay(t);
}
for (i = 0; i <= total_leds; i++) {
digitalWrite(leds[i], LOW);
delay(t);
}
}
void effect_3() {
for (int i = 0; i < total_leds; i = i + 2) {
digitalWrite(leds[i], HIGH);
digitalWrite(leds[i + 1], LOW);
}
delay(t2);
for (int i = 0; i < total_leds; i = i + 2) {
digitalWrite(leds[i], LOW);
digitalWrite(leds[i + 1], HIGH);
}
delay(t2);
}
void effect_4() {
for (int i = 0; i <= total_leds; i++) {
digitalWrite(leds[i], HIGH);
delay(t2);
i += 1;
}
for (int i = total_leds - 2; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
delay(t2);
i -= 1;
}
}
void effect_5() {
int i = 0;
for (i = 0; i <= total_leds / 2; i++) {
digitalWrite(i, HIGH);
digitalWrite(leds[total_leds - i], HIGH);
delay(t2);
}
for (i = 0; i <= total_leds / 2; i++) {
digitalWrite(i, LOW);
digitalWrite(leds[total_leds - i], LOW);
delay(t2);
}
delay(t2);
for (i = 0; i <= total_leds / 2; i++) {
digitalWrite(i, HIGH);
digitalWrite(leds[total_leds - i], HIGH);
delay(t2);
}
for (i = total_leds / 2; i >= 0; i--) {
digitalWrite(leds[i], LOW);
digitalWrite(leds[total_leds - i], LOW);
delay(t2);
}
}
void effect_6() {
for (int i = 0; i < total_leds; i++) {
digitalWrite(leds[i], HIGH);
delay(t2);
digitalWrite(leds[i], LOW);
}
}
void effect_7() {
for (int i = total_leds; i > 0; i--) {
digitalWrite(leds[i-1], HIGH);
delay(t2);
digitalWrite(leds[i-1], LOW);
}
}
void effect_8() {
for (int i = 0; i <= total_leds; i++) {
digitalWrite(leds[i], HIGH);
delay(t2);
}
for (int i = total_leds - 2; i >= 0; i--) {
digitalWrite(leds[i], LOW);
delay(t2);
}
}
void effect_9() {
for (int i = 0; i < total_leds / 2; i++) {
digitalWrite(leds[i], HIGH);
digitalWrite(leds[total_leds - 1 - i], HIGH);
delay(t2);
digitalWrite(leds[i], LOW);
digitalWrite(leds[total_leds - 1 - i], LOW);
}
}
void effect_10() {
for (int i = total_leds / 2 - 1; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
digitalWrite(leds[total_leds - 1 - i], HIGH);
delay(t2);
digitalWrite(leds[i], LOW);
digitalWrite(leds[total_leds - 1 - i], LOW);
}
}
void effect_11() {
for (int i = 0; i < total_leds + 2; i++) {
if (i < total_leds) {
digitalWrite(leds[i], HIGH);
}
if (i > 1) {
digitalWrite(leds[i - 2], LOW);
}
delay(t2);
}
}
void effect_12() {
for (int i = 2; i < total_leds; i++) {
if (i == 2) {
digitalWrite(leds[0], HIGH);
digitalWrite(leds[1], HIGH);
}
digitalWrite(leds[i], HIGH);
digitalWrite(leds[i - 2], LOW);
delay(t2);
}
for (int i = total_leds - 2; i >= 0; i--) {
digitalWrite(leds[i], HIGH);
digitalWrite(leds[i + 2], LOW);
delay(t2);
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
led9:A
led9:C
led10:A
led10:C
led11:A
led11:C
led12:A
led12:C
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL