Izrada izbornika na LCD štitu

Razlika između složenog i jednostavnog sučelja je u intuitivnosti njegovog izbornika

Nemojte propustiti

E Ink avanture s Inky pHAT-om

E Ink (AKA E Paper, electronic paper) već je neko vrijeme s nama, a mogli ste se sresti s tom tehnologijom ako (još...

Raspberry Pi Story

Raspberry Pi maleni je SBC (single board computer) razvijen od Raspberry Pi Foundation kako bi pomogao u edukaciji osnova računarstva. Međutim, vrlo brzo pokazalo...

Spajanje više tipkala na jedan pin

Mnogi su nas nakon članka o izborniku s LCD shieldom pitali kako spojiti tipkala da rade na takav način. Jedan od načina...

I2C LCD

Sada je vrijeme da se pozabavimo jednim od osnovnih koraka u našim projektima a to je prikazivanje poruka na LCD ekranu. Danas...

Izrada izbornika na LCD štitu

Nakon što smo se upoznali sa shield koji ima LCD ekran i tipkovnicu. Ako još niste možete to učiniti ovdje. Vrijeme je...
Avatar
mmbhttp://iu-mmb.hr
Intelektualne usluge MMB Resource & development

Nakon što smo se upoznali sa shield koji ima LCD ekran i tipkovnicu. Ako još niste možete to učiniti ovdje. Vrijeme je da kreiramo jednostavan ali vrlo česti dio svih naših projekata izbornik. Upravljanje postavki ili pregled informacija korisnicima se često daje putem izbornika kojim se najčešće upravlja tri (naprijed, nazad, potvrdi) ili četiri (naprijed, nazad, potvrdi, izlaz) tipke. U ovom članku koristit ćemo tri tipke te ćemo dodati brojač vremena koji će nas izbaciti iz izbornika ako nismo ništa pritisnuli

Jednostavan izbornik

Prije nego što krenemo na izradu izbornika moramo provjeriti radi li naš štit pravilno, korištenjem testnog programa opisanog u prethodnom članku. Nakon što smo se uvjerili da radi krećemo s izradom izbornika. Program je vrlo jednostavan i možete ga prilagoditi kako Vama odgovara.

- oglas-

Važna napomena: zbog načina rada tipkala različitih otpora, može doći do pogreške prilikom očitanja prvog impulsa, odnosno prilikom samog pritiska može doći do kratkotrajnog propuštanaj manje količine strije što će uzrokovati prepoznavanje pritiska tipkala s manjom analognom vrijednosti. Ovo se može riješiti upotrebom štitova s I2C komunikacijom ili dodavanjem programa koji će provjeravati u nekom kratkom intervalu (50 ms) jesu li prvi inpuls prilikom pritiska i drugi jednaki. Ako rabite tipkala spojena na različite digitalne pinove nećete imati takvih problema.

Pritiskom na tipkalo “enter” ulazimo u izbornik koji je zapravo do-while petlja. Glavna razlika između while i do-while petlje je što se do-while petlja mora barem jednom izvršiti. Unutar do-while petlje provjeravamo stanje naših tipkala i ako je pritisnuto jedno od dva tipkala za navigaciju radimo povećanje (increment) ili smanjenje (decrement) varijable izbornik. Pomoću te varijable znamo koju je  potkategoriju korisnik odabrao i ovisno o tome prikazujemo mu pripadajuću poruku putem funkcije switch. Ako korisnik pritisne tipku “enter” program će izaći iz do-while petlje budući da je to uvjet za njezino ponavljanje, nakon izlaska možete pozvati neku novu funkciju ili dio koda ovisno o tome što je korisnik odabrao, najpraktičnije je ponovno koristiti funkciju switch. Nakon zadanih operacija moramo vratiti varijablu izbornik na 0 kako prilikom sljedećeg ulaska u izbornik program ponovno prikazao prvu potkategoriju. Cijeli program možete preuzeti u prilogu.

Provjera vremena od posljednjeg pritiska

Često se zna dogoditi da korisnik uđe u izbornik i jednostavno ode ili počne raditi nešto drugo, zbog toga moramo uvesti mjerač vremena kako bi ako korisnik ne pritisne ništa nakon nekog vremena sustav jednostavno izašao iz izbornika. Moramo uvesti tri nove varijable za početno vrijeme, trenutno vrijeme i interval. Vrijeme ćemo mjeriti funkcijom millis() koja se može koristiti bez ikakvih dodatnih biblioteka ta funkcija jednostavno nam vrača koliko je milisekundi proteklo od paljenja uređaja. Prilikom svakog pritiska na tipkalo program očitava novu vrijednost vremena te ju sprema u varijablu početno vrijeme. Prilikom svakog prolaska kroz do-while petlju radi razliku između trenutnog vremena i zadnjeg pritiska te tu vrijednost uspoređuje s uvjetom zadanom u petlji ako vrijednost prekorači zadanu izlazi iz petlje te ne prikazuje poruku da je kosirnik nešto pritisnuo već jednostavno vrača na početni prikaz. Cijeli kod možete preuzeti ovdje u prilogu.

Ako imate bilo kakvih nejasnoća s korištenjem programa slobodno postavite putanje u komentar.

Preuzimanje:


Možda vas zanima i ovo:

Komentiraj

Unesite svoj komentar!
Ovdje unesite svoje ime

Popularno

Uvjeti korištenja

Uvjeti korištenja seekretors.org stranice (u daljnjem tekstu: ove stranice) u vlasništvu su njenih osnivača Marka Miroslava Bače i Tomislava Preksavca (u daljnjem...

Enderova nova pamet

Enderu 3 teško je naći manu (naročito za cijenu po kojoj se prodaje), i ako bi nešto trebalo izdvojiti, to je sigurno njegov...

PYW – Vijak

Evo nas na prvoj stranici našeg putovanja, a s čime je bolje početi nego s dobrom vezom. Zato krenimo od vijčanog spoja.

Print Your world- uvod

Dobrodošli u novi serijal Print Your world ili kako bi mi rekli ekstrudiraj, ekstrudiraj. U ovom serijalu bavit ćemo...

Korekcija putanje glave 3D printera

Konkretno, u mom slučaju radi se o 3D printeru tipa delta, premda vjerujem da sličnih problema ima i kod modela s klasičnim...