int buttonPin=11;
int LedPin=12;
bool idk=0;
bool buttonState=0;
bool lastButtonState=0;
bool LedState=0;
unsigned long lastDebounceTime=0;
unsigned long BeforeTime=0;
int debounceDelay=50;
int Interval = 1000;
String PomocnaHodnota;
void setup() {
pinMode(LedPin, OUTPUT);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
bool reading = digitalRead(buttonPin);
if (reading != lastButtonState)
{
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay)
{
if (reading != buttonState)
{
buttonState = reading;
if (buttonState == HIGH)
{
idk=!idk;
}
}
}
if(idk==1)
{
if(millis()-BeforeTime>=Interval)
{
BeforeTime =millis();
LedState=!LedState;
digitalWrite(LedPin,LedState);
}
}
else
digitalWrite(LedPin,0);
lastButtonState = reading;
if (Serial.available()>0) {
PomocnaHodnota=Serial.readString();
PomocnaHodnota.trim();
int Time = PomocnaHodnota.toInt();
if (Time>0 && Time<=10) {
Time= Time*1000;
Interval=Time;
}
else {
Serial.println("Zadal si nespravnu hodnotu, skus to znova");
Interval=0;
digitalWrite(LedPin, LOW);
}
}
}