Ovo mi je uvjek bio najteži dio aplikacije: odvajanje pinova za LCD, odvajanje pinova za matričnu tipkovnicu, pa mučno pisanje rutina za input stringa i skeniranje tipkovnice.... Uf...
Pa sam napravio mali serijski kontroler za ispis na LCD na koji se može priključiti i matrična tipkovnica do 6x6 (36 tipaka). Ovih projekata ima dosta na net-u, ali nisam našao ništa dovoljno prihvatljivo (ćitaj jeftino) što podržava i tipkovnicu barem 4x4.
Karakteristike:
- RS232 9600
- do 5x5 programibilnih tipaka (ograničenje konektora inače može 6x6)
- Ugrađena zujalica za pritisak tipke
- Podržani svi LCD-ovi koje podržava BascomAVR (16*2, 16*4, 20*4 itd)
- Podržane komande:
- Definicija svake tipke (pamti se i u eepromu)
Izgled kursora
Pozicija kursora
Brisanje linije
Kontrola zvuka tipkovnice
Ovo je kao mali terminal. Što pošaljem sa na serijki port to se i ispiše. Kad pritisnem tipku dobijem je kao definirani karakter. Sada primjerice u Bascomu uradim ovo:
Code: Select all
Print "Ref. tocka= " ; Referentna_tocka
Term_set_cursor_pos 1 , 1
Term_cursor_blink
Echo On
Input "Nova: " , Referentna_tocka
Echo Off
Ovo Term_set_cursor_pos, Term_cursor_blink itd su samo funkcije koje šalju određene komandice na rs232.
Terminal podržava i backspace karakter tako da je brisanje prilikom unosa stringa prirodno (samo treba podesiti koja tipka vraća karakter 8 koju Baskom očekuje za brisanje u INPUT naredbi).
PCB je upravo koliki i LCD (pigiback konekcija) tako da ne zauzima nikakav dodatni prostror u uređaju.
http://img27.imageshack.us/gal.php?g=dsc00187iqs.jpg