Dieser Blog-Beitrag beschreibt die I/O-Pins des Dev Board Mini. Das Board bietet über die 40-polige Erweiterungsleiste Zugang zu mehreren Peripherieschnittstellen wie GPIO, I2C, UART, PWM und SPI. Nähere Informationen dazu liefert der Kasten „Schnittstellen kurz erklärt“. GPIO steht dabei für General-Purpose Input/Output.
Die Pins sind nicht gleichwertig, sondern haben ganz unterschiedliche Funktionen. Sie lassen sich etwa mit Python und speziellen Bibliotheken programmieren. Neben den programmierbaren Pins gibt es noch mehrere „Ground“-Pins, also Masseanschluss-Pins, und die Pins zur Spannungsversorgung mit 3,3 oder 5 Volt.
|
Über Mendel Linux, das auf dem Dev Board läuft, kannst du mit den Pins interagieren. Vielleicht kennst du die GPIO-Leiste auf dem Raspberry Pi. Das Pin-Layout auf dem Dev Board Mini ist zwar ähnlich, aber dennoch ein anderes. Die Lage der Ground- und Stromversorgungspins sind gleich, aber die vor allem die internen Nummern der GPIO-Pins unterscheiden sich.
Programme und Peripherie für den Raspberry Pi werden in der Regel mit dem Coral-Board nicht funktionieren. Eine Ausnahme stellt das Environmental Sensor Board dar. Es funktioniert auf beiden Systemen. Auch die GPIO-Leiste des größeren Coral Dev Board Mini unterscheidet sich in einigen Details von der des kleinen Bruders.
Pinbelegung der Leiste
Die GPIO-Leiste ist die Verbindung des Dev Board Mini mit der äußeren Welt. Hier lassen sich Sensoren anschließen und auslesen oder Komponenten und Devices steuern. Die Bilder auf dieser Seite zeigen die genaue Pinbelegung des Dev Board Mini. Pin 1 ist derjenige, der dem Display-Anschluss am nächsten liegt. Die Farben markieren die jeweiligen Schnittstellen und Funktionen. Du kannst die Belegung auch in Textform sehen, indem du pinout im Shell-Terminal des Boards eintippst.
Hier sind die Funktionen und Schnittstellen der Pins auf der Erweiterungsleiste im Detail dargestellt.
Hier zum Vergleich die Belegung der Pins auf einem Raspberry Pi und deren interne Nummerierung.
Achte beim Umgang mit den GPIO-Pins darauf, elektrostatische Entladungen oder Kontakt mit leitenden Materialien zu vermeiden. Eine unsachgemäße Handhabung der Platine kann zu einem Kurzschluss führen und das Board beschädigen.
Im nächsten Blog-Beitrag lernst du einige Programmier-Beispiele mit den Libraries python-periphery kennen.
Schnittstellen kurz erklärtGPIO: Die GPIO-Pins lassen sich als Eingang oder Ausgang programmieren und so für vielfältige Erweiterungen und elektronische Schaltungen nutzen. Es handelt sich um die Pins 7, 11-13, 16, 18, 22, 26, 35-38 und 40. PWM: Das steht für Pulsweitenmodulation oder Englisch pulse width modulation. In digitalen Schaltungen gibt es meist nur zwei Pegel – 3.3 Volt oder 0 Volt. Somit ist es nicht möglich, eine Spannung dazwischen zu generieren. Eine LED ist dann entweder an oder aus. Um eine LED zu dimmen, schaltet man sie schnell ein und aus und passt mit PWM das Verhältnis zwischen den An- und Ausphasen entsprechend an. Die PWM-Pins sind 15, 32 und 33. I2C: Inter Integrated Circuit oder I2C ist ein serieller Master-Slave-Datenbus, der für die Kommunikation über kurze Distanzen konzipiert wurde. Die Datenübertragung erfolgt synchron über zwei Leitungen, eine Datenleitung (Serial Data, SDA) und eine Taktleitung (Serial Clock, SCL). Pins: 3, 5, 27 und 28. An einem Bus können mehrere Slave-Geräte wie zum Beispiel Sensoren angeschlossen sein. UART: Das ist eine serielle Schnittstelle, wobei die Datenübertragung asynchron erfolgt. Das Kürzel steht für Universal Asynchronous Receiver/Transmitter. Für die Kommunikation sind nur zwei Datenleitungen notwendig. Eine zum Senden von Daten (TX, Transmit) und die zweite zum Empfangen von Daten (RX, Receive). Die Pins auf dem Board sind 8, 10, 29 und 31. Bei UART gibt es nur zwei Kommunikationspartner. SPI: Der SPI-Bus (Serial Peripheral Interface) ist weit verbreitet und arbeitet nach dem Master-Slave-Prinzip. Über die SPI-Schnittstelle lassen sich Daten synchron seriell ausgegeben und gleichzeitig einlesen. Es können beliebig viele Daten in einem kontinuierlichen Strom fließen. Bei I2C und UART hingegen werden Daten in Paketen gesendet, die auf eine bestimmte Anzahl von Bits begrenzt sind. Die SPI-Pins sind 19, 21, 23 und 24. An einen SPI Port lassen sich mehrere Geräte anschließen, dabei wird pro Gerät ein Chip Select Pin benötigt. |