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] );
 }
}