Der Einstiegs-Sketch Heartbeat liefert den Sekundentakt mit einer LED, um einfach nur sehen zu können, dass das System noch lebt. Der Sketch Timer schafft dagegen über die Nutzung eines Interrupts den Spielraum für das eigentliche Nutzprogramm.
Machen wir also den Schritt in die Richtung Nutzprogramm weiter, der Sketch Taster koppelt den Input durch einen Taster mit dem Output einer LED. Dabei sind der Taster und die LED Synonyme, hier können auch andere Sensoren oder Aktoren angeschlossen werden.
Funktion des Sketchs
x

x

x
//esp32-basics-012-taster.ino
#define LED_HEARTBEAT 2
#define LED_STATUS 5
#define TASTER 13
bool content;
void IRAM_ATTR isrHandlerOn(){
digitalWrite(LED_STATUS, HIGH);
}
void setup() {
Serial.begin (115200);
pinMode( LED_HEARTBEAT, OUTPUT);
digitalWrite(LED_HEARTBEAT, LOW); // led definitiv ausschalten
pinMode( LED_STATUS, OUTPUT);
digitalWrite(LED_STATUS, LOW); // led definitiv ausschalten
pinMode(TASTER, INPUT);
// interrupt durch taster
attachInterrupt(digitalPinToInterrupt(TASTER), isrHandlerOn, FALLING); // S.298
}
void loop() {
digitalWrite(LED_HEARTBEAT, HIGH);
Serial.println ("LED an");
delay(500);
digitalWrite(LED_HEARTBEAT, LOW);
Serial.println ("LED aus");
delay(500);
digitalWrite(LED_STATUS, LOW); // ausschalten status-led
}
