#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C a(0x27, 20,4);
byte panak[] = {
B01110,
B01110,
B01010,
B01010,
B10001,
};
int pole[] = {0,0};
int randomstlepc;
int randomriadok;
bool test1 = true;
bool test2 = true;
bool test3 = true;
bool test4 = true;
void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
a.init();
a.backlight();
a.createChar(0, panak);
a.home();
a.write(0);
randomSeed(analogRead(A0));
randomstlepc = random(0,19);
randomriadok = random(0,3);
a.setCursor(randomstlepc, randomriadok);
a.write(1);
}
void loop() {
//pohyb do prava
if(digitalRead(3) == LOW && test2 == true){
a.setCursor(pole[1], pole[0]);
a.print(" ");
pole[1]++;
if(pole[1] > 19){
pole[1] = 0;
}
a.setCursor(pole[1], pole[0]);
a.write(0);
test2 = false;
}
else if(digitalRead(3) == HIGH && test2 == false)
{
test2 = true;
}
// pohyb v lavo
if( digitalRead(4) == LOW && test4 == true){
a.setCursor(pole[1], pole[0]);
a.print(" ");
pole[1]--;
if(pole[1] < 0){
pole[1] = 19;
}
a.setCursor(pole[1], pole[0]);
a.write(0);
test4 = false;
}
else if(digitalRead(4) == HIGH && test4 == false)
{
test4 = true;
}
//pohyb dole
if (digitalRead(2) == LOW && test1 == true) {
a.setCursor(pole[1], pole[0]);
a.print(" ");
pole[0]++;
if (pole[0] > 3) {
pole[0] = 0;
}
a.setCursor(pole[1], pole[0]);
a.write(0);
test1 = false;
}
else if (digitalRead(2) == HIGH && test1 == false) {
test1 = true;
}
//pohyb hore
if(digitalRead(5) == LOW && test3 == true){
a.setCursor(pole[1], pole[0]);
a.print(" ");
pole[0]--;
if(pole[0] < 0){
pole[0] = 3;
}
a.setCursor(pole[1], pole[0]);
a.write(0);
test3 = false;
}
else if(digitalRead(5) == HIGH && test3 == false)
{
test3 = true;
}
}