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.
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.
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?
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