#include <LiquidCrystal_I2C.h>
const int col = 16;
const int row = 2;
LiquidCrystal_I2C lcd(0x27, col, row);
// 👇 pixel untuk emoticon ❤
byte love[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
// 👇 set default text cursor
int position = 0;
int direction = 1;
// 👇 set text to lcd
const char* msg = " titii ";
// 👇 ukur panjang data text
int msgLen = strlen(msg);
void setup() {
lcd.init();
lcd.backlight();
// 👇 initialisasi emoticon sebelum di cetak ke lcd
lcd.createChar(0, love);
}
void loop() {
lcd.clear();
//👇 set posisi text dinamis
lcd.setCursor(position, direction);
position+=1;
// 👇 validasi naik turun text
direction ? direction = 0 : direction = 1;
// 👇 validasi offset text dari lcd
if(position < 0 || position >= col) {
position = 0;
}
// output: ❤ Anya ❤
lcd.write(0);
lcd.print(msg);
lcd.write(0);
delay(500);
}