4x3 Matrix Tastatur über I²C I/O Expander ansteuern

Gast #86833
Lesenswert?

Von Atmel gibts eine App-Note, in der sowas beschrieben ist. Jedoch
direkt am Controller. Wenn du das ganze kapiert hast, dann dürfte es
kein Problem sein, das für deinen Anwendungsfall umzustricken.

Gruß, Florian
Gast #86835
Lesenswert?

gg ojee..

ich hab mir schon gedaken zu dem thema gemacht: und zwar wollte ich an
einer spalte einen high pegel anlegen und alle zeilen abfragen, und das
mit jeder spalte. das problem ist nun, dass ich per I/O Expander die
ganzen 8 bit nur als eingan bzw. ausgang schalten kann und nich ein
paar pins als eingang und ein paar als ausgang. die frage ist nun, wie
ich es trotzdem irgendwie hinbekommen kann oder ob es eine andere
technik gibt.

mfg
Max
Gast #86836
Lesenswert?

Hallo Max,

>ich hab mir schon gedaken zu dem thema gemacht:

1. der IC heißt "PCF8574" und nicht "PCF574".

>das problem ist nun, dass ich per I/O Expander die
>ganzen 8 bit nur als eingan bzw. ausgang schalten kann
>und nich ein paar pins als eingang und ein paar als ausgang.

Falsch! RTFM !!!


Gruß

Fiffi
Gast #86838
Lesenswert?

Damit könnte man sogar problemlos eine 8x8-Matrix herstellen.
Notfalls nimmt man den einen Port als Eingang und den anderen als
Ausgang.
Nach der AVR240-Application Note (müsste die "wake-up-Key-Matrix"
sein) teilt man einen Port in High-Nibble und Low-Nibble.
Jeweils eins ist Eingang und eins ist Ausgang.
Für die Spaltenabfrage die beispielsweise das H-Nibble als Eingang und
das L-Nibble als Ausgang, und für die Zeilenabfrage andersherum.

Naja, lesen bildet...
Gast #86839
Lesenswert?

Hallo Max,

"ich brauche das ganze in C (WinAVR)."

Für mich ist das eine vernünftige Einschränkung, voreilige
Unterstellungen wegen unglücklicher Fragestellungen übergehe einfach!
Lass Dich bloß nicht von einigen arroganten Leuten davon abhalten
Fragen zu stellen!
Niemand wird gezwungen sich zu äußern!
Richtig dusselig finde ich es, wenn man nach C fragt und chinesisch als
Antwort bekommt (habe ich alles schon erlebt).

MfG  Manfred Glahe
Gast #86840
Lesenswert?

Das Datenblatt des PCF8574 hab ich schon gelesen, aber hab keinen
Hinweis darauf gefunden, wie man ein teil des Ports als eingang und
einen teil als ausgang definiert. kann mir jemand bitte sagen, wie ich
das mache? (bitte um sinnvolle antworten, v.a.v. peter dannegger +
Fiffi).

Danke schon mal.

s.T.
max
#86841
Lesenswert?

Ich bin mir zwar sicher, daß das im Datenblatt steht, aber such mal hier
im Forum oder bei Google unter dem Stichwort "open collector" bzw.
"open drain", was das bedeutet und wozu es gut ist.

Das gleiche Prinzip findet nämlich im PCF8574 Anwendung und daher gibt
es dort keine Umschaltung zwischen Eingang und Ausgang.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren