Raspi: Wie Sie mit Python I2C-Komponenten ansteuern

Am Beispiel eines Projekts erklären wir, wie Sie verschiedene Komponente über einen I2C-Bus kommunizieren lassen, ohne problematische Bibliotheken einzusetzen.

Lesezeit: 16 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 5 Beiträge
dddd, Moritz Reichartz

dddd

(Bild: Moritz Reichartz)

Von
  • Mirko Dölle
Inhaltsverzeichnis

Die zahlreichen Python-Bibliotheken für die verschiedensten Experimentierplatinen und Elektronikkomponenten machen es leicht, auf dem Raspberry Pi in die Hardware-Programmierung einzusteigen. Damit genügen wenige Zeilen Code, um den Servo eines Roboterarms zu bewegen oder ein Display anzusteuern. Doch die Bibliotheken unterschiedlicher Anbieter oder Entwickler sind meist nicht aufeinander abgestimmt und kommen sich ins Gehege, wenn man sie in einem Python-Projekt gemeinsam einsetzen möchte.

Besonders häufig kommen solche Probleme bei Komponenten mit I2C-Bus (Inter-Integrated Circuit) zum Tragen. Die Auswahl an Sensoren, Treibern und Displays hierfür ist besonders groß und zumeist werden die verschiedenen Module gleichzeitig betrieben.

Der I2C-Bus wurde für die Kommunikation verschiedener Elektronikkomponenten innerhalb eines Geräts entwickelt und kommt mit nur zwei Leitungen aus: der Datenleitung, meist SDA genannt, und der Taktleitung SCL oder SCK. Der ebenfalls notwendige Masseanschluss wird üblicherweise nicht gezählt, weil alle Chips ohnehin eine Masseleitung besitzen. Unterm Strich benötigt man also trotzdem mindestens drei Kabel, um eine Komponente per I2C-Bus anzuschließen.

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, MIT Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich ab 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+