#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD I2C dengan alamat 0x27 dan ukuran 16x2
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int button1 = 18; // Pin untuk button 1
const int button2 = 19; // Pin untuk button 2
void setup() {
// Setup pin button
pinMode(button1, INPUT);
pinMode(button2, INPUT);
// Inisialisasi LCD
lcd.init();
lcd.backlight();
// Tampilan awal
lcd.setCursor(0, 0);
lcd.print("Selamat Datang");
delay(2000); // Tunggu 2 detik
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Pilih button");
}
void loop() {
if (digitalRead(button1) == HIGH) {
lcd.clear();
scrollTextLeft("Button 1", 0); // Baris pertama
}
if (digitalRead(button2) == HIGH) {
lcd.clear();
scrollTextRight("Button 2", 1); // Baris kedua
}
}
// Fungsi untuk menggulirkan teks dari kiri ke kanan
void scrollTextLeft(String text, int row) {
for (int i = 0; i < 16; i++) {
lcd.setCursor(i, row);
lcd.print(text);
delay(300);
lcd.clear();
}
}
// Fungsi untuk menggulirkan teks dari kanan ke kiri
void scrollTextRight(String text, int row) {
for (int i = 16; i >= 0; i--) {
lcd.setCursor(i, row);
lcd.print(text);
delay(300);
lcd.clear();
}
}