#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Inisialisasi LCD: alamat umum 0x27 atau 0x3F (ubah sesuai modulmu)
LiquidCrystal_I2C lcd(0x27, 16, 2);
String inputText = "";
void setup() {
Serial.begin(9600);
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan lampu latar
lcd.clear();
delay(3000);
Serial.println("Ketik teks dan tekan ENTER untuk tampil di LCD:");
lcd.setCursor(0, 0);
lcd.print("Ready...");
}
void loop() {
// Jika ada data masuk dari serial
if (Serial.available() > 0) {
char ch = Serial.read();
// Jika user menekan Enter (\n atau \r)
if (ch == '\n' || ch == '\r') {
tampilkanKeLCD(inputText);
inputText = ""; // Reset input setelah tampil
}
else {
inputText += ch; // Tambahkan karakter ke string
}
}
}
// Fungsi menampilkan teks ke LCD
void tampilkanKeLCD(String teks) {
lcd.clear();
if (teks.length() <= 16) {
lcd.setCursor(0, 0);
lcd.print(teks);
}
else {
// Jika lebih dari 16 karakter, bagi jadi 2 baris
lcd.setCursor(0, 0);
lcd.print(teks.substring(0, 16));
lcd.setCursor(0, 1);
lcd.print(teks.substring(16));
}
Serial.println("Teks tampil di LCD.");
}