Pokeys I2C Befehle?

Hallo,
ich möchte an den Pokeys 56 einen MCP23017 (16bit Input-Outport Port Expander) über I2C anschließen.
Die Pokeys-Software PoBlock stellt hierfür den Baustein „I2C R/W“ zur Verfügung. Als erstes möhte ich einen Ausgang setzen:

Dafür muss ich laut Datenblatt die I2C Bausteinadresse (Hex20) auswählen. Dafür gibt es in der Pokey Software einen Pin am Baustein.
Nun müssen die Ausgänge am IC konfiguriert werden: 0x20 0x00 0x00
Dann kann der Ausgang gesetzt werden: 0x20 0x14 0x01
Oder ausgeschaltet werden: 0x20 0x14 0x00

Wenn ich diese Hexbefehle in der Pokeysoftware von hand eintrage funktioniert es.
Pokey_I2C.JPG

Wie muss ich das in PoBlocks machen?

Vielen Dank

Ungetestet ein Bild, man muß an die Pin’s aber Dezimalwerte eintragen (an den Pin klicken, mit rechter Maus Werte ändern)

Versuch’ mal mit Timerwert 200, weiß nicht welcher Wert gut ist

Dann mal den Ausgang messen oder noch 'ne Leseanfrage anhängen, also Writepins erhöhen und entsprechend an den Write-Pins eintragen

Gruß Helmut

Danke Helmut,
der Tipp mit den Dezimalwerten wars…
(steht das irgendwo in der Doku?)

Clock für den Baustein habe ich 100ms ausgewählt.
wichtig ist noch, dass der MCP23017 parametriert werden muss(Eingänge, Ausgänge, Pullup…) und dass nach jedem Spannungsausfall!!!

Hier mal ein Bild um den Ausgang zu schalten.
links wird der port „IODIRA“ als Ausgangs gesetzt - alle 8 Bits

auf der rechten Seite sende ich den schreibbefehl dezimal 20 -> Write 1. Bei Write 2 wird das Byte für alle 8 Pins übergeben. Damit der Ausgang blinkt, habe ich mit „Clock“ einen Blinktakt angehängt.

Teil 2 ist das Auslesen der Eingänge:
natürlich erst den Baustein als Ausgang parametrieren. Habe wider „IODIRA“ benutzt.

Dann möchte ich die internen Pullups aktiviren (GPPUA) leider klappt es bei mir noch nicht.

Rechts werden die Eingänge eingelesen (Register GPIOA)

Gruß, Tobias

Das freut mich, dass Du es hinbekommen hast.

Meiner Erfahrung nach sind es immer Dezimalwerte an solchen Bausteinen in PoBlock.

Du kannst auch die Parametrierung und das Setzen in einem I2C-Baustein machen, einfach die Write-Pin-Anzahl entsprechend erhöhen

Wenn ich Zeit finde poste ich auf meiner Wordpress Seite Beispiele mit 1Wire-Bausteinen unter PoBlock, zwar mehr für Loxone-User, weil dessen „1Wire-Extenschen“ so viele Euronen kosten.

Aber Deine Arbeit ist auch super, hast Du nicht Lust dort Dein Beispiel zu veröffentlichen?

Machst Du auch entsprechende Hardware?

Gruß Helmut

Klar kann ich das auf deiner Seite veröffentlichen, aber erst wenn es zuverlässig läuft…
Leider passieren Fehler, da die 3 Bausteine ja zeitgleich senden. wenn ich Timer dazwischen setze ist alles gut.

Wie meinst du das mit „alles in einem Baustein“ machen?
so geht es bei mir nicht:

An den linken Eingängen, die Write-Eingänge Parametrierung und Abfragen nacheinander anheften, meine ich
Im Moment habe ich 0 Zeit, sonst würde ich’s mal nachmachen
Gruß Helmut