Guten Tag,
ich habe absolut keine Ahnung was du mit dieser Aussage bezweckst.
Dein Code falls er in der Formatierung richtig geschrieben ist, nicht mit dem noch einmal zusätzlich eingerückten else dann schaltet die LED mal kurz für den Moment wo eine Tasterbetätigung festgestellt wird auf ON, und geht sofort wieder aus, wenn der Taster losgelassen wird. Aber auch nur dann, wenn der Pegel am Eingang von LOW auf HIGH geht.
Zur Formatierung im Python Code. Eine ELSE hat immer die gleiche Einrückung wie das zugeordnete IF.
Hier noch einmal die Erläuterung zu den Registerabfragen:
Wenn du Taster an einen Eingang des PCF8574 anschließt gibt es zwei Möglichkeiten
1) Mit einem Pullup wird der Pegel bei geöffneten Taster auf HIGH gehalten. Damit ist die Abfrage im ungeschalteten Zustand des Tasters der mit GND verbunden ist, immer HIGH oder 1 solange keine Tasterbetätigung stattfindet.
2) Mit einem Pulldown wird der Pegel bei geöffnten Taster auf LOW gehalten. Damit ist die Abfrage des Statusregisters im ungeschalteten Zustand immer 0 , und wechselt auf HIGH bzw. 1 wenn der Taster dann mit der Vc- Pin des PCF8574 verbunden ist.
Jedoch regiert der PIN13 INT nur wenn der Pegel an einem Eingang auf HIGH wechselt.
Daher auch die Frage, was soll bei Tasterbetätigung passieren ? Soll die LED nur solange leuchten, wie der Taster gedrückt wird, oder soll die dazugehörige LED angehen, und an bleiben bis zur erneuten Tasterbetätigung ? Dann musst du noch beachten, dass Taster prellen.
Jetzt musst du auf deine Spannungsversorgung achten.
Da du keine Angaben gemacht hast wie der PCF8574 über den PIN16 versorgt wird, kann ich hier nur raten. Daher spielen die Größen der Widerstände sowohl Vorwiderstände der LEDs wie auch der Pullup Widerstände ein gewisse Rolle. Denn der Gesamtstrom der durch den PCF8574 fließt darf keinesfalls 80mA überschreiten. Jetzt kommt aber auch noch das Problem hinzu, weil du keinen Schaltplan veröffentlicht hast, woher bekommt der PCF seine Versorgungsspannung ? Ich hoffe nicht das alle drei PCF8574 am GPIO - Pin 36 = Vout 3,3 V des PICO hängen.
Daher mal bitte den aktuellen Schaltplan beifügen. Auch welche Komponente woher mit welcher Spannung versorgt werden, und dein bisheriger, vollständiger Programmcode.