[elektro] Sok nyomogomb
umnyo
umnyo at freemail.hu
Sat Sep 17 21:11:52 CEST 2016
Sziasztok!
Egy egyszerűnek tűnő feladattal birkózom, ami aztán kiderült mégsem annyira egyszerű - legalábbis számomra.
Van kb 60 db kétállapotú bemenetem, gyakorlatilag 60 db nyomógomb, és ezek állapotától függően kellene ezt az kapcsolgatnom. Megoldása uC-vel történne.
Viszont a szokásos probléma - nem szeretnék elhasználni 60 db bemenetet, jó lenne lehetőleg matrixban kezelni.Ebből kiindulva a megoldási lehetőségek, amiket találtam, gondoltam.
1. Külön egy sokbemenetű uC ami csak ezt figyeli, és az eredményt ha lenyomnak valamit, átküldi a masternek valamilyen buszon, ami meg feldolgozza, kapcsol amit kell
2. Külön egy kevés lábú uC ami adott esetben 2x8 lábon figyeli a bemeneteket, folyamatosan ez a rutin fut csak rajta, és ha lenyomás történik, akkor átküldi a masternek.
3. Külön céláramkör (vannak rá) - ezt szeretném elkerülni.
És itt jön amit én szeretnék, a fentiek összekapcsolása. Lehetőleg egy db uC-vel szeretném megoldani, nem master szolga viszonylatban kettővel, és jó lenne ha mindez megszakítás alapon történne, nem állandó bemenet figyelésekkel, mert azért kell mást is csinálnia.
Alapvetően Atmel Mega környékén gondolkodom, azon tudnék játszani , mármint Arduino panellel (Arduino Mega panel), de Atmel Studio alatt.
Persze más is szóba jön. Igazából nem konkrét kód érdekelne, hanem elv, hogyan oldjam meg ennyi bemenet (megszakítás) normális kezelését.
Tudnom kell azt is, ha egyszerre több nyomógomb van elnyomva, a nyomógombok között nincs prioritási szint. Ez kicsit feladta a leckét nekem, mert ezt ugyan meg tudnám csinálni pl egy ciklikus lekérdezéssel, de ehhez mindenképpen kell a a másik IC is, ami csak ezzel foglalkozik, és abban lekezelem ciklikusan melyik nyomógomb van lenyomva, és átküldöm.
A külön uC és átküldés könnyítés, de jó lenne egy darabból megcsinálni.
Köszönöm előre is a tanácsokat!
Attila
More information about the Elektro
mailing list