#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
scrollText("Hello world. Ini adalah contoh teks yang panjang untuk mendemonstrasikan scrolling.", 200); // 200 ms delay between scrolls
}
void loop() {
// Do nothing here...
}
void scrollText(String message, int delayTime) { // String message: Pesan yang akan ditampilkan dan digulirkan pada layar lcd. int delayTime: Waktu tunda dalam milidetik antara setiap langkah pengguliran.
int len = message.length(); // Mengembalikan panjang dari string message.
while (true) { // Infinite loop to keep scrolling (Setelah mencapai karakter terakhir, loop for akan kembali ke awal teks dan mulai menggulir lagi dari karakter pertama.)
for (int i = 0; i < len; i++) { // Loop ini berjalan dari i = 0 hingga i < len, yang berarti akan mengiterasi setiap karakter dalam pesan.
lcd.clear(); // Membersihkan layar lcd
lcd.setCursor(0, 0); // Mengatur kursor ke posisi awal (kolom 0, baris 0) pada layar LCD.
lcd.print(message.substring(i, min(i + 16, len))); // (memastikan hanya 16 karakter yang dicetak pada satu waktu, sesuai dengan lebar lcd.)
delay(delayTime); // Menuggu selama delayTime milidetik sebelum melanjutkan ke iterasi berikutnya
}
}
}