Taster (Button) mit internem PullUp Widerstand
Um am Mikrocontroller keinen offenen undefinierten Eingang zu haben wird der Eingang über einem Widerstand mit
Plus(+) verbunden. Dies geht mit einem externen Widerstand oder auch durch einen internem PullUp Widerstand, den
man mit dem Befehl pinMode(Pin,INPUT_PULLUP) zuschalten kann.
Über den PullUp Widerstand liegt am Ausgang dauerhaft HIGH an. Durch Schalten mit dem Taster wird GND an den Eingang gelegt. Die Schaltlogik ist mit einem PullUp Widerstand (im Gegensatz zum PullDown Widerstand) umgedreht. Betätigt liegt am µC-Eingang LOW an und unbestätigt HIGH.
Schaltung und Programmcode
// globale Variable für den LED Status (an/aus)
bool ledStatus = false;
void setup() {
// Arduino Anschlüsse konfigurieren
pinMode(2, INPUT_PULLUP);
pinMode(7, OUTPUT);
}
void loop() {
// Tastereingang abfragen
if (digitalRead(2) == LOW) {
// bei jedem Tastendruck ändert sich der LED-Status
ledStatus = !ledStatus;
if (ledStatus == true) {
digitalWrite(7, HIGH);
} else {
digitalWrite(7, LOW);
}
}
}