Mirksintis LED – įjungimas/išjungimas paspaudus mygtuką

// led pin
const int ledPin1  = 13;
// button pin
const int buttonPin1 = 2;
// blinking delay
const int interval1 = 500;
bool ledState1;
bool canBlink1;
unsigned long previousMillis1;

void setup() {
  pinMode(ledPin1, OUTPUT); // set led pin to output
  pinMode(2, INPUT_PULLUP); // button pin set to INPUT with internal PULLUP(default state will be HIGH)
}

void loop() {

  unsigned long currentMillis = millis();

  bool buttonState1 = digitalRead(buttonPin1);
  if (buttonState1 == LOW) {
    while (digitalRead(buttonPin1) == LOW);
    if (digitalRead(buttonPin1) == HIGH) {
      canBlink1 = !canBlink1;
      digitalWrite(ledPin1, LOW);
    }
  }

  if (currentMillis - previousMillis1 >= interval1 && canBlink1) {
    previousMillis1 = currentMillis;
    ledState1 = !ledState1;
    digitalWrite(ledPin1, ledState1);
  }
}

Related Posts