mirror of
https://github.com/2martens/uni.git
synced 2026-05-07 11:56:26 +02:00
38 lines
814 B
C++
38 lines
814 B
C++
int ledPin = 7;
|
|
int buttonPin = 5;
|
|
int buttonState;
|
|
bool volatile ledState = true;
|
|
bool volatile performDelay = false;
|
|
|
|
void setup() {
|
|
// put your setup code here, to run once:
|
|
pinMode(ledPin, OUTPUT);
|
|
pinMode(buttonPin, INPUT);
|
|
attachInterrupt(buttonPin, buttonChanged, RISING);
|
|
digitalWrite(ledPin, LOW);
|
|
}
|
|
|
|
void loop() {
|
|
// put your main code here, to run repeatedly:
|
|
buttonState = digitalRead(buttonPin);
|
|
if (performDelay) {
|
|
detachInterrupt(buttonPin);
|
|
delay(20);
|
|
performDelay = false;
|
|
attachInterrupt(buttonPin, buttonChanged, RISING);
|
|
|
|
if (buttonState == HIGH) {
|
|
if (ledState) {
|
|
digitalWrite(ledPin, LOW);
|
|
} else {
|
|
digitalWrite(ledPin, HIGH);
|
|
}
|
|
ledState = !ledState;
|
|
}
|
|
}
|
|
}
|
|
|
|
void buttonChanged() {
|
|
performDelay = true;
|
|
}
|