#include <LiquidCrystal_I2C.h>
// Initialize the library with the I2C address and the LCD dimensions
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.print(" ABOUT ME ? ");
delay(1000);
lcd.setCursor(0, 1);
lcd.print(" ");
delay(1900);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" I'm called ");
delay(900);
lcd.setCursor(0, 1);
lcd.print(" Mr.X ");
delay(3000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" I'm also know ");
delay(900);
lcd.setCursor(0, 1);
lcd.print(" BY ");
delay(1000);
lcd.clear();
delay(1100);
lcd.setCursor(0, 0);
lcd.print("> TOMODACHI <");
delay(2000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" THE Nameless ");
delay(900);
lcd.setCursor(0, 1);
lcd.print(" 'MONSTER' ");
delay(3000);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 0);
lcd.print(" MY INSTAGRAM: ");
scrollText("Call_Me_TOMODACHI", 400);
delay(1000);
}
void scrollText(String message, int delayTime) {
int len = message.length();
String spaces = " "; // 16 spaces for the LCD width
for (int i = 0; i < len + 16; i++) {
lcd.setCursor(0, 1);
if (i < 16) {
// Print leading spaces followed by the start of the message
lcd.print(spaces.substring(0, 16 - i) + message.substring(0, i));
} else if (i < len) {
// Print middle part of the message
lcd.print(message.substring(i - 16, i));
} else {
// Print trailing part of the message followed by spaces
lcd.print(message.substring(i - 16, len) + spaces.substring(0, i - len));
}
delay(900);
}
}