Ziel in diesem Kapitel ist es, einen Schalter/Taster an den digitalen Eingang eines Arduino Unos anzuschließen und seinen Schaltzustand abzufragen. Das folgende Bild zeigt die einfachste Art, einen Taster anzuschließen:

Abb.: Anschluss eines Tasters an einen digitalen Eingang; Quelle: BBS2 Wolfsburg

Dabei befindet sich der Taster zwischen 5V und dem Eingangspin. Denkbar wäre auch ein Taster zwischen 0V und dem Eingangspin. Dies ist ein einfacher Aufbau, der sich in der Praxis so aber nicht fehlerfrei betreiben lässt.


Warum kommt es zu Fehlern?

Bei geöffnetem Schalter ist der Zustand des Eingangs nicht klar definiert. Der Eingang liegt nicht 5V und nicht auf 0V. Die an dem Pin anliegende Spannung und der vom Mikrocontroller interpretierte Zustand (0 oder 1) ist von der internen Schaltung des Mikrocontrollers und den eher zufälligen Spannungen (auch eingestreuten) im Bereich der Elektronik dieses Pins abhängig. Das Ergebis ist eben ein zum Teil zufälliger, auf jeden Fall undefinierter Spannungspegel. Da z.B. jedes Stück Leitung als Antenne wirken kann, ist ein Einkoppeln elektromagnetischer Wellen möglich, die den Zustand des Eingangs beeinflussen können. Das genannte Phänomen ist im folgenden Video gezeigt:



Was kann man dagegen tun?

Um den Eingang auch bei geöffnetem Schalter auf ein definiertes Potenzial zu bringen und damit ein fehlerfreies Auslesen zu ermöglichen, werden Pull-Up/Down-Widerstände verwendet. Wie der Name schon verrät, ziehen sie den Eingang des digitalen Pins bei geöffnetem Schalter auf ein definiertes Potenzial.


Wie setzt man Pull-Up/Down-Widerstände ein?

Es gibt zwei Möglichkeiten Pull-Up/Down-Widerstände zu realisieren: per externer Hardware oder per Zuschalten eines internen Widerstandes im µC per Software. Wie beide Varianten genau angewandt werden, wird in den folgenden Unterkapiteln betrachtet.


Widerstandswert

Um für möglichst geringe Ströme zu sorgen, sollte der Widerstand recht groß gewählt werden z.B. 10 kΩ - 100 kΩ. Bei Verwendung der internen Pull-Up-Widerstände kommen 20 kΩ zum Einsatz.


Zuletzt geändert: Donnerstag, 24. Februar 2022, 08:37