I2C-Baugruppen mit Python und TkInter am Raspberry-PI

in diesen Blogbeiträgen zeigen wir die Ansteuerung unserer I2C-Baugruppen mit Phyton 3 und TkInter

Beispielprogramme

 

Testumgebung

Als Testumgebung verwenden wir einen Raspberry Pi 2 B mit einem Touch-Display und unserem I2C-Schulungsrack.

Testumgebung mit Raspberry-Pi, Touchscreen und I2C-Baugruppen

Testumgebung mit Raspberry-Pi, Touchscreen und I2C-Baugruppen

 

 

I2C-Repeater für Raspberry-PI

Auf der Rückseite sieht man den I2C-Repeater aufgesteckt.

Touchdisplay mit Raspberry-PI und aufgestecktem I2C-Repeater

Touchdisplay mit Raspberry-PI und aufgestecktem I2C-Repeater

 

 

 

 

Speichere in deinen Favoriten diesen permalink.

2 Kommentare

  1. Hallo Herr Horter,
    ich habe zwei ihrer analogen Eingabe- und eine Ausgabekarte mit dem Raspberry in Betrieb. Zwei Probleme tun sich dabei auf:
    1. i2c detect gibt jedes mal ein andres Ergebnis aus. Manchmal sind die Karten dabei, manchmal nicht und manchmal erscheinen Adressen, die gar nicht belegt sind.
    2. wahrscheinlich aus erstens resultierend: Ihr Beispielprogramm mit Python in Tkinter liefert beim Schreibbefehl einen „ioerror errno 5 input/output error“ ab. Verständlich, wenn die Karte nicht gefunden wird.
    Woran kann das liegen?
    Die Karten sind ohne Repeater direkt mit dem I2C-Bus des Raspberry verbunden, Versorgung läuft getrennt. An der Ausgangskarte leigen 24V als Hilfsspannung an und einen Verkabelungsfehler habe ich (eigentlich) ausgeschlossen.
    Vielen Dank soweit schon einmal
    S. Ehrismann

    • Hallo Herr Ehrismann,
      die Frage haben Sie mit dem Satz „Die Karten sind ohne Repeater direkt mit dem I2C-Bus des Raspberry verbunden“ schon beantwortet.
      Die 3,3V Pagel der Raspberry GPIO-Pins sind für den 5V I2C-Bus zu klein. Damit kommt es bei manchen Slaves zu solchen Erscheinungen.
      Verwenden Sie unseren Repeater und die Probleme sind weg.
      Beste Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert