Witam wszystkich.
Pracując nad projektem wykorzystuję klawiaturę membranową 4x4. Do tej pory łączyłem ową klawiaturę do uC wykorzystując 8 pinów uC.
Czytając niebieską książkę natknąłem się na rozdział 4.8.1 o klawiaturze analogowej.
Postanowiłem wykorzystać pomysł i zastosować w moim projekcie.
Założenia:
- wykorzystanie klawiatury 4x4 (16 przycisków)
- minimalne wykorzystanie pinów
- wybudzenie uC z uśpienia
Schemat:
Podłączona klawiatura do zestawu ATB:
Działanie:
Objaśnienie co jest na wyświetlaczu:
U: [mierzone_napięcie] V [minimalny_adc]
C: [licznik] [mierzone_adc] [maksymalne_adc]
Przy założeniu, że napięcie nie będzie się zmieniać klawiatura działa bardzo dobrze. Wszystkie założenia zostały spełnione:
- klawiatura działa poprawnie
- wykorzystanie pinów z ośmiu (8) zmniejszyło się do jednego (1)!
- rezystory zostały dobrane, aby stanem wysokim wybudzić uC z uśpienia
Kod w załączeniu z wykorzystaniem uC Atmega644P.
Kod wykorzystuje bibliotekę LCD napisaną przez pana Mirka, ale nie umieściłem jej w załączeniu.
Pozdrawiam,
Grzegorz