Probleme MCP23017 als Input

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich benötige am Pi viele Schalter (32). Nach einiger Recherche in Foren bin ich auf den MCP23017 (2x) gekommen, die ich über I2C an den Pi anschließen kann. Dies habe ich entsprechend vieler Vorschläge so gemacht:

    VDD -> 3.3V Pi
    VSS -> GND Pi
    SDA -> SDA Pi
    SCL -> SCL Pi
    Reset -> 3.3V Pi
    Adresse -> GND PI (->0x20) (für den 2. entsprechend andere Adresse (0x21))
    INTA (1. MCP) -> GPIO 23 PI
    INTA (2. MCP) -> GPIO 24 PI


    Den MCP habe ich wie folgt konfiguriert:
    Alle Pins -> Input
    Alle Pins auf Interrupt
    Alle Pins auf Pull-Up
    Alle Pins Input invertiert
    Den IntA auf Active-High
    INTA und INTB -> Mirror

    Nun sollte an jedem Pin 3.3V anliegen.
    An jeden Pin sollen Schalter angeschlossen werden, die gegen GND geschaltet werden. Dadurch soll der Interrupt ausgelöst werden, der dann mittels des GPIO im Pi detektiert wird. Dieser liest dann das Register aus und reaktiviert dadurch wieder den Interrupt.
    Soweit die Theorie.

    Bisher werden die MCPs erkannt und können von der Software angesteuert werden (FHEM). Ist ein Schalter montiert, scheint alles zu funktionieren. Aber wenn ich versuche den PIN statt per Schalter mit einem Kabel per Hand kurz auf GND zu legen oder mit einem Multimeter versuche die Spannung am Input-PIN zu messen, dann geht der MCP in einen undefinierten Zustand und wird heiß!!
    Initialisiere ich die Chips neu, dann tut es wieder.

    Hat jemand einen Tipp, warum das System so empfindlich reagiert?
    Oder gibt es eine bessere Methode am MCP einen Schalterdruck zu registrieren?

    Vielen Dank für eure Hilfe!!
    PiUserN

  • Ich hatte/habe ähnliches Problem.
    Ich wolle an einem Pin die Spannung via Messgerät messen un zu sehen ob
    der MCP umschaltet.
    Wenn ich allerdings dies mache, dann wird der MCP auf dem I2C bus nicht
    mehr angezeigt.

Jetzt mitmachen!

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