Liebe Leute,
ich habe 64 verschiedene Taster und habe mich entschieden, diese in einer 8x8 Matrix anzuordnen. Da ich keine Lust habe, 64 Tasten einzeln auszulesen und nicht zwei Tasten gleichzeitig gedrückt werden sollen, ging ich davon aus, dass ich diese Konstruktion nichts anderes ist als ein Keypad mit 8x8 Tasten.
Nun hat ein Arduino ja nur 14 digitale In- und Outputs. Schön wäre es, wenn ich 16 gehabt hätte, aber leider ist das ja nicht der Fall. So habe ich einen PCF8574-IO-Expansion-Baustein gekauft und über I2C mit dem Arduino verbunden, so dass ich auf dem Arduino 8 Outputs nutzen kann und die 8 Inputs des Expansion Bausteins. Die Taster habe ich entsprechend einer Keypad-Konstruktion miteinander verbunden und zwischen die digitalen Arduino-Pins einerseits und die PCF8574-Pins andererseits gelegt. Die Arduino-Pins sollten den Pegel liefern, die Taster weitergeben und die Pins des PCF8574 auslesen. So schön, so gut. Aber irgendwo ist hier ein Denkfehler, denn ich messe auf den Pins des PCF8574 nur Unsinn. Ich bin mir ziemlich sicher, dass ich irgendetwas nicht beachtet habe, aber was??
Problemlösungsversuche:
- Ich habe geschaut, ob der PCF ordnungsgemäß funktioniert. Das ist der Fall. Der Baustein ist nicht kaputt. Er ist auch ordnungsgemäß über I2C mit dem Arduino verbunden. Wenn ich nur einen Pol eines Tasters an P0,P1,...P8 vom PCF anschließe und den anderen an GND, kann ich die Taste auslesen.
- Natürlich senden die Arduino-Pins auch abwechselnd HIGH und LOW-Pegel. Auch hier gibt es keine Probleme.
Nur ArduinoPin->Taster->P0,P1,...P8 macht Schwierigkeiten. Da messe ich nichts gescheites. Aber warum? Kann mir das jemand erklären? Stimmt die Schaltung nicht? Oder ist der PCF8574 für sowas nicht geeignet? Brauche ich also einen Arduino Mega??
Vielen Dank für Eure Hilfe.
Bernie007 grüßt