# main.py
from machine import I2C, Pin
from time import sleep
import i2c_lcd
# Sesuaikan SDA / SCL jika berbeda; di ESP32 umum: SDA=21, SCL=22
i2c = I2C(0, sda=Pin(21), scl=Pin(22), freq=400000)
# Tampilkan alamat I2C yang terdeteksi (debug)
found = i2c.scan()
print("I2C devices:", [hex(x) for x in found])
# gunakan alamat pertama yang ditemukan, kalau tidak ada gunakan 0x27
if found:
addr = found[0]
else:
addr = 0x27
print("Tidak menemukan I2C device, pakai alamat default 0x27 (cek wiring/address).")
lcd = i2c_lcd.I2cLcd(i2c, addr, 4, 16)
#Masukkan lyrics lagunya
lyrics = [
"Lagu: Happy Birthday",
"Happy Birthday to You...",
"Happy Birthday to You...",
"Happy Birthday Happy Birthday",
"Happy Birthday to You"
]
for i in range(len(lyrics)):
lcd.clear()
lcd.move_to(0, 0)
lcd.putstr(lyrics[i]) # baris pertama
if i + 1 < len(lyrics):
lcd.move_to(1, 0)
lcd.putstr(lyrics[i+1]) # baris kedua (jika ada)
sleep(delay)
# Loop utama
while True:
show_vertikal_scroll(lcd, lyrics, delay=2)