S5: immer noch im Betrieb


Google-Suche auf MEINE-SCHALTUNG.de :





Dauerkalender


Raspi (3B) und der I2C-Bus

I2C - Schnittstelle aktivieren

Eine sehr interessante Alternative, die es ermöglicht, mit externen Geräten zu kommunizieren, bietet die I2C-Schnittstelle an. I2C steht für Inter-Integrated Circuit. Der I2C-Bus wurde 1982 von Philips entwickelt und wird überwiegend für interne Kommunikation zwischen diversen Chips und Schaltungsteilen verwendet. An einen I2C-Bus können mehrere Geräte angeschlossen werden. Bei dieser Kommunikation müssen lediglich zwei Pins der GPIO-Pinleiste von Raspberry Pi geopfert werden. Die Anschlüsse, die hier verwendet werden, sind Pin 3 (SDA / Datenleitung) und Pin 5 (SCL / Taktleitung). Grundsätzlich stellt Raspberry Pi zwei i2c-Schnittstellen, die aktiviert werden können, zur Verfügung. Kanal 0 (I2C0) und Kanal 1 (I2C1). Kanal 0, erreichbar über die Pins 27 und 28, wird meist für andere Zwecke (EEproms) verwendet.

Raspi

Raspberry Pi 3B

Der I2C-Bus ist standardgemäß bei Raspberry Pi deaktiviert und muss zunächst aktiviert werden. Dazu wird mit dem Befehl

sudo raspi-config

das Konfigurationsfenster aufgerufen. In dem Menü navigiert man zu dem Punkt 5 (Interfacing Options). Anschließend wählt man in dem darauffolgenden Menü den Punkt P5 (I2C) und bestätigt die Einstellung.

Interfacing Options

5 - Interfacing Options

I2C

P5 - I2C

Damit ist I2C-Bus aktiviert.
Im Hintergrund werden von dem System bestimmte Eintragungen erzeugt. Man kann sie prüfen und ggf. manuell ergänzen. Mit

sudo nano /boot/config.txt

wird die Konfigurationsdatei aufgerufen. Hier muss folgende Zeile eingetragen werden:

dtparam=i2c_arm=on

Mit Strg+O und Strg+X wird die Einstellung gespeichert und die Datei geschlossen. Mit

Sudo nano /etc/modules

wird eine weitere Datei geöffnet. Die notwendige Einstellung in der Datei lautet:

i2c-dev

Auch dieser Eintrag wird mit Srtg+O gespeichert.
Die Einstellungen werden mit

sudo reboot

wirksam.

I2C - Bus testen

Bevor wir die Schnittstelle testen und später im Programm anwenden können, muss eine passende Test-Schaltung aufgebaut werden. Es wird an den I2C-Bus ein beliebiges Gerät, das über I2C-Bus kommunizieren kann, angeschlossen. An dem Raspberry Pi werden dafür die Pins 3 (SDA) und 5 (SCL) verwendet. In dem Beispiel wird ein 2x16 LCD-Display mit einer I2C-Interface angeschlossen. Da das Display mit 5 V arbeitet, Raspberry Pi mit nur 3,3V kommt zusätzlich ein Level Converter ins Spiel, der zwischen den beiden Partnern angeschlossen wird. Die Testschaltung sieht dann wie folgt aus:

I2C-Testschaltung

I2C-Testschaltung

Nachdem die Testschaltung aufgebaut wurde, kann das Testprogramm installiert werden. Mit

Sudo apt-get install i2c-tools

wird das Testprogramm i2c-tools installiert. Mit

i2cdetect –y 1

wird überprüft, ob i2C-fähige-Geräte am Bus angeschlossen sind. In diesem Fall sieht das Ergebnis wie folgt aus:

I2C-Test

I2C-Test mit i2c-tools

Die Ziffer “1“ am Ende des Befehls bezieht sich auf die Nummer des Busses. In diesem Fall Bus Nr. 1. In dem Fenster kann man erkennen, dass am Bus ein Gerät mit der Adresse 27 angeschlossen ist. Bleibt die Tabelle leer, muss die Schaltung überprüft werden.


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz