#include <TM1637Display.h>
#define CLK 3
#define DIO 4
#define BUTTON 6
#define LIMIT 60
unsigned long previousMillis=0;
bool buttonState;
bool lastButtonState=LOW;
unsigned long lastDebounceTime;
int debounceDelay=50;
boolean stav=true;
TM1637Display display(CLK, DIO);
uint8_t cas =LIMIT;
void setup() {
pinMode(BUTTON, INPUT);
display.setBrightness(0x0f);
display.showNumberDec(cas,false);
}
void loop() {
unsigned long currentMillis=millis();
if(currentMillis-previousMillis>=1000 && stav)
{
previousMillis=currentMillis;
display.showNumberDec(--cas,false);
if(cas==0){
tone(4,262,200);
stav=false;
}
}
//tlacitko
int reading = digitalRead(BUTTON);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH && !stav)
{
stav=true;
cas=LIMIT;
previousMillis=millis();
display.showNumberDec(cas,false);
}
else if(buttonState == HIGH && stav){
tone(4,292);
/*delay(150);
tone(4,192,200);*/
stav=false;
}
}
}
lastButtonState=reading;
}