Jedan jako praktičan štit (shield), za projekte i igranje. Vrlo je praktičan (kao i svaki shield) jednostavno ga umetnete u Arduino pločicu i to je to. Nema traženja shema po internetu, lemljenja, … Jednostavno umetnite ga u Arduino i imate LCD s tipkovnicom. Sada je vrijeme shvatimo kako radi. Postoje dvije verzije ovakvog sustava. Mi ćemo koristiti klasični štit s 5+1 pinova za komunikaciju (5 za LCD i 1 analogni za tipkala) dok postoje i verzije koje koriste komunikaciju putem I2C pinova (2 pina). Za verziju koju ćemo mi koristiti ne trebaju vam nikakve dodatne biblioteke jednostavno uzmite naš kod i prilagodite ga kako vam odgovara.
Dijelovi:
- Arduino Uno ili bilo koja druga kompatibilna pločica (Itead uno)
- LDC štit (shield) s tipkovnicom (5+1 pinova za upravljanje)
Upoznavanje sa štitom
Postoje različite verzije takvih štitova pa pirje same upotreba moramo provjeriti koje pinove koristi za LCD a koje za tipkala. Te informacije možete pronaći na stranicama proizvođača. Za naš štit konfiguracija je sljedeća:
Pin | Funkcija |
Analog 0 | Tipkala |
Digital 4 | DB4 (LCD) |
Digital 5 | DB4 (LCD) |
Digital 6 | DB4 (LCD) |
Digital 7 | DB4 (LCD) |
Digital 8 | RC |
Digital 9 | Omogući |
Digital 10 | Kontrola pozadinskog osvjetljenja |
Što se tiče LCD ekrana upravlja se jednostavnim spojem i LiquidCrystal bibliotekom. Ako želite pogledati spoji i korištenje LCD ekrana kliknite ovdje. (Članak će uskoro biti objavljen) Spoj više tipkala na jedan pin radi se spajanjem putem otpornika različitih vrijednosti, detaljno objašnjenje kako sami možete napraviti takav sustav pogledajte u ovom članku.(Članak će uskoro biti objavljen). Kako bi saznali koje su vrijednosti otpornika na našem štitu koristiti ćemo jednostavan program koji će nam čitati i prikazivati analogne vrijednosti pina A0.
void setup() { Serial.begin(9600); } void loop(){ Serial.println(analogRead(A0)); delay(1); }
Očitane vrijednosti su:
Tipka | Vrijednost |
Desna | 0 |
Lijeva | 100 |
Gore | 258 |
Dolje | 413 |
Odaberi | 645 |
Nije pritisnuto | 1023 |
Program
Sada kada imamo sve potrebne informacije možemo krenuti s izradom programa. Program se sastoji od dva glavna dijela funkcije za čitanje vrijednosti tipkala i dijela za prikazivanje rezultata. Unutar funkcije za čitanje vrijednosti tipkala izmjerene vrijednosti povećali smo za 50 i nismo koristili logički operator = (jednako) već smo koristili <>(veče, manje). Razlog tome je što izmjerene vrijednosti mogu malo varirati ovisno o naponu na samom uređaju, stanju tipkala i još par vanjskih utjecaja.
Funkcija naredbom return vrača nam podatak koje je tipkalo pritisnuto. Obratite pažnju na liniju 37 u kojoj vidimo da ako postoji uvjet koji nije zadovoljio niti jednu od 6 if selekcija (nije analogna vrijednost pina) funkcija će nam vratiti da nije pritisnuta niti jedna tipka.
Za prikazivanje informacija na ekranu koristili smo funkciju switch kako bi preglednije i jednostavnije napravili ispis. Vrijednosti po kojima radimo switch inicijalizirati smo na početku programa (linije 17-22) To možete izbjeći ako umjesto vračanja varijable u kojoj je spremljen podatak jednostavno radite vračanje vrijednosti.
Cilj je da vam kod bude što pregledniji i jednostavniji za čitanje, par tjedana sjetit će te se prečice koju ste upotrijebili no kada taj program uzmete nakon godinu dvije shvati će te zašto je uredno pisanje koda “must have”.
Cijeli kod možete preuzeti ovdje.