#include <TimerOne.h>
int a = 6;
int b = 7;
int c = 9;
int d = 10;
int e = 11;
int f = 5;
int g = 4;
int dp = 8;
int time = 0;
int pause_btn = 2;
int reset_btn = 3;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dp, OUTPUT);
pinMode(pause_btn, INPUT);
pinMode(reset_btn, INPUT);
attachInterrupt(digitalPinToInterrupt(pause_btn), pause, RISING);
Timer1.initialize(1000000); // Nastavení časovače na 1 sekundu (1 000 000 mikrosekund)
Timer1.attachInterrupt(timerISR); // Připojení ISR k časovači
}
void loop() {
if (time == 0) displayZero();
if (time == 1) displayOne();
if (time == 2) displayTwo();
if (time == 3) displayThree();
if (time == 4) displayFour();
if (time == 5) displayFive();
if (time == 6) displaySix();
if (time == 7) displaySeven();
if (time == 8) displayEight();
if (time == 9) displayNine();
}
void pause() {
while (!digitalRead(reset_btn)) {
}
}
void timerISR() {
time = (time + 1) % 10;
}
void clear() {
//Serial.println(digitalRead(pause_btn));
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dp, HIGH);
}
void displayZero() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
delay(100);
}
void displayOne() {
clear();
digitalWrite(b, LOW);
digitalWrite(c, LOW);
delay(100);
}
void displayTwo() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displayThree() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displayFour() {
clear();
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displayFive() {
clear();
digitalWrite(a, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displaySix() {
clear();
digitalWrite(a, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displaySeven() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
delay(100);
}
void displayEight() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(100);
}
void displayNine() {
clear();
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
delay(100);
}