A mikrovezérlős kitemmel együtt vásároltam meg ezt a modult is. Érdekes kis darab, 16 nyomógomb van rajta, aminek a kezeléséhez összesen 1 db analóg bemenetre van szükségünk. Akkor hát csatlakoztassuk az alaplapunkhoz és olvassuk ki az aktuális értéket!
Az ötlet, amely alapján ez a modul működék, teljesen egyszerű: sorba kapcsolt ellenállásokkal létrehozunk egy feszültségosztót és ennek segítségével, különböző gombok megnyomásakor mindig más és más nagyságú feszültség jelenik meg az analóg bemeneten. A mért érték nagyságából meg tudjuk mondani, hogy melyik gomb lett megnyomva. Hátránya, hogy egyszerre csak egy gombot tudunk így vizsgálni.
Felépítés
Itt van a sematikus rajza is a modulnak, remélem ez alapján érthető, hogy mit akartam előbb elmagyarázni:
Kód
A programban van egy kis késleltetés, ezzel küszöböljük ki a nyomógombok prellegését.
Eredmény
A soros monitor megnyitása után, ha a gombokat egyesével végig nyomogatjuk (K0-K15), akkor a gombnak megfelelő analóg értéket fogjuk visszakapni:
6
71
138
205
267
330
397
464
527
591
658
717
779
843
910
972
A switch case utasítást használva gyorsan meg tudjuk állapítani, hogy az értékhez melyik gomb tartozik.
Az eredeti cikk elolvasásához kattints IDE.