/*
Wokwi | questions
help meee
hariyadi — 5:42 AM 9/10/26
Project Link: https://wokwi.com/projects/474767547808252929?gh=1
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int LED_PIN = 7;
const int BTN_PIN = 12;
// Ganti teks di bawah ini dengan teks yang ingin Anda tampilkan,
// lalu tambahkan durasi tampilan di bagian akhir.
const char* TEXT[][3] = {
"Kita Lewati", "Berdua", "2000",
"Namun", "Percayalah ", "2000",
"Kita Kan", "Lewati Berdua", "3000",
"Dikala Hujan", "Turun Deras", "4000",
"Pekatnya Badai", "Mungkin Terasa", "4000"
};
int count = 0;
int numberOfText = sizeof(TEXT) / sizeof(TEXT[0]);
unsigned long prevTime = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void tampil(char* baris1, char* baris2) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(baris1);
lcd.setCursor(0, 1);
lcd.print(baris2);
}
void setup() {
Serial.begin(115200);
lcd.init();
lcd.backlight();
pinMode(LED_PIN, OUTPUT);
pinMode(BTN_PIN, INPUT_PULLUP);
// initialize
tampil(TEXT[count][0], TEXT[count][1]);
prevTime = millis();
}
void loop() {
if (millis() - prevTime >= atoi(TEXT[count][2])) {
Serial.print("Index: ");
Serial.print(count);
Serial.print('\t');
Serial.println(millis() - prevTime);
count++;
if (count >= numberOfText) count = 0;
tampil(TEXT[count][0], TEXT[count][1]);
prevTime = millis();
}
if (digitalRead(BTN_PIN) == LOW) {
digitalWrite(LED_PIN, HIGH); // led on
} else {
digitalWrite(LED_PIN, LOW); // led off
}
}