#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte Teller1 = 0;
byte Teller2 = 0;
byte Timer1 = 0;
byte Timer2 = 0;
void customClear(int startRow, int numRows) {
for (int i = 0; i < numRows; i++) {
lcd.setCursor(0, startRow + i);
lcd.print(" "); // Lege spaties om de rij te wissen
}
}
//auto1
void eerste1() {
customClear(0, 1);
byte image01[8] = { B11100, B11100, B01011, B01111, B01111, B01011, B11100, B11100 };
byte image02[8] = { B01110, B01110, B10100, B11110, B11110, B10100, B01110, B01110 };
lcd.createChar(0, image01);
lcd.createChar(1, image02);
lcd.setCursor(Teller1, 0);
lcd.write(byte(0));
lcd.setCursor(Teller1 + 1, 0);
lcd.write(byte(1));
}
void tweede1() {
customClear(0, 1);
byte image01[8] = { B01110, B01110, B00101, B00111, B00111, B00101, B01110, B01110 };
byte image02[8] = { B00111, B00111, B11010, B11111, B11111, B11010, B00111, B00111 };
lcd.createChar(0, image01);
lcd.createChar(1, image02);
lcd.setCursor(Teller1, 0);
lcd.write(byte(0));
lcd.setCursor(Teller1 + 1, 0);
lcd.write(byte(1));
}
void derde1() {
customClear(0, 1);
byte image01[8] = { B00111, B00111, B00010, B00011, B00011, B00010, B00111, B00111 };
byte image02[8] = { B00011, B00011, B11101, B11111, B11111, B11101, B00011, B00011 };
byte image03[8] = { B10000, B10000, B00000, B10000, B10000, B00000, B10000, B10000 };
lcd.createChar(0, image01);
lcd.createChar(1, image02);
lcd.createChar(2, image03);
lcd.setCursor(Teller1, 0);
lcd.write(byte(0));
lcd.setCursor(Teller1 + 1, 0);
lcd.write(byte(1));
lcd.setCursor(Teller1 + 2, 0);
lcd.write(byte(2));
}
void vierde1() {
customClear(0, 1);
byte image01[8] = { B00011, B00011, B00001, B00001, B00001, B00001, B00011, B00011 };
byte image02[8] = { B10001, B10001, B01110, B11111, B11111, B01110, B10001, B10001 };
byte image03[8] = { B11000, B11000, B10000, B11000, B11000, B10000, B11000, B11000 };
lcd.createChar(0, image01);
lcd.createChar(1, image02);
lcd.createChar(2, image03);
lcd.setCursor(Teller1, 0);
lcd.write(byte(0));
lcd.setCursor(Teller1 + 1, 0);
lcd.write(byte(1));
lcd.setCursor(Teller1 + 2, 0);
lcd.write(byte(2));
}
void vijfde1() {
customClear(0, 1);
byte image01[8] = { B00001, B00001, B00000, B00000, B00000, B00000, B00001, B00001 };
byte image02[8] = { B11000, B11000, B10111, B11111, B11111, B10111, B11000, B11000 };
byte image03[8] = { B11100, B11100, B01000, B11100, B11100, B01000, B11100, B11100 };
lcd.createChar(0, image01);
lcd.createChar(1, image02);
lcd.createChar(2, image03);
lcd.setCursor(Teller1, 0);
lcd.write(byte(0));
lcd.setCursor(Teller1 + 1, 0);
lcd.write(byte(1));
lcd.setCursor(Teller1 + 2, 0);
lcd.write(byte(2));
}
void Herhaling1() {
eerste1();
delay(Timer1);
tweede1();
delay(Timer1);
derde1();
delay(Timer1);
vierde1();
delay(Timer1);
vijfde1();
delay(Timer1);
}
void Auto1() {
if (Teller1 >= 16) {
Teller1 = 0;
} else {
Herhaling1();
Timer1 = random(100, 2000);
Teller1++;
}
}
//auto2
void eerste2() {
customClear(0, 2);
byte image017[8] = { B11100, B11100, B01011, B01111, B01111, B01011, B11100, B11100 };
byte image018[8] = { B01110, B01110, B10100, B11110, B11110, B10100, B01110, B01110 };
lcd.createChar(0, image017);
lcd.createChar(1, image018);
lcd.setCursor(Teller2, 1);
lcd.write(byte(0));
lcd.setCursor(Teller2 + 1, 1);
lcd.write(byte(1));
}
void tweede2() {
customClear(0, 2);
byte image017[8] = { B01110, B01110, B00101, B00111, B00111, B00101, B01110, B01110 };
byte image018[8] = { B00111, B00111, B11010, B11111, B11111, B11010, B00111, B00111 };
lcd.createChar(0, image017);
lcd.createChar(1, image018);
lcd.setCursor(Teller2, 1);
lcd.write(byte(0));
lcd.setCursor(Teller2 + 1, 1);
lcd.write(byte(1));
}
void derde2() {
customClear(0, 2);
byte image017[8] = { B00111, B00111, B00010, B00011, B00011, B00010, B00111, B00111 };
byte image018[8] = { B00011, B00011, B11101, B11111, B11111, B11101, B00011, B00011 };
byte image019[8] = { B10000, B10000, B00000, B10000, B10000, B00000, B10000, B10000 };
lcd.createChar(0, image017);
lcd.createChar(1, image018);
lcd.createChar(2, image019);
lcd.setCursor(Teller2, 1);
lcd.write(byte(0));
lcd.setCursor(Teller2 + 1, 1);
lcd.write(byte(1));
lcd.setCursor(Teller2 + 2, 1);
lcd.write(byte(2));
}
void vierde2() {
customClear(0, 2);
byte image017[8] = { B00011, B00011, B00001, B00001, B00001, B00001, B00011, B00011 };
byte image018[8] = { B10001, B10001, B01110, B11111, B11111, B01110, B10001, B10001 };
byte image019[8] = { B11000, B11000, B10000, B11000, B11000, B10000, B11000, B11000 };
lcd.createChar(0, image017);
lcd.createChar(1, image018);
lcd.createChar(2, image019);
lcd.setCursor(Teller2, 1);
lcd.write(byte(0));
lcd.setCursor(Teller2 + 1, 1);
lcd.write(byte(1));
lcd.setCursor(Teller2 + 2, 1);
lcd.write(byte(2));
}
void vijfde2() {
customClear(0, 2);
byte image017[8] = { B00001, B00001, B00000, B00000, B00000, B00000, B00001, B00001 };
byte image018[8] = { B11000, B11000, B10111, B11111, B11111, B10111, B11000, B11000 };
byte image019[8] = { B11100, B11100, B01000, B11100, B11100, B01000, B11100, B11100 };
lcd.createChar(0, image017);
lcd.createChar(1, image018);
lcd.createChar(2, image019);
lcd.setCursor(Teller2, 1);
lcd.write(byte(0));
lcd.setCursor(Teller2 + 1, 1);
lcd.write(byte(1));
lcd.setCursor(Teller2 + 2, 1);
lcd.write(byte(2));
}
void Herhaling2() {
eerste2();
delay(Timer2);
tweede2();
delay(Timer2);
derde2();
delay(Timer2);
vierde2();
delay(Timer2);
vijfde2();
delay(Timer2);
}
void Auto2() {
if (Teller2 >= 16) {
Teller2 = 0;
} else {
Herhaling2();
Timer2 = random(100, 2000);
Teller2++;
}
}
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
}
void loop() {
Auto1();
customClear(0, 1);
Auto2();
customClear(0, 2);
}