c't 3/2022
S. 154
Praxis
Raspi-GPIO in Python

Auf Tritt

GPIO-Pins des Raspi in Python programmieren

Den Erfolg im Bastel-Business verdankt der Raspberry Pi seinem GPIO-Anschluss. Damit programmieren Sie leicht eine Mini-Lightshow oder fragen einen Buzzer ab und lassen dem Kandidaten ein Licht aufgehen. Mit der richtigen Python-Bibliothek und unserer Anleitung gelingen auch komplexe Aufgaben und der Raspi steuert bei Ihrem nächsten Live-Auftritt Kamera und Mikrofon.

Von Mirko Dölle

Ein Raspberry Pi, eine LED, ein Widerstand und wenige Zeilen Python-Code sind alles, was Sie für eine blinkende Lightshow benötigen. Möglich macht das der 40-polige GPIO-Anschluss (General Purpose Input/Output, universelle Ein-/Ausgabe), an dem Sie ohne großen Aufwand LEDs, aber auch Taster, Schalter, Servomotoren, Sensoren und sogar TFT-Displays anschließen können. Die zugehörige Python-Bibliothek GPIO ist auf Raspberry Pi OS bereits vorinstalliert. Es gibt aber auch Bibliotheken für etliche andere Programmiersprachen. Wir haben uns für Python entschieden, weil die Programmiersprache leicht zu erlernen und dank zahlloser Bibliotheken nahezu grenzenlos erweiterbar ist. Damit sind die Möglichkeiten keineswegs auf triviale Dinge wie eine blinkende LED beschränkt. Mit dem nachfolgenden Beispielprogramm steigen Sie gleich ins Show-Business ein und steuern über einen zweckentfremdeten Gitarrenfußschalter für wenige Euro Kamera, Mikrofon, Aufnahme oder gar den kompletten Live-Stream in OBS Studio Ihres Streaming-Rechners.

Von den 40 Pins des GPIO-Ports stehen Ihnen 28 für Schalt- und Steueraufgaben zur Verfügung, die übrigen sind Masseanschlüsse oder dienen der Spannungsversorgung. Bei letzteren lauert auch gleich die erste Stolperfalle: An den Pins 2 und 4 liegt die Eingangsspannung (Vin) des Raspi von 5 Volt an. Hierüber können Sie die Eingangsspannung des Raspi für eigene Schaltungen abgreifen oder aber den Raspi mit Strom ohne ein zusätzliches Netzteil versorgen – so arbeitet zum Beispiel das PoE-Hat (Power over Ethernet). Die Schaltpins und Eingänge arbeiten jedoch nur mit der Versorgungsspannung 3,3 Volt (VCC), die an den Pins 1 und 17 zur Verfügung steht – bei mehr gehen sie kaputt! Trotz der niedrigen Spannung dürfen Sie eine LED nicht direkt an den GPIO-Pins betreiben, Sie benötigen zusätzlich einen Vorwiderstand zwischen 220 und 470 Ohm, um den Stromfluss zu begrenzen.

Kommentare lesen (1 Beitrag)