Eine Tour durch den Raspberry Pi GPIO

Was jeder GPIO-Pin-Typ bewirkt

Eine Einführung in die Himbeer-Pins

Der Raspberry Pi GPIO.

Richard Saville

Der Begriff 'GPIO' (General Purpose Input Output) ist nicht nur für den Raspberry Pi gültig. Eingangs- und Ausgangspins sind auf den meisten Mikrocontrollern wie Arduino, Beaglebone und anderen zu finden.

Wenn wir mit dem Raspberry Pi über GPIO sprechen, beziehen wir uns auf den langen Pinblock in der oberen linken Ecke des Boards. Ältere Modelle hatten 26 Pins, die meisten von uns werden jedoch ein aktuelles Modell mit 40 Pins verwenden.

Sie können Komponenten und andere Hardwaregeräte an diese Pins anschließen und mithilfe von Code steuern, was sie tun. Es ist ein wichtiger Bestandteil des Raspberry Pi und eine hervorragende Möglichkeit, etwas über Elektronik zu lernen.

Nach ein paar Softwareprojekten werden Sie wahrscheinlich mit diesen Pins experimentieren und darauf aus sein, Ihren Code mit Hardware zu mischen, um Dinge im "echten Leben" geschehen zu lassen.

Dieser Vorgang kann einschüchternd sein, wenn Sie neu in der Szene sind. Wenn Sie bedenken, dass eine falsche Bewegung Ihrem Raspberry Pi Schaden zufügen kann, ist es verständlich, dass Anfänger sich in diesem Bereich aufhalten müssen.

In diesem Artikel werden die Funktionen der einzelnen GPIO-Pins und ihre Einschränkungen erläutert.

Der GPIO

Die GPIO-Pins sind von 1 bis 40 nummeriert und können unter verschiedenen Funktionen gruppiert werden. Richard Saville

Schauen wir uns zunächst den gesamten GPIO an. Die Stifte sehen zwar gleich aus, haben jedoch alle unterschiedliche Funktionen. Das obige Bild zeigt diese Funktionen in verschiedenen Farben, die wir in den folgenden Schritten erklären werden.

Jeder Pin ist von 1 bis 40 nummeriert, beginnend links unten. Dies sind die physischen PIN-Nummern. Es gibt jedoch auch Nummerierungs- / Beschriftungskonventionen wie 'BCM', die beim Schreiben von Code verwendet werden.

Macht und Boden

Der Raspberry Pi bietet mehrere Power- und Ground-Pins. Richard Saville

Rot hervorgehoben sind die mit '3' oder '5' gekennzeichneten Stromanschlüsse für 3,3 V oder 5 V.

Mit diesen Pins können Sie direkt Strom an ein Gerät senden, ohne dass ein Code erforderlich ist. Es gibt auch keine Möglichkeit, diese auszuschalten.

Es gibt 2 Stromschienen - 3,3 Volt und 5 Volt. Die 3,3-V-Schiene ist auf eine Stromaufnahme von 50 mA begrenzt, während die 5-V-Schiene die verbleibende Stromkapazität Ihres Netzteils liefern kann, nachdem der Pi das aufgenommen hat, was er benötigt.

Braun hervorgehoben sind die Erdungsstifte (GND). Diese Pins sind genau das, was sie sagen - Erdungspins -, die ein wesentlicher Bestandteil jedes Elektronikprojekts sind.

(5-V-GPIO-Pins sind physikalische Nummern 2 und 4. 3.3-V-GPIO-Pins sind physikalische Nummern 1 und 17. Masse-GPIO-Pins sind physikalische Nummern 6, 9, 14, 20, 25, 30, 34 und 39)

Eingangs- / Ausgangs-Pins

Über die Eingangs- und Ausgangsanschlüsse können Sie Hardware wie Sensoren und Schalter anschließen. Richard Saville

Die grünen Pins sind generische Eingangs- / Ausgangs-Pins. Diese können problemlos als Ein- oder Ausgänge verwendet werden, ohne dass Sie sich Gedanken darüber machen müssen, ob Sie mit anderen Funktionen wie I2C, SPI oder UART in Konflikt geraten.

Dies sind die Pins, die Strom an eine LED, einen Summer oder andere Komponenten senden oder als Eingang zum Lesen von Sensoren, Schaltern oder anderen Eingabegeräten verwendet werden können.

Die Ausgangsleistung dieser Pins beträgt 3,3V. Jeder Pin sollte einen Strom von 16 mA nicht überschreiten, weder Sink- noch Sourcing-Strom, und der gesamte Satz von GPIO-Pins sollte zu keinem Zeitpunkt mehr als 50 mA überschreiten. Dies kann einschränkend sein, sodass Sie in bestimmten Projekten möglicherweise kreativ werden müssen.

(Generische GPIO-Pins sind physikalische Nummern 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 und 40)

I2C Stifte

Mit I2C können Sie andere Geräte mit nur wenigen Pins an Ihren Pi anschließen. Richard Saville

In gelb haben wir die I2C-Pins. I2C ist ein Kommunikationsprotokoll, mit dem Geräte einfach mit dem Raspberry Pi kommunizieren können. Diese Pins können auch als "generische" GPIO-Pins verwendet werden.

Ein gutes Beispiel für die Verwendung von I2C ist der sehr beliebte MCP23017-Port-Expander-Chip, mit dem Sie über dieses I2C-Protokoll mehr Eingangs- / Ausgangspins erhalten.

(I2C GPIO-Pins sind physikalische Pin-Nummern 3 und 5)

UART-Pins (seriell)

Verbinden Sie Ihren Pi über eine serielle Verbindung mit den UART-Pins. Richard Saville

In grau sind die UART-Pins. Diese Pins sind ein weiteres Kommunikationsprotokoll, das serielle Verbindungen bietet und auch als "generische" GPIO-Ein- / Ausgänge verwendet werden kann.

Eine Verwendung für UART besteht darin, eine serielle Verbindung von einem Pi zu einem Laptop über USB zu ermöglichen. Dies kann mithilfe von Zusatzplatinen oder einfachen Kabeln erreicht werden, ohne dass ein Bildschirm oder eine Internetverbindung für den Zugriff auf Ihren Pi erforderlich ist.

(UART GPIO-Pins sind physische Pins mit den Nummern 8 und 10)

SPI-Stifte

Die SPI-Pins - ein weiteres nützliches Kommunikationsprotokoll. Richard Saville

In pink haben wir die SPI-Pins. SPI ist ein Schnittstellenbus, der Daten zwischen dem Pi und anderen Hardware- / Peripheriegeräten sendet. Es wird häufig zum Verketten von Geräten wie einer LED-Matrix oder einem Display verwendet.

Wie andere können diese Pins auch als "generische" GPIO-Ein- / Ausgänge verwendet werden.

(SPI-GPIO-Pins sind physikalische Pin-Nummern 19, 21, 23, 24 und 26)

DNC-Stifte

Hier gibt es nichts zu sehen - die DNC-Pins haben keine Funktion. Richard Saville

Zuletzt gibt es zwei blaue Pins, die derzeit als DNC (Do Not Connect) gekennzeichnet sind. Dies kann sich in Zukunft ändern, wenn die Raspberry Pi Foundation die Boards / Software ändert.

(DNC GPIO-Pins sind die physischen Pin-Nummern 27 und 28)

GPIO-Nummerierungskonventionen

Der Portsplus ist ein praktisches Tool zum Überprüfen der GPIO-Pin-Nummern. Richard Saville

Beim Codieren mit dem GPIO haben Sie die Wahl, die GPIO-Bibliothek auf zwei Arten zu importieren - BCM oder BOARD .

Die erste Option ist GPIO BCM . Dies ist die Broadcom-Nummerierungskonvention, die in Projekten und Hardware-Add-Ons häufiger verwendet wird.

Die zweite Option ist GPIO BOARD . Diese Methode verwendet stattdessen die physischen Pin-Nummern. Dies ist praktisch, wenn Sie Pins zählen. In Projektbeispielen wird dies jedoch seltener verwendet.

Der GPIO-Modus wird beim Importieren der GPIO-Bibliothek festgelegt:

So importieren Sie als BCM:

So importieren Sie als BOARD:

Diese beiden Methoden erledigen genau den gleichen Job, es ist nur eine Frage der Nummerierungspräferenz.

Sie können handliche GPIO-Beschriftungskarten wie den RasPiO Portsplus (Abbildung) verwenden, um zu überprüfen, welche Pins ich auch an die Drähte anschließe. Eine Seite zeigt die BCM-Nummerierungskonvention, die andere zeigt BOARD - so sind Sie für jedes Projekt, das Sie finden, abgesichert.