byte segment[] =
{ // 0 1 2 3 4
0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110,
// 5 6 7 8 9
0b10110110, 0b10111110, 0b11100000, 0b11111110, 0b11110110
};
int cislo = 0;
void setup() {
DDRD = 0b11111111; // segmenty displeja su vsetky nastavené ako výstup
PORTD = 0b00000000; // segmenty su v setupe nastavené na hodnotu low
DDRC&=~(1<< 0); // pripojenie buttona ako vstup na pozicii 0 (0b01111111)
PORTC|=(1<< 0); // hodnota buttnu na high (0b10000000)
}
void loop() {
if((PINC & (1<<0)) == 1) //čitanie hodnoty buttnu, podmienka znie, ak je hodnota LOW tak sa zobrazi znak
{
PORTD = 0b01101100; //pokial sa podmienka vykona, zobrazí sa takýto znak
}
else{
PORTD = segment[cislo]; //pokial nie tak sa zobrauju cisla
cislo = (cislo + 1)%10;
delay(1000);
}
}