Gpio Erweiterung pcf8574t

  • Hallo zusammen,

    Ich versuche gerade über I2C mittels PCF8574T ein Keypad an der Raspberry Pi anzuschließen.
    Hierfür verwende ich die „PCF8574GpioExample“ von PI4J. Diese habe ich entsprechend angepasst.

    Es werden 3 Input und 4 Output deklariert.
    Die Outputs werden auf LOW gesetzt. Die Inputs sind defaultmässig auf High.
    Angeschlossen wird ein 4x3 Keypad

    Nun zum Problem:

    Sobald ich auf dem Keypad eine Taste drücke, dann wird der Input auf LOW gezogen. Jedoch bleibt er dann auch auf LOW, auch wenn die Taste nicht mehr gedrückt wird.
    Somit kann ich keine weitere Tasten auf dem Keypad drücken.
    Ich habe es auch ohne Keypad versucht. Den Input Pin auf GND geschlossen. Aber auch hier, bleibt der Zustand auf LOW, wenn der Eingang vom GND getrennt wird.
    Versucht wurde es mit widerstände und ohne. Beides brachte kein Erfolg.

    Ich bedanke mich im Voraus für die Unterstützung.

    Grüße Francesco

  • Hallo Francesco,

    willkommen im Forum. :bravo2:

    Ich könnte mir vorstellen, dass das ein "normales" Verhalten dieser "quasi-bidirectional" GPIOs.

    Wenn ich in Datenblatt das Verhalten des INPUT High lese, dann wird hier von einem PullUp oder externen Signal geschrieben - es wird nichts davon geschrieben, dass die 100uA Stromquelle genügt um den High-Pegel zu definieren.

    Du solltest also einen PullUp verwenden - ich empfehle 10KOhm als Richtwert - Dein Keypad sollte mit den sich ergebenden ca. 0,3mA auch klar kommen...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Hallo VeryPrivat,

    danke für die Antwort. Ich heute morgen festgestellt, dass das Problem nur besteht, wenn ich am PCF8574 Ein- als auch Ausgänge provisioniere. Wenn alle Pin als Eingang provisioniert werden, besteht das Problem nicht mehr. Sobald ein Eingang als Output deklariert wird, kommt das Problem erneut zum Vorschein. Der Output Pin wird nur als solches deklariert, aber nicht verwendet.

    Das ist ein sehr komisches Verhalten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!