#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Alamat I2C LCD
#define I2C_ADDR 0x27
// Ukuran LCD
#define LCD_COLUMNS 20
#define LCD_ROWS 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_ROWS);
void setup() {
// Inisialisasi LCD
lcd.init();
lcd.backlight();
}
void loop() {
// Pesan yang akan ditampilkan
String message = "surabaya hebat martabat.";
// Bagi pesan menjadi empat bagian
String part1 = message.substring(0, 21); // 1 kolom
String part2 = message.substring(5, 21); // 2 kolom
String part3 = message.substring(13, 21); // 3 kolom
String part4 = message.substring(21); // 4 kolom
// Loop untuk menggeser setiap bagian ke kiri secara bergantian pada setiap kolom
for (int i = 0; i < message.length() + 1; i++) {
// Bersihkan layar
lcd.clear();
// Tampilkan setiap bagian pada kolom yang sesuai
lcd.setCursor(0, 0);
lcd.print(part1.substring(i % part1.length()));
lcd.setCursor(0, 1);
lcd.print(part2.substring(i % part2.length()));
lcd.setCursor(0, 2);
lcd.print(part3.substring(i % part3.length()));
lcd.setCursor(0, 3);
lcd.print(part4.substring(i % part4.length()));
// Delay untuk efek running text
delay(200);
}
}
Loading
esp32-devkit-v1
esp32-devkit-v1