I2C-Text-Displayansteuerung mit PCA9555 o.ä.

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • I2C-Text-Displayansteuerung mit PCA9555 o.ä.

      Es gibt ja zur Displayansteuerung die lcd_i2c.lib und die YLcd_i2c.lib. Beide verwenden dabei den PCF8574. Wobei die lcd_i2c.lib das Backlight nicht berücksichtigt, dies also separat geschaltet werden muss.


      Da ja aber in Verbindung mit Displays oft genug auch Taster benötigt werden wäre es ja sinnvoll dies im PCA9555 oder ähnlicher 16-Kanal-Porterweiterung (Port0 für Display einschl. Backlight +Port1 für Tasten und/oder LEDs) zu verbinden statt dafür 2 ICs zu verwenden. Die Ein/Ausgabe von Tastern/LEDs ist ja einfach aber wie müsste eine Lib aussehen, die die Bascom-LCD-Befehle auf den PCA9555, möglichst frei konfigurierbar, umsetzt? Hat das schonmal jemand versucht oder kennt jemand eine derartige Lib?


      Gruß Harald
      Wem ich nicht ausdrücklich widerspreche, der darf das bis auf Widerruf als "Gefällt mir" verstehen.
    • Frei konfigurierbar muss nicht unbedingt sein. Die Anordnung von Ywrobot_LCD_i2c.lib ist in Bezug auf den PCA9555 schon OK, da dort ja alle Ein/Ausgänge auf einer Seite sind. Allerdings müsste doch in der Lib auch noch der Port 0 oder 1 zugewiesen werden. Beim PCF8574 gibt es ja nur einen, da ist das nicht erforderlich.

      Da ich aber von ASM und libs wenig bis keine Ahnung habe brauche ich da ein bisschen mehr Hilfe. Also ich würde natürlich die Variable in Zeile 82 und im Bascomprogramm anpassen, aber was meinst Du mit "Das Command Byte hinzu..."?

      Schon mal Danke

      Harald
      Wem ich nicht ausdrücklich widerspreche, der darf das bis auf Widerruf als "Gefällt mir" verstehen.
    • Die _temp2 müsste nur angepasst werden wenn die Pinbelegung anders wird. Der einfachheit halber nehmen wir mal Port0 mit der selben Belegung. Dann müste nur das i2csend auseinanderklamüsert werden:

      Source Code

      1. oben im Code (vor dem Lcdinit)
      2. i2cstart
      3. i2cwbyte pcf8574_LCD 'Adresse des 9555
      4. i2cwbyte 6 'Command: Config port0
      5. i2cwbyte 0 'alle Output
      6. (i2cwbyte xyz 'benötigtes Config Port1 )
      7. i2cstop
      8. in der lib, anstelle 82
      9. *BASIC: i2cstart
      10. *BASIC: i2cwbyte pcf8574_LCD 'Adresse des 9555
      11. *BASIC: i2cwbyte 2 'Command: Output port0
      12. *BASIC: i2cwbyte _temp2 'von der lib generierte Daten
      13. *BASIC: i2cstop
      Display All
      PS Unbedingt die lib umbenennen. (Sie wird dann nicht mehr mit dem 8574 arbeiten)
    • Hallo Plut,

      erstmal Danke.

      Werde ich ausprobieren. Wär Klasse wenn das so ginge. Natürlich melde ich mich danach. Kann jetzt aber erstmal 2-3 Tage dauern, habe gerade mit anderem zu tun.
      Wem ich nicht ausdrücklich widerspreche, der darf das bis auf Widerruf als "Gefällt mir" verstehen.