#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C, alamat biasanya 0x27 (kalau tidak tampil coba ganti ke 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Lirik lagu "Tarot" sudah dipotong supaya muat di LCD 16x2
const char* lirik[][2] = {
{"dikehidupan", "kedua"},
{"semoga", "kau"},
{"tak terlalu", "keras kepala"},
{"atau mungkin", "ini bukan"},
{"yang pertama", "dan"},
{"kita diberi", "kesempatan"},
{"berubah", "kuyakin"},
{"nyawa kita", "bertautan"},
{"katam", "berbagai"},
{"cobaan", "selalu"},
{"menertawakan", "ramalan"},
{"bintang", "kartu"},
{"Tarot", "orang pintar"},
{"pemabaca", "nasib."},
};
// Durasi delay (dalam milidetik) untuk setiap baris lirik
// Isi nilai ini berdasarkan timing lagu yang sebenarnya
const int durasiLirik[] = {
2500, // Durasi untuk "dikehidupan kedua"
2000, // Durasi untuk "semoga kau"
3000, // Durasi untuk "tak terlalu keras kepala"
2500, // Durasi untuk "atau mungkin ini bukan"
2000, // Durasi untuk "yang pertama dan"
3000, // Durasi untuk "kita diberi kesempatan"
2500, // Durasi untuk "berubah kuyakin"
3000, // Durasi untuk "nyawa kita bertautan"
2000, // Durasi untuk "katam berbagai"
2500, // Durasi untuk "cobaan selalu"
3000, // Durasi untuk "menertawakan ramalan"
2500, // Durasi untuk "bintang kartu"
2000, // Durasi untuk "Tarot orang pintar"
3000, // Durasi untuk "pemabaca nasib."
};
int indeks = 0;
const int jumlahLirik = sizeof(lirik) / sizeof(lirik[0]);
void setup() {
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan lampu latar
lcd.setCursor(0, 0);
lcd.print("Tarot - Feast");
delay(2000);
}
void loop() {
lcd.clear();
// Tampilkan baris 1
lcd.setCursor(0, 0);
lcd.print(lirik[indeks][0]);
// Tampilkan baris 2
lcd.setCursor(0, 1);
lcd.print(lirik[indeks][1]);
// Gunakan delay yang sesuai dengan lirik saat ini
if (indeks < jumlahLirik) {
delay(durasiLirik[indeks]);
} else {
// Jika indeks tidak valid, gunakan delay default
delay(3000);
}
// Geser ke lirik berikutnya
indeks++;
// Jika sudah habis, ulang dari awal
if (indeks >= jumlahLirik) {
indeks = 0;
}
}