#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int min=250;
int max=350;
float measurArray[]={320.00,415.23};
String text[]={
" ", // 0
"PUMPENSTICK IN DAS ", // 1
"LILIAN STECKEN UND ", // 2
"MESSUNG VORBEREITEN ", // 3
"DANN TASTE DRUECKEN ", // 4
"SENSOR->KALIBRIERUNG", // 5
"TESTER BEREIT ", // 6
"MESSUNG IN PROCESS ", // 7
"BITTE LILIAN STARTEN", // 8
"MESSUNG BEREIT ", // 9
"WARTE AUF DAS LILIAN", // 10
"PUMPWERT: ", // 11 - 9 CHAR
"LILIAN PUMT ", // 12
"MESSUNG BEENDET ", // 13
"DRUCKVERLUST - TEST ", // 14
">>> ERGEBNIS <<<", // 15
"Soll: "+(String)min +" bis "+(String)max+" ", // 16
"Ermittelt: "+(String)measurArray[1], // 17
"WERT WIRD GEPRUEFT ", // 18
"--- DRUCKVERLUST ---", // 19
"BESTANDEN WERT OK « ", // 20
"!!Wert zu niedrig!!", // 21
"!! Wert zu hoch !!", // 22
"--------------------", // 23
" ", // 24
" ", // 25
" ", // 26
" -", // 27
"- ", // 28
"- ", // 29
" -" // 30
};
char text2[][4]={
{0,0,0,0},
{1,2,3,4},
{3,23,5,23},
{8,23,11,10},
{7,23,11,23},
{13,23,14,23},
{13,23,18,23},
{15,16,17,20},
};
int a=-1;
int diff=0;
int zyclus=1;
void setup() {
lcd.init();
lcd.begin(0x27, 20, 4);
lcd.backlight();
displayStart(50);
}
void loop(){
Serial.begin(9600);
/* lcd.setCursor(0,0);
for(int i = 0;i<30;i++){
if(a<3){a=a+1;}else{a=0;}
lcd.setCursor(0,a);
Serial.println("diff= "+ (String)diff);
diff=diff+1;
lcd.print((String)text[i]);
delay(1000);
}
*/
for (int i=1;i<8;i++){
zyclus=i;
printLCD();
delay(3000);
}
/* for(int i=0; i<30;i++){
Serial.println("i= "+ (String) i + " " + text[i]);
lcd.setCursor(0,2);
lcd.print((String)text[i]);
delay(1000);
}
*/
}
void printLCD (){
switch (zyclus){
case 1:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 2:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 3:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 4:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 5:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 6:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 7:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
case 8:
for(int i=0;i<4;i++){
lcd.setCursor(0,i);
lcd.print((String)text[text2[zyclus][i]]);
}
break;
}
}
void displayStart(int i){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("********************");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("** Lilian Labs **");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print("** Pumpentester **");
lcd.setCursor(0,3);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print("********************");
delay(i);
lcd.clear();
}