#include <LiquidCrystal.h>
LiquidCrystal lcd = LiquidCrystal(13,12,7,6,5,4);
int stav = 0;
int pozicia = 0;
int poziciaa = 0;
bool daco1 = true;
bool daco2 = true;
bool daco3 = true;
bool daco4 = true;
byte panacik1[8] = {
0b00100,
0b01010,
0b00100,
0b10101,
0b01110,
0b00100,
0b01010,
0b01010,
};
byte panacik2[8] = {
0b00100,
0b01010,
0b00100,
0b00100,
0b01110,
0b10101,
0b01010,
0b01010,
};
unsigned long buducnost;
void setup() {
lcd.createChar(3, panacik1);
lcd.createChar(4, panacik2);
lcd.begin(20, 4);
lcd.print("\x03");
pinMode(A0, INPUT_PULLUP);
pinMode(A1, INPUT_PULLUP);
pinMode(A2, INPUT_PULLUP);
pinMode(A3, INPUT_PULLUP);
buducnost = 500;
}
void loop() {
if (millis() > buducnost)
{
lcd.home();
if(stav == 1)
{
lcd.print("\x03");
stav = 0;
}
else
{
stav = 1;
lcd.print("\x04");
}
}
// CERNA
if(digitalRead(A1) == LOW && daco1 == true && pozicia < 15)
{
daco1 = false;
pozicia ++;
lcd.clear();
lcd.setCursor(pozicia,poziciaa);
lcd.print("\x03");
}
if (digitalRead(A1) == HIGH && daco1 == false )
{
daco1 = true;
}
//BELA
if(digitalRead(A0) == LOW && daco2 == true && pozicia > 0)
{
daco2 = false;
pozicia --;
lcd.clear();
lcd.setCursor(pozicia,poziciaa);
lcd.print("\x03");
}
if (digitalRead(A0) == HIGH && daco2 == false )
{
daco2 = true;
}
//žlta
if(digitalRead(A2) == LOW && daco3 == true && poziciaa > 3)
{
daco3 = false;
poziciaa ++;
lcd.clear();
lcd.setCursor(pozicia,poziciaa);
lcd.print("\x03");
}
if (digitalRead(A2) == HIGH && daco3 == false )
{
daco3 = true;
}
// červena
if(digitalRead(A3) == LOW && daco4 == true && poziciaa > 0)
{
daco4 = false;
poziciaa --;
lcd.clear();
lcd.setCursor(pozicia,poziciaa);
lcd.print("\x03");
}
if (digitalRead(A3) == HIGH && daco4 == false )
{
daco4 = true;
}
}