#include <TM1637Display.h>
#define CLK 2
#define DIO 3
#define BUZZER 4
#define TLACITKO 5
unsigned long previousMillis = 0;
int cislo = 10;
bool stav = true;
unsigned long lastDebounceTime = 0;
uint8_t debounceInterval = 50;
int buttonState = LOW;
int lastButtonState = LOW;
TM1637Display display(CLK, DIO);
void setup() {
pinMode(TLACITKO, INPUT);
display.setBrightness(7);
display.showNumberDec(cislo, false);
}
void loop() {
if(millis() - previousMillis >= 1000 && stav){
previousMillis = millis();
cislo--;
display.showNumberDec(cislo, false);
if(cislo == 0){
stav = false;
tone(BUZZER, 262, 1000);
}
}
int reading = digitalRead(TLACITKO);
if(reading != lastButtonState){
lastDebounceTime = millis();
}
if((millis() - lastDebounceTime) >= debounceInterval){
if(reading != buttonState) {
if(buttonState == HIGH){
// dokoncit
stav = true;
cislo = 10;
}
}
buttonState = reading;
}
}