Abychom si zbytečně nezabírali cenné piny mikrokontroléru, je výhodné vyhodnocovat stisk klávesy analogově.
Tlačítka klávesnice jsou na analogový vstup mikrokontroléru připojena přes čtyřnásobný dělič napětí. Při stisku každého z tlačítek je na analogový vstup přivedeno jiné napětí, takže můžeme velmi jednoduchým programem vyhodnotit, které z tlačítek bylo stisknuto.
Klávesnice je k mikrokontroléru připojena třípinovým konektorem. Z obrázku je zřejmé, že bylo zvoleno klasické rozložení, stejné jako u konektoru serva, tedy na pinu 1 nulový potenciál (GND), na středním (2) pinu napájecí napětí a na pinu 3 je přítomno výstupní napětí, které se programově vyhodnocuje.
Jak klávesnice pracuje?
Rezistory R1 až R4 tvoří napěťový dělič, jehož dělící poměr se mění podle toho, které z tlačítek klávesnice je právě stlačeno.
Spínač | Hodnota děliče | Výstupní napětí Uout |
S1 | Ra = 30,1 kohm ; Rb = 10 kohm | ca 25% Uin |
S2 | Ra = 3,3 kohm ; Rb = 10 kohm | ca 50% Uin |
S3 | Ra = 10,1 kohm ; Rb = 10 kohm | ca 75% Uin |
S4 | Ra = 0 ; Rb = 10 kohm | 100% Uin |
Testovací program pro PICAXE08M2:
#rem Testovací program pro analogovou klávesnici #endrem ; direktivy #picaxe 08M2 #no_data #terminal 4800 ; začátek programu do readadc C.1,b0 ; klávesnice připojena na vstup C.1 (pin 7) select case b0 case > 250 sertxd ("Tlačítko 4",13,10) case > 190 sertxd ("Tlačítko 3",13,10) case > 120 sertxd ("Tlačítko 2",13,10) case > 60 sertxd ("Tlačítko 1",13,10) endselect pause 500 ; zpomalení výpisu na terminálu loop