Wird ein digitaler Eingang am Arduino abgefragt ohne dass etwas angeschlossen ist dann sieht das Ergebnis in aller Regel so. Der Eingang springt von 0 nach 1 und von 1 nach 0 ständig hin und her. Schön zu sehen wenn man dieses Beispiel auf den Arduino hoch lädt und den Serial Monitor öffnet.
Digitale Eingänge am Arduino müssen also immer ein eindeutiges Signal erhalten. Der Eingang muss entweder HIGH "1" sein also 5 Volt Spannung bekommen oder er muss LOW "0" sein also 0 Volt bzw. GND bekommen. Nur so können digitale Eingänge eindeutig ausgelesen werden. Dazu den gleichen Code verwenden, den Serial Monitor öffnen und jeweils die Kabel wie unten angeschlossen einstecken.
Eingang ist HIGH, er hat 5 Volt von VCC anliegen.
Eingang ist LOW, er hat 0 Volt von GND anliegen.
Soll der digitale Eingang nun aber von 1 nach 0 oder von 0 nach 1 wechseln würde es einen Kurzschluss geben, da VCC und GND direkt zusammen kommen. Damit dies nicht passiert und der Eingang dennoch entweder LOW oder HIGH ist gibt es die pull down oder pull up Widerstände. Aich hier den Serial Monitor geöffnet lassen und beobachten was passiert.
Der pull down Widerstand wird einfach zwischen den Eingang und GND angeschlossen. Damit ist Eingang klar als LOW definiert, wird nun aber über den Taster 5 Volt angelegt ist der Eingang HIGH. Durch den Widerstand gibt es gibt es aber keinen Kurzschluss.
Das gleiche lässt sich auch mit VCC machen. Dies nennt man dann pull up Widerstand. Hier wird lediglich der GND und der VCC vertaucht angeschlossen.
Möchte man in diesem Fall den Eingang in Ardublock abfragen ist das Ergebnis aber immer WAHR "1", deshalb kann es nötig sein ein "NICHT" einzufügen, damit wird aus der "1" eine "0" im nicht gedrückten Zustand.
Diese Art der Eingangsbeschaltung bracht aber Zeit, Platz und Bauteile. Der Arduino hat diese Widerstände bereits fest eingebaut, man muss sich nur "einschalten". Dies kann man über ein Auswahlmenü machen. Geht man mit der Maus über einen Eingang "digital PIN", dann erscheint ein Pfeil nach unten, hier kann nun ein pull down oder pull up ausgewählt werden.
Aber Achtung, der Arduino hat nur pull up Widerstände eingebaut. Es muss also, egal ob pulldown oder pullup im Menü ausgewählt wird, IMMER wie im Bild unten "pullup" verdrahtet werden. Sonst schaltet der Eingang nicht um.
Das beide Versionen zur Verfügung stehen soll es dem Ardublock Anwender einfach machen. Da er auf den "nicht" Block wie oben beschrieben verzichten kann. Wird "pullup" ausgewählt wird der Eingang im nicht gedrückten Zustand, als HIGH "1" angezeigt.
Wird "pulldown" ausgewählt wird der Eingang im nicht gedrückten Zustand als LOW "0" angezeigt. Die Schaltung bleibt aber in beiden Fällen die gleiche.