int cislo = 0;
bool test = true;
uint8_t poleCisel[10][7] = {
{0,0,0,0,0,0,1},
{1,0,0,1,1,1,1},
{0,0,1,0,0,1,0},
{0,0,0,0,1,1,0},
{1,0,0,1,1,0,0},
{0,1,0,0,1,0,0},
{0,1,0,0,0,0,0},
{0,0,0,1,1,1,1},
{0,0,0,0,0,0,0},
{0,0,0,0,1,0,0},
};
void setup()
{
//Serial.begin(9600); // debug je zablokovany kvoli pinu 0a1
pinMode(A5, INPUT); // pin tlacidla ako vstup s pull_up-om
digitalWrite(A5,HIGH);
for(int i=0;i<14;i++) // vsetky piny ako vystupne a OFF
{
digitalWrite(i,HIGH);
pinMode(i, OUTPUT);
}
vypisNaPravu(0); // vypis prveho cislo: 00
vypisNaLavu(0);
}
void loop()
{
if(digitalRead(A5)==LOW && test == true) // test stlacenia
{
cislo++; // zvys premennu
if(cislo == 100) // maximalne dvojciferne cislo
cislo = 0;
//Serial.println(cislo);
vypisNaPravu(cislo%10);
vypisNaLavu(cislo/10);
test = false;
}
else if(digitalRead(A5)==HIGH && test == false) // odblokovanie
{
test = true;
}
}
void vypisNaPravu(int c) // funkcia ovladajuca prvy displej
{
for(int i=0;i<7;i++)
{
digitalWrite( i, poleCisel[c][i] );
}
}
void vypisNaLavu(int c) // funkcia ovladajuca druhy displej
{
for(int i=7;i<14;i++)
{
digitalWrite( i, poleCisel[c][i-7] );
}
}