#include <LiquidCrystal.h>
// Menginisialisasi objek LCD dengan konfigurasi pin
LiquidCrystal lcd(23, 22, 21, 19, 18, 5);
// Mendeklarasikan string teks untuk masing-masing baris
String text1 = " Lab Mikrokontroller ";
String text2 = " Praktikum Mikrokontroller 2 ";
int position1 = 0;
int position2 = 0;
void setup() {
lcd.begin(16, 2);
}
void loop() {
// Menampilkan teks berjalan pada baris pertama
lcd.setCursor(0, 0);
lcd.print(text1.substring(position1, position1 + 16));
// Menampilkan teks berjalan pada baris kedua
lcd.setCursor(0, 1);
lcd.print(text2.substring(position2, position2 + 16));
// Memperbarui posisi untuk efek teks berjalan
updatePosition(position1, text1.length());
updatePosition(position2, text2.length());
blinkDisplay(100, 500);
}
void updatePosition(int &position, int textLength) {
position++; // Inkremen posisi
if (position > textLength - 16) position = 0; // Reset posisi ketika mencapai akhir
}
void blinkDisplay(unsigned long offTime, unsigned long onTime) {
lcd.noDisplay();
delay(offTime);
lcd.display();
delay(onTime);
}