nuclear
Guest
Sat Feb 03, 2007 8:59 pm
witam, zastanawiam się jak najprościej rozwiazać problem detekcji wciśnięcia
jednego z 32 klawiszy (kazdy zwiera sygnał do masy). najwygodniej by bylo
gdyby na jakiś port w uc podawany był binarnie nr klawisza, a oprócz tego
wyzwolone przerwanie. jest kilka możliwości, i nie wiem którą wybrać...
dodatkowo, najlepij jakby zajmowało to jak najmniej pinów procka. mam kilka
pomysłów:
-uzycie 4 układów 74148, i dodatkowo 16 diod, wtedy wykorzystuje 8 pinow
procka (1- przerwanie, 2,3,4,5- nr kości do ktorej podpiety jest wcisniety
przycisk, 6,7,8- nr pinu w kości ) mozna by jeszcze usunąc 2 piny,
przetwarzając nr kości na postać binarną, ale to wymaga dodatkowego układu
albo kiku kolejnych diod, poza tym troche to miejsca zajmuje
-zrobienie całości na diodach, ale to lekki hardcore (ponad 80 diod),
-użycie 2 ekspanderów na magistrali I2C (zalety- nie wykorzystuje zadnych
dodatkowych pinów procka bo magistrala juz jest, mało miejsca zajmuje, ale
do obsługi przerwania trzeba dodać dużego NOR-a na 32 diodach)
-analogowo, tzn mamy 32 rezystory połaczone w szereg, z jednej strony
podlaczone do masy, z drugiej do zasilania, podlaczamy przyciski miedzy mase
a kolejne węzły , i w celu sprawdzenia który przycisk jest aktywny, mierzymy
prąd płynący ze źródła(za pomocą wbudowanego w uc przetwornika). zalety -
proste i małe wady - nie wiem na ile to bedzie stabilne.
macie jakieś inne ciekawe pomysły?
Darek R.
Guest
Sat Feb 03, 2007 9:31 pm
nuclear napisał(a):
Quote:
macie jakieś inne ciekawe pomysły?
Dołożenie drugiego procka tylko do obsługi klawiatury. Niby wydaje się
że to przerost formy nad treścią, ale...
Zalety:
-małe (jeden układ np. w TQFP),
-tanie (niewiele drożej niż 4x74148, dużo taniej niż dwa enkodery na I2C),
-komunikacja z głównym procesorem tak jak Ci najwygodniej,
-możliwość przerzucenia części zadań z głównego procesora (odkłócanie
klawiatury, detekcja długiego/krótkiego naciśnięcia itp.)
Wady:
-zaraz zostanę zlinczowany za pchanie wszędzie mikroprocesora ;)
--
Pozdrawiam,
Dariusz Rzońca
jarek
Guest
Sat Feb 03, 2007 9:59 pm
Użytkownik "nuclear" <nuclear2001@poczta.onet.pl> napisał w wiadomości
news:eq2pjj$slc$1@news.onet.pl...
Quote:
macie jakieś inne ciekawe pomysły?
Hmm może użyć gotowca z klawiatury?? tylko wtedy klawa musiala by miec kilka
mas...
--
Pozdrawiam Jarek O.
nuclear
Guest
Sat Feb 03, 2007 10:09 pm
Użytkownik "jarek" <jarek54129@poczta.fm> napisał w wiadomości
news:eq2t34$p5h$1@opal.futuro.pl...
Quote:
Użytkownik "nuclear" <nuclear2001@poczta.onet.pl> napisał w wiadomości
news:eq2pjj$slc$1@news.onet.pl...
macie jakieś inne ciekawe pomysły?
Hmm może użyć gotowca z klawiatury?? tylko wtedy klawa musiala by miec
kilka mas...
to odpada, masa jest wszedzie ta sama, i sie zmienic tego nie da
nuclear
Guest
Sat Feb 03, 2007 10:11 pm
Użytkownik "Darek R." <drzonca@w.pl> napisał w wiadomości
news:eq2rfn$2hm$1@news.onet.pl...
Quote:
nuclear napisał(a):
macie jakieś inne ciekawe pomysły?
Dołożenie drugiego procka tylko do obsługi klawiatury. Niby wydaje się że
to przerost formy nad treścią, ale...
Zalety:
-małe (jeden układ np. w TQFP),
-tanie (niewiele drożej niż 4x74148, dużo taniej niż dwa enkodery na I2C),
-komunikacja z głównym procesorem tak jak Ci najwygodniej,
-możliwość przerzucenia części zadań z głównego procesora (odkłócanie
klawiatury, detekcja długiego/krótkiego naciśnięcia itp.)
Wady:
-zaraz zostanę zlinczowany za pchanie wszędzie mikroprocesora
hehe, to juz by był trzeci proc na 1 płytce, ale przemyśle to (tyle ze
osobiście nie toleruje smd jak nie trzeba...)
Konop
Guest
Sat Feb 03, 2007 10:28 pm
Quote:
-analogowo, tzn mamy 32 rezystory połaczone w szereg, z jednej strony
podlaczone do masy, z drugiej do zasilania, podlaczamy przyciski miedzy
mase a kolejne węzły , i w celu sprawdzenia który przycisk jest aktywny,
mierzymy prąd płynący ze źródła(za pomocą wbudowanego w uc przetwornika).
zalety - proste i małe wady - nie wiem na ile to bedzie stabilne.
Wiesz, widziałem rozwiązanie z rezystorami np. w wieży... . Sprzęt działa
pare lat i klawiatura nie głupieje. W przypadku zwierania do masy zyskujesz
od razu priorytet (większy dla przycisków bliżej procka). Napięcie na
wejściu przetwornika będzie się zmieniać w zakresie od 0 (wciśnięty pierwszy
przycisk) do Vcc i będzie przybierać jedną z 32 wartości. Przetworniki z
reguły mają z 8..10 bitów, więc zapas masz spory, nie powinno być problemu z
określeniem który to przycisk. Ewentualnie możesz stworzyć dwie takie
gałęzie po 16 przycisków itp....
Pozdrawiam
Konop
J.F.
Guest
Sat Feb 03, 2007 10:29 pm
On Sat, 03 Feb 2007 21:31:57 +0100, Darek R. wrote:
Quote:
macie jakieś inne ciekawe pomysły?
Dołożenie drugiego procka tylko do obsługi klawiatury. Niby wydaje się
że to przerost formy nad treścią, ale...
Wady:
-zaraz zostanę zlinczowany za pchanie wszędzie mikroprocesora
No coz, jesli ekonomia uzasadnia to czemu nie.
Ale .. 4 rejestry przesuwajace 8 bitowe i zrobione.
I nawet nie trzeba sie odklucaniem przejmowac..
J.
nuclear
Guest
Sat Feb 03, 2007 11:10 pm
Użytkownik "Konop" <konoppo@gazeta.pl> napisał w wiadomości
news:eq2uq3$dgd$1@inews.gazeta.pl...
Quote:
-analogowo, tzn mamy 32 rezystory połaczone w szereg, z jednej strony
podlaczone do masy, z drugiej do zasilania, podlaczamy przyciski miedzy
mase a kolejne węzły , i w celu sprawdzenia który przycisk jest aktywny,
mierzymy prąd płynący ze źródła(za pomocą wbudowanego w uc przetwornika).
zalety - proste i małe wady - nie wiem na ile to bedzie stabilne.
Wiesz, widziałem rozwiązanie z rezystorami np. w wieży... . Sprzęt działa
pare lat i klawiatura nie głupieje. W przypadku zwierania do masy
zyskujesz od razu priorytet (większy dla przycisków bliżej procka).
Napięcie na wejściu przetwornika będzie się zmieniać w zakresie od 0
(wciśnięty pierwszy przycisk) do Vcc i będzie przybierać jedną z 32
wartości. Przetworniki z reguły mają z 8..10 bitów, więc zapas masz spory,
nie powinno być problemu z określeniem który to przycisk. Ewentualnie
możesz stworzyć dwie takie gałęzie po 16 przycisków itp....
wiem, jedyne co to nie chce mi sie liczyć tych rezystorów, bo to jednak nie
mogą yć takie same.. ale mam to w alternatywie
nuclear
Guest
Sat Feb 03, 2007 11:34 pm
dobra, powiedzmyze strawa sie zama rozwiazała - okazało sie ze jednak musi
być mozliwośc wykrycia faktu wciśniecia wiecej niz jednego klawisza, więc
biore po prostu 2 multipleksery 16 wejsciowe i i tak kilkanascie razy na sek
sprawdzam stan wejść, nie powinno być to problemem. w takiej sytuacji
problem traci racje bytu.
pozdrawiam
Desoft
Guest
Sun Feb 04, 2007 9:44 am
Quote:
-zaraz zostanę zlinczowany za pchanie wszędzie mikroprocesora
a może procesor od klawiatury PC?, tyle że będzie trudniej chyba kupić jak
uC.
wczoraj naprawiałem jakieś urządzonko i miało 82C79 jako sterownik
wyświetlacza i czytnik klawiatury.
--
Desoft
http://217.96.144.226/desoft
lwh
Guest
Sun Feb 04, 2007 1:48 pm
Użytkownik "nuclear" <nuclear2001@poczta.onet.pl> napisał w wiadomości
news:eq32lj$lrk$1@news.onet.pl...
Quote:
dobra, powiedzmyze strawa sie zama rozwiazała - okazało sie ze jednak musi
być mozliwośc wykrycia faktu wciśniecia wiecej niz jednego klawisza, więc
biore po prostu 2 multipleksery 16 wejsciowe i i tak kilkanascie razy na
sek
Wychodzi, że 40/44 nóżkowy mikrokontroler byłby tańszy i lepszy
Guest
Sun Feb 04, 2007 5:05 pm
On 3 Lut, 20:59, "nuclear" <nuclear2...@poczta.onet.pl> wrote:
Quote:
-analogowo, tzn mamy 32 rezystory połaczone w szereg, z jednej strony
podlaczone do masy, z drugiej do zasilania, podlaczamy przyciski miedzy mase
a kolejne węzły , i w celu sprawdzenia który przycisk jest aktywny, mierzymy
prąd płynący ze źródła(za pomocą wbudowanego w uc przetwornika). zalety -
proste i małe wady - nie wiem na ile to bedzie stabilne.
Ten sposób jest prosty i był wykorzystany w gazetce "Nowy elektronik".
Pozdrawiam Michał
Adam Dybkowski
Guest
Mon Feb 05, 2007 12:55 am
nuclear napisał(a):
Quote:
dobra, powiedzmyze strawa sie zama rozwiazała - okazało sie ze jednak musi
być mozliwośc wykrycia faktu wciśniecia wiecej niz jednego klawisza, więc
biore po prostu 2 multipleksery 16 wejsciowe i i tak kilkanascie razy na sek
sprawdzam stan wejść, nie powinno być to problemem.
Pomyśl alternatywnie o rejestrach przesuwnych - wpisujesz stan klawiszy
równolegle jako 32 bity (4 rejestry po 8 bitów ew. 2 po 16) i wysuwasz
szeregowo. Do obsługi tego potrzebne są tylko 3 linie: sterowanie
zatrzaśnięciem stanu klawiszy (od procesora), zegar transmisji (od
procesora) i dane (do procesora). Zdecydowanie mniej niż do kontroli 2
16-bitowych multiplekserów.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Martin Lukasik
Guest
Mon Feb 05, 2007 10:58 am
Quote:
macie jakieś inne ciekawe pomysły?
Dwie klawiatury matrycowe 4x4. Prosciej sie chyba nie da.
m.
--
Marcin Lukasik, marcin na milea kropka pl
http://milea.pl -- sieci bezprzewodowe
``Be who you are and say what you feel, because those who mind don't matter
and those who matter don't mind.''