Ovo, naravno, ima smisla kada češće koristimo isti znak nego što je korišten u ovom primjeru. Iste te funkcije možemo staviti u library te ih pozivati po želji. Pogledajte naš tutorial o tome kako napraviti vlastiti Arduino library koji upravo kontrolira ove displaye.
7 SEGMENTNI DISPLAY

ŠTO SU?
Sedam segmentni display ili sedam segmentni indikator je popularno rečeno old-school način prikaza arapskih brojeva. Više znakova mogu prikazivati 9, 14 ili 16 segmentni displayi. Alternativno, postoje slični ekrani koji prikazuju i druge simbole, npr. LED matrice.
Ime su dobili po tome što se sastoje od 7 segmenata, vidljivo na slici iznad. Tri segmenta su vodoravna i četiri okomita. Svaki segment svijetli pomoću LCD ili LED tehnologije. Zapravo, mnoštvo je načina na koji se osjetljavaju segmentni, npr. vrlo popularne nixie lampe.
KAKO RADE?
Zadržimo se na modernim LED 7 segmentnim displayima. Za početak odjelimo ih na one sa zajedničkom katodom(-) i zajedničkom anodom(+). Jednostavno je, displaye sa zajedničkom katodom spojiti ćemo na gnd pin, a zatim s digitalWrite(pin, HIGH); trigati segment displaya i obratno. Ubrzo detaljnije.
Slika iznad prikazuje nam nožice displaya, ukupno 10. Srednja nožica gore i dolje odnosi se na zajedničku katodu, odnosno anodu ovisno o modelu. Ostalih 8 otpada na 7 segmenata displaya plus točka koja se nalazi u donjem desnom uglu. Pogledajmo pinout.
Pinout se odnosi na display sa zajedničkom katodom i prikazuje koja nožica triga koji segment. Npr. spojim (-) nožicu s (-) polom baterije, a pin8 preko otpornika s plus polom i zasvjetliti će nam točka.
Ako koristima display sa zajedničkom anodom, zamjenimo polove i dobijemo istu stvar.
Naravno da nećemo premještati kabliće za svaki znak koji želimo prikazati pa idemo spojiti sve na Dasduino.
KONTROLIRANJE S DASDUINOM
Pa za početak spojimo pinove na Dasduino kako prikazuju slike. NAPOMENA: ovdje koristimo display sa zajedničkom katodom, ako imate zajedničku anodu za sada samo spojite +5V s Dasduina na pinove koji su povezani crnim kablićem (gnd).
Evo i mala tablica spajanja:
Nama posebnom razloga zašto smo odabrali ove pinove, slobodno birajte koje želite. Ako vam display zauzima previše pinova razmislite o korištenju shift registra.
Što i kako prikazati?
Slika iznad prikazuje neke od simbola koje možemo “aktivirati” na displayu. Ponovimo još jednom logiku uz pomoć tablice:
Brojevi 0 i 1 označavaju upaljeno i ugašeno, odnosno 0-LOW i 1-HIGH. Ponovno, ovo se odnosi na displaye sa zajedničkom katodom. Ako koristite zajedničku anodu jednostavno zamjenite nule i jedinice.
Zapišimo i jedan konkretan Arduino kod. Upalimo broj 1, a nakon pola sekunde broj 2.
void
setup
()
{
// napraviti cemo mali loop koji pretvara pinove od 2 do 9 u izlazne
for
(
int
i=2; i<=9; i++)
{
pinMode
(i,
OUTPUT
);
}
}
void
loop
()
{
// palimo broj jedan
digitalWrite
(5,
HIGH
);
digitalWrite
(8,
HIGH
);
// pauza 500ms = 0.5s
delay
(500);
// gasimo znakove koji su preostali na ekranu
// kako se ne bi pomješali sa znamenkom dva
digitalWrite
(5,
LOW
);
digitalWrite
(8,
LOW
);
// palimo broj dva
digitalWrite
(2,
HIGH
);
digitalWrite
(4,
HIGH
);
digitalWrite
(5,
HIGH
);
digitalWrite
(6,
HIGH
);
digitalWrite
(7,
HIGH
);
// još jedna pauza kako bi stigli oko registrirati
// promjenu prije nego se loop krene ispocetka
delay
(500);
// gasimo segmente broja dva
digitalWrite
(2,
LOW
);
digitalWrite
(4,
LOW
);
digitalWrite
(5,
LOW
);
digitalWrite
(6,
LOW
);
digitalWrite
(7,
LOW
);
}
I tako dalje za svaku znamenku. Jako puno koda. Jedan od načina da si olakšamo je da napravimo funkciju za svaki znak koji koristimo zatim ju pozovemo kada želimo:
Korišteni proizvodi


