#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C (alamat default 0x27, ukuran 16x2)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Aktifkan lampu latar
lcd.clear(); // Bersihkan layar
// Animasi zig-zag
for (int step = 0; step < 16; step++) { // Gerak zig-zag sebanyak 16 langkah
lcd.clear();
if (step % 2 == 0) {
// Baris pertama: Kolom ganjil
lcd.setCursor(step, 0);
lcd.print("1");
} else {
// Baris kedua: Kolom genap
lcd.setCursor(step, 1);
lcd.print("1");
}
delay(200); // Delay untuk animasi
}
// Pola akhir: Semua kolom diisi angka "1"
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("1111111111111111"); // Baris pertama penuh
lcd.setCursor(0, 1);
lcd.print("1111111111111111"); // Baris kedua penuh
delay(500); // Tahan pola penuh selama 500 ms
// Efek blink (3 kali)
for (int i = 0; i < 3; i++) {
lcd.clear(); // Matikan semua tampilan
delay(200); // Tunggu 200 ms
lcd.setCursor(0, 0);
lcd.print("1111111111111111"); // Baris pertama penuh
lcd.setCursor(0, 1);
lcd.print("1111111111111111"); // Baris kedua penuh
delay(200); // Tampilkan kembali pola penuh
}
lcd.clear(); // Bersihkan layar setelah animasi selesai
}
void loop() {
// Tidak ada proses di loop, semua dilakukan di setup()
}