#include <LiquidCrystal_I2C.h>
int totalColumns = 16;
int totalRows = 2;
LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);
String scrolLeftToRight = "Selamat Datang";
String scrollRightToLeft = "Universitas Amikom Yogyakarta";
void scrollingRigthToLeftMessage(int row, String message, int delayTime, int totalColumns) {
for (int i=0; i < totalColumns; i++) {
message = " " + message;
}
message = message + " ";
for (int position = 0; position < message.length(); position++) {
lcd.setCursor(0, row);
lcd.print(message.substring(position, position + totalColumns));
delay(delayTime);
}
}
void scrollingLeftToRigthMessage(int row, String message, int delayTime, int totalColumns){
for (int i=0; i < totalColumns; i++) {
message = " " + message;
}
message = message + " ";
for (int position = message.length(); position >= 0; position-- ){
lcd.setCursor(0, row);
lcd.print(message.substring(position, position + totalColumns));
delay(delayTime);
}
}
void setup(){
lcd.init();
lcd.backlight();
}
void loop(){
lcd.setCursor(0,0);
scrollingLeftToRigthMessage(0, scrolLeftToRight, 150, totalColumns);
lcd.setCursor(1, 1);
scrollingRigthToLeftMessage(1, scrollRightToLeft, 150, totalColumns);
}