Digitale Eingänge

Der auf dem Arduino befindliche AVR von Atmega besitzt 14 bzw. 54 (Mega) GPIO (general purpose Input/Outputs). Dafür kann je nach Verwendungszweck definiert werden ob dieser Anschluss als Ein- oder Ausgang genutzt werden soll. Wenn ein Digitaler Eingang verwendet werden soll, so wird dies im Init Bereich festgelegt.
pinMode(pin, INPUT); // Anschluss als Eingang definieren
Da recht hohe Frequenzen zum Einsatz kommen (8,16 oder 20 MHz) die sich in unmittelbarer Nähe der Eingänge befinden ist es notwendig diese Eingänge mit einem definierten Potential zu versehen. Klassischer Weise wird ein Widerstand verwendet, welcher zum Beispiel auf Masse gelegt wird. Ein so genannter Pull Down Widerstand. Hier die notwendige Beschaltung:

Da dies ein recht häufiger Einsatzfall ist, wurden im AVR hierfür passende interne Pull-up Widerstände (20K) integriert, die sich bei Bedarf aktivieren lassen.

pinMode(pin, INPUT); // Anschluss als Eingang definieren
digitalWrite(pin, HIGH); // Pull Up Widerstand aktivieren

Danach ist nur noch diese Aussenbeschaltung notwendig:

 Es ist jedoch zu beachten, dass der Wirksinn nun umgekehrt ist,

der Eingang hat also im Normalfall TRUE und im betätigten Fall FALSE,

Share