Nummerrierung / Namensschemas der GPIO Pins

Die Nummerierung der GPIOs ist sehr unschön geraten und kann verwirrend sein, auch ich muss in diversen Beiträgen immer wieder prüfen um welche Angabe es sich handelt. Ich persönlich beziehe mich meistens auf die physikalische Nummerierung der Pins da dies für mich die logischste Variante ist. Die physikalische Nummern sind auch unter allen RasPi Varianten kompatibel.

Folgende Nummerierungen oder Zuordnungen gibt es


- Physikalische Nummerierung Das ist die physikalische Nummerierung der einzelnen GPIO Pins, hierbei ist Pin 1 der Pin mit dem quadratischen Lötpad auf der Rückseite des Pi. Der Pin 2 ist der direkt darüber bzw darunter liegende Pin (kommt darauf an ob ihr von oben oder unten auf das Board schaut). Der Pin 3 ist der direkt links/rechts neben Pin 1 liegende, der Pin 4 über bzw unter Pin 3 usw. usw.

- Die BCM oder GPIO Nummerierung
Das ist die interne Nummerierung der GPIOs so wie sie am internen Broadcom Chip des Raspberry Pi nummeriert sind. Meistens taucht die Schreibweise "GPIOxx" oder "BCMxx" auf. Die Nummerierung unterliegt keiner Logik und ist daher am schwersten zu verstenen. Die meisten Programme arbeiten allerdings im Standard mit diesen Nummern, beim Verkabeln der GPIOs müssst ihr daher immer auf die richtige Zuordnung der BCM oder GPIO Nummer zur physikalische Pin Nummer achten.

- Funktionsname
Oftmals sind die speziellen Pins auch nur mit deren Funktion bezeichnet, also zum beispiel haben die beiden speziellen I2C Pins den Namen "SDA" und "SCL" entsprechend ihrer Funktion.

- WiringPi Nummer
Diese Nummer bezieht sich auf die durch die Software WiringPi verwendeten Pin Nummerierung, ist mittlerweile aber ehr weniger gebräuchlich.

Beispiel für den physikalische Pin 3:

- Der physikalische Pin ist Pin 3
- Funktionsname ist SDA
- Die BCM Nummer ist BCM0
- WiringPI Pin ist Pin 8