#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
String pesan;
String arrpesan[10];
int indeks=0;
int nokasur[10];
byte kasur;
int nokamar[10];
byte kamar;
char norfid[10];
char rfid;
char nowarna[10];
char warna;
String arrpesanlama[10];
int urutanlcd;
int antri;
// pesan format : kasur,kamar,rfid,warna
bool barisatas=false, barisbawah=false;
unsigned long told, wkt_tampil, wkt_selesai;
void ngantri(String teks, int idx){
String misal;
int akhirkasur=teks.indexOf(',');
misal=teks.substring(0,akhirkasur);
nokasur[idx]=misal.toInt(); misal="";
int akhirkamar=teks.indexOf(',',akhirkasur+1);
misal=teks.substring(akhirkasur+1,akhirkamar);
nokamar[idx]=misal.toInt(); misal="";
int akhirrfid=teks.indexOf(',',nokamar+1);
norfid[idx]=teks[akhirkamar+1];
int akhirwarna=teks.length();
nowarna[idx]=teks[akhirwarna-1];
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("mulai");
lcd.init();
lcd.backlight();
lcd.clear();
for(int i=0;i<10;i++){
pesan[i]="";
}
}
int id;
void loop() {
if(millis()-told>3000){
told=millis();
id++;
if(id>9)id=0;
lcd.setCursor(10,1);
lcd.print(" id-"+String(id));
arrpesan[id-1]="";
if(arrpesan[id]!=""){
ngantri(arrpesan[id],id);
lcd.setCursor(0,0);
lcd.print("kmr-"+String(nokamar[id])+" ksr-"+String(nokasur[id]));
lcd.setCursor(0,1);
lcd.print("prwt-"+String(norfid[id])+" code-"+String(nowarna[id]));
}
}
if(Serial.available()){
pesan="";
if(Serial.available()>0){
pesan=Serial.readStringUntil('\n');
}
indeks++;
if(indeks>=10) indeks=0;
arrpesan[indeks]=pesan;
Serial.println(pesan);
}
// if(arrpesan[urutanlcd]!=""){
// if(arrpesan[urutanlcd]!=arrpesanlama[urutanlcd]){
// }
// }
}
void hapusbaris(String baris){
int rows;
if(baris=="atas") rows=0;
else if(baris=="bawah") rows=1;
lcd.setCursor(0,rows);
lcd.print(" ");
}