Datasheet
23
Pull-up-Widerstände für Taster
Solange ein Taster gedrückt ist, sind seine Anschlüsse miteinander verbunden. Im Gegensatz
zu einem Schalter rastet ein Taster nicht ein. Die Verbindung wird beim Loslassen sofort
wieder getrennt.
Liegt auf einem als Eingang definierten digitalen Pin ein Signal zwischen +3,3 V und +5 V an,
wird dieses als logisch HIGH bzw. 1 ausgewertet. Theoretisch könnten Sie also über einen
Taster den jeweiligen Pin mit dem VCC-Anschluss des TI LaunchPad verbinden.
In vielen Fällen funktioniert diese simple Schaltung bereits, allerdings hätte der geschaltete
Pin bei offenem Taster keinen eindeutig definierten Zustand. Wenn ein Programm diesen Pin
abfragt, kann es zu zufälligen Ergebnissen kommen. Um das zu vermeiden, schließt man bei
Tastern sogenannte Pull-up-Widerstände an. Die MSP430-Mikrocontroller verfügen über
interne Pull-up-Widerstände von etwa 20 kOhm, die einen als Eingang definierten digitalen
Pin automatisch auf HIGH ziehen, um ihm einen eindeutig definierten Zustand zu geben.
Taster mit internem Pull-up-Widerstand an
einem Eingang. Die grau hinterlegten Teile der
Zeichnung liegen innerhalb der
Mikrocontrollerelektronik.
INPUT_PULLUP in der pinMode()-Definition aktiviert den internen Pull-up-Widerstand. In
diesem Fall wird beim Schließen des Tasters eine Verbindung mit Masse hergestellt. Diese
bewirkt einen LOW-Wert. Die Programmlogik muss dementsprechend umgekehrt werden.
LOW bedeutet: Taster gedrückt, HIGH bedeutet: Taster offen.
void loop()
{
digitalWrite(gruen, HIGH);
digitalWrite(RED_LED, HIGH);
In der Hauptprozedur void loop() werden als Erstes die grüne LED der Verkehrsampel und
die rote LED der Fußgängerampel eingeschaltet. Die anderen LEDs beginnen das Programm im
ausgeschalteten Zustand. Dies ist der Standardzustand einer Ampel.
if (digitalRead(PUSH2) == LOW)
{
Die Funktion digitalRead() fragt ab, ob der Benutzer die Taste gedrückt hat. Diese Funktion
liest den Wert eines digitalen Eingangs. Dieser ist dann
HIGH, wenn dort ein Signal zwischen
+3,3 V und +5 V anliegt. Der Pull-up-Widerstand bewirkt eine umgekehrte Logik, weshalb hier
abgefragt wird, ob der Taster-Eingangspin
LOW ist.