#define ledPin 2
#define ledPin1 3
#define buttonPin 12
#define skracovanie 100
bool ledState=0;
bool buttonState=0;
bool lastButtonState=0;
unsigned long lastDebounceTime=0;
unsigned long previousMillis=0;
int debounceDelay=50;
int interval=5000;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPin1,OUTPUT);
digitalWrite(ledPin, ledState);
digitalWrite(ledPin1, !ledState);
Serial.begin(9600);
Serial.println("Interval blikanie je "+String(interval)+" ms");
}
void loop() {
bool reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState == HIGH) {
Serial.println("Interval blikanie je "+String(interval=(interval<=skracovanie?5000:interval-skracovanie))+" ms");
}
}
}
unsigned long currentMillis=millis();
if(currentMillis-previousMillis>=interval){
previousMillis=currentMillis;
ledState=!ledState;
digitalWrite(ledPin, ledState);
digitalWrite(ledPin1, !ledState);
}
lastButtonState = reading;
}