#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4); // LCD 20x4
// Fungsi animasi teks
void animateText(const char* text, int row, int delayTime = 100) {
lcd.setCursor(0, row);
for (int i = 0; text[i] != '\0'; i++) {
lcd.print(text[i]);
delay(delayTime);
}
}
void setup() {
lcd.init();
lcd.backlight();
}
void loop() {
lcd.clear();
animateText("Jangan salahkan", 0, 130);
lcd.setCursor(0, 1);
animateText("faham ku kini", 1, 130);
delay(1500);
lcd.clear();
animateText("tertuju ohhh...", 0, 130);
delay(2000);
lcd.clear();
animateText("Siapa yang tau", 0, 110);
lcd.setCursor(0, 1);
animateText("Siapa yang mau", 1, 110);
delay(2000);
lcd.clear();
animateText("Kau di sana", 0, 100);
lcd.setCursor(0, 1);
animateText("Aku diseberangmu", 1, 110);
delay(2500);
lcd.clear();
animateText("Cerita kita", 0, 130);
lcd.setCursor(0, 1);
animateText("sulit dicerna", 1, 130);
delay(2500);
lcd.clear();
animateText("Tak lagi sama", 0, 100);
lcd.setCursor(0, 1);
animateText("Cara berdoa", 1, 100);
delay(2500);
lcd.clear();
animateText("Cerita kita", 0, 130);
lcd.setCursor(0, 1);
animateText("sulit diterka", 1, 130);
delay(2500);
lcd.clear();
animateText("Tak lagi sama", 0, 100);
lcd.setCursor(0, 1);
animateText("Arah kiblatnya", 1, 100);
delay(4000);
// Setelah selesai, ulang lagi otomatis
}