Schlaufuchs Logo

GPIO-Pins des Arduino

Anschlüsse eines Mikrocontrollers

Mikrocontroller pinout

Pinout eines Mikrocontrollers

Für den Betrieb eines Mikrocontrollers genügen wenige externe Bauteile. Die Pins ("Anschluss-Beinchen") sorgen für den elektrischen Anschluss an die Außenwelt. An den Pins werden externe Ein- und Ausgangssignale, aber auch die Versorgungsspannung für den µC angeschlossen. Die Pins werden nach unterschiedlichen Kriterien unterschieden:

  • I/O-Pins
    • Eingangs-Pins
    • Ausgangs-Pins
  • Analoge Pins
  • Digitale Pins
  • Pins für externe Taktsignale
  • Pins für die Versorgungsspannung
  • Pins, die an Masse liegen.

Häufig haben die Pins eines Mikrocontrollers mehrere Funktionen. Die konkrete Funktion solcher GPIO-Pins ("General Purpose Input Output"-Pins) kann durch die Programmierung des Mikrocontrollers frei definiert werden.

Programmierung der GPIO-Pins

Wenn der Arduino mit der Außenwelt kommunizieren soll, geschieht dies mit Hilfe der GPIO-Pins.
Dafür müssen diese korrekt programmiert werden, d.h. die Funktionalität der GPIO-Pins muss als erstes festgelegt werden.
Dies geschieht im Setup-Teil des Arduino-Sketches mit dem Befehl pinMode().

Als OUTPUT programmierte GPIO-Pins dürfen niemals direkt mit Masse verbunden werden. In diesen Fall können sehr hohe Ströme fließen, wenn der OUTPUT-Pin auf HIGH gesetzt wird. Dies kann augenblicklich zur Zerstörung des Mikrocontrollers führen.

Die Arduino Ausgänge dürfen mit einer Stromstärke von maximal 40 mA belastet werden. Zu hohe Ausgangsströme durch zu geringe Lastwiderstände oder Kurzschlüsse können den Mikrocontroller augenblicklich zerstören!

Die Arduino Eingänge dürfen mit einer Spannung von 0 bis 3,3 V bzw. 5 V beaufschlagt werden. Zu hohe oder zu niedrige (negative) Spannungen können den Eingangspin oder den Mikrocontroller augenblicklich zerstören!

Funktionalität der GPIO-Pins

Bereits aus dem Namen GPIO-Pin lässt sich schließen, dass es sich um einen multifunktionalen Anschluss handelt. Man unterscheidet zwischen Eingangs- und Ausgangs-Pins für analoge oder digitale Signale.

Ausgangs-Pins

An einem Ausgangs-Pin lassen sich Signale für die Kommunikation mit der Außenwelt ausgeben oder externe Bauteile betreiben, allerdings immer innerhalb der durch die Hardware vorgegebenen Grenzen.

Digitale Ausgangs-Pins

An einem digitalen Ausgangspin (siehe pinMode(pin, OUTPUT)) kann ein HIGH- oder LOW-Pegel ausgegeben werden.

Dabei entspricht der HIGH-Pegel ungefähr der Betriebsspannung des Arduinos (üblicherweise 5 V).
Der LOW-Pegel entspricht ungefähr 0 V.

Ein Ausgangspin eines Arduinos sollte nicht mit mehr als 20 mA belastet werden. Dies genügt, um eine LED zu betreiben. Es genügt jedoch bei weitem nicht, um z.B. einen Elektromotor oder eine Glühbirne zu betreiben. Für solche Anwendungsfälle müssen passende Treiberstufen zwischengeschaltet werden.

Besondere Vorsicht ist bei induktiven Lasten geboten. Spannungsspitzen beim Abschalten können den Mikrocontroller schnell zerstören.

PWM-Ausgangs-Pins

An einigen Pins des Arduino-Boards kann ein PWM-Signal ausgegeben werden.
Die Grundfrequenz des PWM-Signals liegt bei ca. 500 Hz bzw. bei ca. 1000 Hz.

Diese Pins werden fälschlicherweise auch als analoge Ausgangspins bezeichnet.

Diese Pins werden mit dem Befehl analogWrite() angesprochen. Dies funktioniert nur an den Pins, die als PWM-Pin mit einer Tilde ~ gekennzeichnet sind.
Auf dem Arduino Uno-Board sind das die Pins 3, 5, 6, 9, 10, 11.
Es ist zu beachten, dass der Tastgrad am Pin 5 und Pin 6 leicht variieren kann.