Digital Read

Im vorherigen Kapitel hat du gelernt wie man Digitalpins als Ausgang nutzt und mit dem digitalWrite-Befehl ansteuert. In diesem Kapitel möchten wir einen Digitalpin als Eingang verwenden. Wenn der Pin erkennt, dass eine Spannung an ihm anliegt, sollen zwei LEDs abwechselnd blinken, ansonsten soll nichts passieren.

Hardware

Arduino DigitalInTL_Steckplatine.jpg

Die beiden LEDs werden mit der Anode (langes Beinchen) an Pin 1 (D1) und Pin 2 (D2) angeschlossen. Die Kathoden der LEDs werden jeweils über einen 220 Ohm Widerstand mit Ground (GND) verbunden. Der Taster wird an der einen Seite mit Pin 3 (D3) verbunden und an der anderen mit der Spannungsquelle (5V). So würde das ganze theoretisch schon funktionieren, allerdings benötigen Digitalpins – wenn sie als Eingang genutzt werden – einen sogenannten Pull up- oder Pull down Widerstand. Wenn man die Schaltung ohne diese Widerstände betreiben würde und der Taster nicht gedrückt ist, kommt es zu Fehlern. Grund hierfür sind Ströme innerhalb des Mikrochips. Deshalb „zieht“ man die Spannung mit einem Pull up Widerstand auf der Eingangsseite auf 5 Volt (HIGH) oder „zieht“ sie mit einem Pull down Widerstand auf 0 Volt (LOW). Die Pullup/down Widerstände sollten möglichst hochohmig dimensioniert sein, damit – falls der Schalter gedrückt wird – der Widerstand nicht durchbrennt. (Mehr dazu unter Dimensionierung von Widerständen) In unserem Fall nutzen wir einen 10k Widerstand.

Vielleicht ist dir schon aufgefallen, dass in diesem Projekt die Pins 1 und 2 als Ausgang dienen. Sie steuern die beiden LEDs an und versorgen sie – wenn sie auf HIGH geschaltet sind – mit Spannung. Das neue ist nun die Funktion von Pin 3 als Eingang. Er ließt aus, ob der Schalter gedrückt ist oder nicht.

Software