Image
26.10.2015 0 Comments

ARDUINO - periférie a práca s LCD displejom /9.časť

Späť na úvod >> Späť na programovanie >> Späť na seriál

V predchádzajúcich častiach sme pracovali s Arduinom tak, že programy sa spúšťali v Arduine, ale klávesnicu a obrazovku sme si „požičali" z počítača, na ktorom sme Arduino programovali. Teraz začneme Arduino osamostatňovať, naučíme sa teda vytvárať aplikácie, aby Arduino nebolo závislé od obrazovky a klávesnice iného počítača.

Periférie Arduina

Arduino bolo vytvorené preto, aby bolo prenosné a nezávislé od iných počítačov alebo počítačových komponentov. Ak teda nechceme pre potreby Arduina využívať obrazovku počítača, musíme Arduino vybaviť nejakým zobrazovacím zariadením. Najjednoduchšie zobrazovacie zariadenie je obyčajná LED dióda alebo skupina LED diód, ktoré svojím svitom dokážu celkom slušne zobrazovať stav Arduina. Na číselné vyjadrenia to však nestačí a je lepšie používať numerický displej - buď samostatnú číslicu, alebo skupinu číslic (obr. 1). Ak chceme vypisovať aj textové hlásenia, viac hodí sa na to alfanumerický LCD displej. Najčastejšie sa používajú displeje 16 × 2 alebo 20 × 4 (počet znakov na riadku × počet riadkov) - obr. 2 s radičom HD44780. Na zobrazovanie grafických informácií sú najvhodnejšie grafické LCD displeje (obr. 3) alebo dokonca dotykové grafické LCD displeje (obr. 4).

obr. č. 1

Na zadávanie údajov pre program Arduina sa hodia tlačidlá (jedno alebo viac) - obr. 5, prípadne klávesová matica - obr. 6.

Na signalizáciu stavu v programe Arduina sa hodia rôzne bzučiaky (po angl. buzzer) v rôznych vyhotoveniach (obr. 7). Ich hlasitosť je skutočne dostatočná pre väčšinu aplikácií.

Ak budeme chcieť Arduinom ovládať nejaké výkonové zariadenia, napr. kúrenie alebo klimatizáciu, svetlá, zásuvky, kávovar a iné, použijeme reléové moduly (obr. 8).


obr. č. 2

Programy Arduina môžu svoju činnosť upravovať na základe rôznych vstupných senzorov - od teplotných cez tlakové až po kompasy.

My sa pozrieme na pripojenie alfanumerického LCD displeja k Arduinu. V prípade, že sme si zabezpečili tzv. LCD shield (podobný tomu na obr. 9), máme to jednoduché. Shield iba zasunieme do kitu Arduina Uno, čím sme vytvorili akési poschodie (obr. 10). Shield má ešte jednu výhodu - obsahuje 6 tlačidiel, ktoré môžeme (a budeme) takisto využívať.

obr. č. 3

Ten, kto nemá LCD shield, iba samotný displej, nemusí zúfať. Pomocou niekoľkých vodičov, jedného trimera a prípadne prepojovacieho poľa dokážeme vytvoriť plnohodnotné zapojenie pre potreby našich programov.

obr. č. 4

Používať budeme alfanumerický displej s radičom HD44780. Je jedno, od akého výrobcu je displej - dôležité je použitie tohto typu radiča displeja alebo kompatibilného. Tieto radiče sú knižnicami Arduina plne podporované, preto si pred kúpou preverte typ radiča na displeji.

Možnosti alfanumerického displeja

Ako sme už spomínali, základom každého alfanumerického LCD displeja je radič HitachiHD44780 alebo kompatibilný. Tento radič vlastne vykonáva všetky potrebné funkcie (nastavenie pozície kurzora, vymazanie displeja, zobrazovanie znakov atď.). Radič obsahuje tieto základné časti:

- Registre
- Pamäte

Registre

HD44780 má dva registre:

  • Inštrukčný register slúži, ako názov napovedá, na ukladanie inštrukcií, ako je nastavenie pozície kurzora, vymazanie displeja a podobne.
  • Dátový register plní funkciu dočasného úložiska dát. Dáta budú uložené do pamäte DDRAM alebo CGRAM.

Pamäte

HD44780 obsahuje tri druhy pamäte: CGROM, CGRAM a DDRAM.

obr. č. 5

PamäťCGROM obsahuje 208 znakov vo vzore 5 × 8 bodov a 32 znakov vo vzore 5 × 10 bodov, spolu 240 znakov, ktoré vie displej zobraziť. Keďže ide o pamäť ROM, nemôžemejej obsah nikdy zmeniť. Jej obsah ostáva teda nemenný.

Pamäť CGRAM je určená na definovanie vlastných znakov vo vzore 5 × 8 bodov. Takýchto znakov si môžeme zadefinovať maximálneJe veľmi podobná pamäti CGROM, pretože uchováva znaky, ale na rozdiel od CGROM môžeme upravovať jej obsah. Keďže pamäť CGROM neobsahuje znaky s diakritikou (mäkčene a dĺžne), využijeme pamäť CGRAM na definovanie týchto znakov, prípadne iných znakov, ktoré sa v pamäti CGROM nenachádzajú.

obr. č. 6

PamäťDDRAM uchováva dáta, ktoré sú určené na zobrazenie na displeji. Napríklad ak chceme zobraziť slovo Arduino, potrebné znaky sa načítajú z pamäte CGROM a zapíšu sa do pamäte DDRAM. To, čo uvidíme na displeji, je v podstate obsah pamäte DDRAM.

Tabuľka ASCII

Základom znakov je tabuľka ASCII, ktorá obsahuje všetky znaky, ktoré je schopný LCD displej zobraziť. Každý znak má tzv. adresu vo veľkosti 8 bitov, ktorá je rozdelená na horné 4 bity a dolné 4 bity.


obr. č. 8

Opis vývodov LCD displeja

Každý LCD displej, ktorý je založený na radiči HD44780, má 16 vývodov, tabuľka zahŕňa funkciu každého z nich. Ako vidieť na obrázku č. 11, číslovanie vývodov sa začína vždy zľava, a to od vývodu, ktorý je bližšie k otvoru na skrutku (ako ukazuje červená šípka).

Tabuľka vývodov:

Č.

Označenie

Opis

1

VSS

Záporný pól napájania (-), zem

2

VDD

Kladný pól napájania (+)

3

VE (Vo)

Nastavenie kontrastu (niekedy sa označuje aj Vo)

4

RS

Register Select (0 = inštrukčný, 1 = dátový), výber registrov

5

R/W

Čítanie / zápis, (0 = zápis, 1 = čítanie) - čítanie alebo zápis do/z LCD displeja

6

EN

Enable - povolenie zápisu do registrov

7

DB0

Dáta, bit 0

8

DB1

Dáta, bit 1

9

DB2

Dáta, bit 2

10

DB3

Dáta, bit 3

11

DB4

Dáta, bit 4

12

DB5

Dáta, bit 5

13

DB6

Dáta, bit 6

14

DB7

Dáta, bit 7

15

LED+

Podsvietenie displeja - kladný pól

16

LED-

Podsvietenie displeja - záporný pól, zem

Spôsoby komunikácie s LCD displejom

Teraz môžeme vykonať pripojenie LCD displeja k Arduinu. Existujú dva módy alebo spôsoby komunikácie - 4-bitový mód a 8-bitový mód. Každý z nich má určité výhody aj nevýhody.

obr. č. 9

Štvorbitový mód má výhodu v tom, že na komunikáciu stačia iba 4 vodiče. K Arduinu (alebo k MCU) sa pripoja iba 4 dátové vodiče DB4 až DB7. Ale keďže je LCD displej 8-bitový, treba poslať 8-bitovú informáciu. No a pri 4-bitovom móde dokážeme poslať len 4 bity naraz. Tento problém sa rieši tak, že sa pošlú najprv 4 horné bity a potom 4 dolné bity a následne sa pošle aj informácia, že sú dáta kompletné. Z toho nám vyplýva, že tento mód môže byť pomalší, pretože sa vykonáva viac operácií.

obr. č. 10

Pri 8-bitovom móde sa prenáša naraz všetkých 8 bitov, takže nie sú nevyhnutné ďalšie operácie. Preto je tento mód rýchlejší, čo je jeho výhoda. Používajú sa pri ňom všetky dátové vývody (DB0 až DB7), čo nám môže zabrať viac vývodov na Arduine alebo inom mikrokontroléri, A to je nevýhoda 8-bitového módu.

Kedy použiť 4-bitový a kedy 8-bitový mód? Ak potrebujeme dostať údaje do displeja čo najrýchlejšie a máme na Arduine dostatok voľných vývodov, lepšie je použiť 8-bitový mód. Ak nám postačí menšia rýchlosť komunikácie alebo nemáme dostatok voľných vývodov na mikrokontroléri alebo na Arduine, zvolíme 4-bitový mód.
Pravdupovediac, rozdiel v rýchlosti komunikácie nie je až taký veľký, preto sa vo všeobecnosti používa 4-bitový mód.

Nabudúce budeme na displeji zobrazovať texty.

 

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

Tipy a triky: Ako na snímku obrazovky na akomkoľvek počítači s Windows?

02.12.2016 00:13

Ak snímky obrazovky robíte často apotrebujete napríklad funkcie na posun stránok alebo snímanie zobrazenia pri vyššom rozlíšení displeja, zrejme používate nejakú špecializovanú aplikáciu. Väčšina použ ...

Ako na to 1

Tipy a triky: Ako aplikácii prednastaviť spúšťanie s administrátorskými právami?

30.11.2016 00:10

Väčšina aspoň trochu skúsenejších používateľov vie, že aj keď máte na operačnom systéme Windows vytvorený administrátorský účet, aplikácie pre bezpečnosť nefungujú vždy splnými administrátorskými práv ...

Ako na to 2

Tipy a triky: Ako vypnúť uzamykaciu obrazovku vo Windows 10?

29.11.2016 00:10

Rozčuľuje vás, že pred každým prihlásením doúčtu vášho počítača musíte prejsť uzamykacou obrazovkou? Windows 10 na tejto obrazovke ukazuje čas,dátum anejakú zaujímavú fotografiu zrôznych kútov sveta. ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá