klips/esp/cpp/01_led-button/01_led-button.ino

39 lines
958 B
C++

// set pin numbers
const int buttonPin = 4; // the number of the pushbutton pin
const int ledPin = 5; // the number of the LED pin
// variable for storing the pushbutton status
int buttonState = 0;
bool light_on = false;
bool handled = false;
void setup() {
Serial.begin(115200);
// initialize the pushbutton pin as an input
pinMode(buttonPin, INPUT);
// initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the state of the pushbutton value
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
if (buttonState == HIGH) {
if (!handled) {
Serial.println("Handling button pressed.");
light_on = !light_on;
handled = true;
digitalWrite(ledPin, light_on ? HIGH : LOW);
}
// turn LED on
} else {
if (handled) {
Serial.println("Reset button handled state.");
handled = false;
}
}
}