Jak skonstruować klawiaturkę z 16+16+8 klawiszami z PCF8574 i I2C?
klawiaturka (duzo przyciskow)
From: "spooky" <sp00ky_at_nospam_interia.pl>
Subject: klawiaturka (duzo przyciskow)
Date: Sat, 23 Dec 2000 19:14:16 +0100
witam serdecznie wszystkich grupowiczow
wiem,wiem , ze sa swieta :)
ale mam malutki zgryz
wymyslilem sobie ze potrzebna mi bedzie klawiaturka
no i najlepiej zeby sie do niej dalo dostac jakos po i2c
na pierwszy ogien poszly dwa ukladziki PCF8574 (i2c -> 8bit rownolegle)
chce zrobic tak ze jeden z tych ukladow bedzie obslugiwal kolumny i
przemiatal jedynka po wszystkich 8-miu wyjsciach
a drugi uklad bedzie odpowiedzialny za wiersze
wszystko fajnie
tylko co zrobic zeby uklad od wierszy reagowal na nacisniecie tylko jednego
klawisza
czy ktos z was budowal klawiaturki na tych PCF`ach ?
moze macie jakies sprawdzone uklady/sposoby budowania klawiatur ?
te 64 klawisze to nie musza byc
super wygodnie bedzie jak bedzie 16+16+8
minimum do ktorego mozna zejsc to 16+8
jak zrezygnuje sie z komfortu obslugi urzadzenia
to wystarcza tylko klawiszki
prawo/lewo
enter
mode
czyli cztery
ale nie chce tak zrobic bo zabawke buduje dla siebie :) i ma byc wygodna w
obsludze
no i pewnie program do obslugi tego strasznie spuchnie :)
z gory dziekuje za pomoc
no i zdrowych,spokojnych i Wesolych Swiat!
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: klawiaturka (duzo przyciskow)
Date: Sun, 24 Dec 2000 13:37:51 +0100
wymyslilem sobie ze potrzebna mi bedzie klawiaturka
no i najlepiej zeby sie do niej dalo dostac jakos po i2c
na pierwszy ogien poszly dwa ukladziki PCF8574 (i2c -> 8bit rownolegle)
chce zrobic tak ze jeden z tych ukladow bedzie obslugiwal kolumny i
przemiatal jedynka po wszystkich 8-miu wyjsciach
a drugi uklad bedzie odpowiedzialny za wiersze
wszystko fajnie
Strasznie sobie komplikujesz życie ;-))) Ja bym to zrobił inaczej:
MAły Atmelek(w Bascomie napiszesz sobie ten kawałek programu) do portu
P1 podłączasz
przez opornik 1K (to przeciwko zwieraniu wyjscia) linie wejscia z
klawiatury, a bezposrednio do portu podłączasz rejestr np:374 lub 574
którego wyjscia łączysz do klawiatury, a wejscia z klawiatury (przed
opornikiem !!) łączysz przez NAND 8 wejsc np:HCT30 i negator (wystarczy
tranzystor i dwa opory) do wejscia przerwania np:INT0. Do jednej lini z
P3 łaczysz wpis do rejestru.
Poglądowy schemat 1 lini.
-------- |-----|
P1.7 |-----+------|D Q|------------------ klaw
| | | | |
| R1k ----- |
| |
---------------------------------+-----wej NAND---
\
Program piszesz taki że: wy\- negator---INT0
1.ustawiasz na wyjsciach Q stan niski
2.jak pojawi się przerwanie(wyzwalanie zboczem!!)to:
a)ustawiasz na Q wysoki,a na jednej niski
b)sprawdzasz czy na INT0 niski
c) jeżeli tak to znaczy że linia Q na której niski to ta linia
i czytasz P1 i po bicie niskim wykrywasz który klawisz
d) jeżeli INT0 nie niski to przesuwasz niski na następny Q i skok do b)
A póżniej wynik możesz posłać po i2c albo po rs do własciwego systemu.
acha diod do klawiatury nie trzeba gdyż mozesz odczytać nawet kilka
zwartych klawiszy.
Wesołych,Spokojnych i Zdrowych ¶wiąt
dla całej grupy życzy
Janusz