Dekip
1.7.2017, 23:21
Nekako mi je u startu najzanimljiviji bio rad sa displejom. Senzori i moduli su ok, ali na kraju opet dolazimo do toga da dobijene vrednosti treba negde da prikažemo. U pomenutom starter kitu u prethodnom članku sam rekao da se dobija i 1602 LCD pa ću reći koju reč o njemu.
LCD koji se dobija je jedan od najzastupljenijih u Arduino svetu. Iz naziva vidimo da ekran ima 16 kolona u 2 reda. Postoje i ekrani 8x1, 8x2, 10x2, 16x1 i meni najzanimljiviji 20x4 o kome će biti reči nekom drugom prilikom. Ovaj ekran koristi Hitačijev HD44780 kontroler a kompletan datasheet možete pročitati ovde (https://circuitdigest.com/sites/default/files/HD44780U.pdf).
Ekran je dakle sposoban da ispiše dva puta po šesnaest karaktera, što će reći 32 karaktera. Svaki karakter se ispisuje u polju od 5x8 piksela. Množenjem 32 grupe od po 40 piksela dobijamo 1280 piksela, kojim se, uz malo dublje programiranje može napisati i/ili izcrtati mnogo toga. Za sada ćemo se pozabaviti osnovnim povezivanjem sa Arduinom i ispisivanjem običnog teksta.
http://i.imgur.com/uceK0KZ.jpg?1
Ekran može doći u više varijanti: bez zalemljenih pinova, sa zalemljenim pinovima i sa zalemljenim IIC/I2C serijskim interfejsom. Ovaj treći se povezuje drugačije i o njemu će isto biti reči neki drugi put. Prva dva su ona o kojima ću pisati. Bez obzira da li došao sa zalemljenim pinovima ili ne, postupak povezivanja je isti. Jedino što u prvom slučaju treba da radi lemilica. A kad smo kod pinova, da kažemo čemu koji služi:
VSS - ground/-
VDD - source/+
V0 - kontrast osvetljenja
RS - Register Select
RW - Read/Write
E - enable
D0
D1
D2
D3
D4
D5
D6
D7
A - source/+
K - ground/-
Prva dva pina služe za napajanje ekrana sa 5V. V0 se preko potenciometra koristi za kontrast pozadinskog osvetljenja. RS od ploče dobija 0 ili 1. Ukoliko je 0, onda je ekran u Command modu a ako je 1 onda je u Data modu. RW pinovi takođe dobijaju samo 0 i 1, gde ako je 0 onda u procesu čitanja a ukoliko je 1 onda je u procesu pisanja. E pin je uvek na "HIGH" da bi se ostvario proces čitanja/pisanja. Pinovi od D0-D7 se koriste za prenos podataka do ekrana. Pinovi D0-D3 se koriste isključivo za 8-bitni transfer dok se pinovi D4-D7 koristi i za 4-bitni i za 8-bitni transfer. Poslednja dva pina se koriste za pozadinsko osvetljenje ekrana i takođe koriste 5V. Vrlo je važno znati koji pin čemu služi i tako ga povezati da ne bi došlo do oštećenja, kako ekrana, tako i Arduina.
http://i.imgur.com/hgpkBuM.jpg?1
LCD koji se dobija je jedan od najzastupljenijih u Arduino svetu. Iz naziva vidimo da ekran ima 16 kolona u 2 reda. Postoje i ekrani 8x1, 8x2, 10x2, 16x1 i meni najzanimljiviji 20x4 o kome će biti reči nekom drugom prilikom. Ovaj ekran koristi Hitačijev HD44780 kontroler a kompletan datasheet možete pročitati ovde (https://circuitdigest.com/sites/default/files/HD44780U.pdf).
Ekran je dakle sposoban da ispiše dva puta po šesnaest karaktera, što će reći 32 karaktera. Svaki karakter se ispisuje u polju od 5x8 piksela. Množenjem 32 grupe od po 40 piksela dobijamo 1280 piksela, kojim se, uz malo dublje programiranje može napisati i/ili izcrtati mnogo toga. Za sada ćemo se pozabaviti osnovnim povezivanjem sa Arduinom i ispisivanjem običnog teksta.
http://i.imgur.com/uceK0KZ.jpg?1
Ekran može doći u više varijanti: bez zalemljenih pinova, sa zalemljenim pinovima i sa zalemljenim IIC/I2C serijskim interfejsom. Ovaj treći se povezuje drugačije i o njemu će isto biti reči neki drugi put. Prva dva su ona o kojima ću pisati. Bez obzira da li došao sa zalemljenim pinovima ili ne, postupak povezivanja je isti. Jedino što u prvom slučaju treba da radi lemilica. A kad smo kod pinova, da kažemo čemu koji služi:
VSS - ground/-
VDD - source/+
V0 - kontrast osvetljenja
RS - Register Select
RW - Read/Write
E - enable
D0
D1
D2
D3
D4
D5
D6
D7
A - source/+
K - ground/-
Prva dva pina služe za napajanje ekrana sa 5V. V0 se preko potenciometra koristi za kontrast pozadinskog osvetljenja. RS od ploče dobija 0 ili 1. Ukoliko je 0, onda je ekran u Command modu a ako je 1 onda je u Data modu. RW pinovi takođe dobijaju samo 0 i 1, gde ako je 0 onda u procesu čitanja a ukoliko je 1 onda je u procesu pisanja. E pin je uvek na "HIGH" da bi se ostvario proces čitanja/pisanja. Pinovi od D0-D7 se koriste za prenos podataka do ekrana. Pinovi D0-D3 se koriste isključivo za 8-bitni transfer dok se pinovi D4-D7 koristi i za 4-bitni i za 8-bitni transfer. Poslednja dva pina se koriste za pozadinsko osvetljenje ekrana i takođe koriste 5V. Vrlo je važno znati koji pin čemu služi i tako ga povezati da ne bi došlo do oštećenja, kako ekrana, tako i Arduina.
http://i.imgur.com/hgpkBuM.jpg?1