Der I2C Bus ist sehr gut geeignet verschiedene Sensoren oder Boards wie einen Servo Kontroller am Raspberry Pi anzuschleißen. Ich selber verwende den I2C Bus sehr gerne in meinen Projekten da er zuverlässig funktioniert und ich ein breites Angebot an Elektronik in vielen online Shops verfügbar ist. Ich selber setze Sensoren und Kontroller im 5V und 3,3V Bereich ein. Da der Raspberry Pi an seinen GPIO Pins und somit auch im I2C Bus 3,3V an den Pins SDA und SCL verlangt musst Du darauf achten, dass nicht ausversehen 5,0V an den Pins des Raspberry Pi anliegen. Es gibt hier extra I2C Level-Shifter die hier zwischen den 3,3V des Raspberry Pi und z. B. den 5,0V eines Sensor einen Pegelangleich vornehmen.

Einen passenden Level Shifter für den Bus gibt es  z. B. von Adafruit den ich selber sehr häufig einsetze.

Loading ...

Im folgenden Abschnitt geht es dann um die Einstellungen und um die Software die Du unter Raspbian installieren musst um den Bus einwandfrei nutzen zu können

Raspberry Pi – Software Installation

Damit Du den I2C Bus am Raspberry Pi verwenden kannst musst Du diesen erst einmal im Betriebssystem Raspbian aktivieren. Dazu gehst Du einfach in das Raspberry Pi eigene Konfigurationsmenü und setzt den entsprechenden Radio Button wie im folgenden Bild zu sehen ist auf “Aktiviert”.

Raspberry Pi Konfiguration

Raspberry Pi Konfiguration

Bist Du via SSH angemelt muss Du den folgenden Befehl eingeben.

  • sudo raspi-config

Anschließend startest Du den Raspberry Pi neu. Ab jetzt ist der I2C immer aktiv und kann schon fast verwendet werden. Damit Du den Bus ansprechen kannst muss unter Raspbian noch etwas Software installiert werden. Das erkläre ich euch im nachfolgenden Abschnitt wie genau das funktioniert.

I2C Bus Software installieren

In einem nächsten Schritt installierst Du noch die Software die notwendig ist um den I2C Bus unter Raspbian nutzen zu können. Dazu führst Du einfach die beiden folgenden Befehle aus.

  • sudo apt-get install python-smbus
  • sudo apt-get install i2c-tools

Jetzt kannst Du mit dem folgenden Befehl überprüfen ob I2C Geräte auf dem Bus vorhanden sind. Du solltest wenn Du einen PCA9685 Servo Kontroller anschlossen hast diesen jetzt mit seiner Adresse sehen. Bei mir hat dieser die Adresse “70”.

  • sudo i2cdetect -y 1

Bei mir sieht die Anzeige jetzt wie im folgenden Bild gezeigt im Terminal Fenster aus.

i2c detect

i2c detect

Zusammenfassung

Der I2C Bus ist perfekt um z. B. viele Sensoren die an einem Roboter angebracht sind ansteuern zu können ohne sich im Chaos von vielen Kabeln zu verlieren. Das Angebot an Boards, Sensoren oder auch LED Anzeigen ist groß. Ich habe den PCA9685 Servo Kontroller über den Bus angeschlossen und kann bis zu 16 Servo Motoren steuern. Es ist immer nur wichtig darauf zu achten, dass man auf der Raspberry Pi Seite nur mit Spannungen von 3,3V arbeitet. Denn viele der Sensoren und Platinen arbeiten mit 5V und eine zu hohe Spannung kann den Raspberry Pi beschädigen.

(Visited 3.811 times, 1 visits today)