#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// LCD I2C (16x2) -> alamat umum 0x27
LiquidCrystal_I2C lcd(0x27, 16, 2);
// OLED SSD1306 (128x64) -> alamat umum 0x3C
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Lirik lagu
String lyrics[] = {
"Tantee....",
"sudah terbiasa",
"terjadi",
"tante",
"Teman datang",
"ketika",
"lagi",
"butuh saja",
"coba",
"kalau",
"lagi susah",
"mereka semua",
"menghilanggg",
};
int numLyrics = sizeof(lyrics) / sizeof(lyrics[0]);
int currentLine = 0;
void setup() {
Wire.begin(); // Mulai komunikasi I2C
// Inisialisasi LCD
lcd.init();
lcd.backlight();
// Inisialisasi OLED
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
// Jika gagal, kedipkan LED built-in
while (true) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
delay(200);
}
}
oled.clearDisplay();
oled.setTextSize(1);
oled.setTextColor(SSD1306_WHITE);
oled.display();
}
void loop() {
// Tampilkan lirik di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(lyrics[currentLine]);
// Tampilkan lirik di OLED
oled.clearDisplay();
oled.setCursor(0, 0);
oled.println(lyrics[currentLine]);
oled.display();
delay(1000);
currentLine++;
if (currentLine >= numLyrics) {
currentLine = 0;
}
}