Displeje‎ > ‎

LCD displej

LCD displej je lacné riešenie, ako zobrazovať údaje a nebyť pritom limitovaný na pripojenie ku počítaču. Na obrázku je zapojený displej, ktorý má v sebe nahraný program Hello world priamo z príkladov. Je tam aj pár súčiastok (LM317 a tri odpory), ktoré nie sú zapojené a funguje to aj bez nich. Funkčné súčiastky sú tri. Dva rezistory tvoria deličku napätia, ktorá definuje kontrast displeja. Posledný rezistor je pripojený k podsvieteniu, pretože tak si to odo mňa vyžadoval datasheet. Iné displeje ho nemusia vyžadovať a vtedy sa tam priamo napojí 5 V.
https://sites.google.com/site/arduinoslovakia/rozpracovane/lcd-displej/DSC02412.JPG?attredirects=0

Letovania

Displej sa obvykle dodáva bez naletovaných konektorov. Preto je ho potrebné pred prvým použitím doplniť o nejaké pohodlné konektory, ktoré umožnia jeho pohodlné pripájanie a odpájanie. Ja som na oba moje displeje priletoval kolíkové lišty, ktoré umožňujú pohodlne zastrčiť displej do prototypovej dosky.
https://sites.google.com/site/arduinoslovakia/rozpracovane/lcd-displej/DSC02415.JPG?attredirects=0

LCD BC1602AYPLEH

Takto sa volá displej, ktorý som si kúpil a len pre zaujímavosť uvádzam, čo tie písmená znamenajú:
  • 1602 - Rozlíšenie je 16x2 znaky.
  • Y - STN/yellow-green.
  • P - Positive/transreflective.
  • L - Backlight led array.
  • E - English/europeach character set.
  • H - Bottom/wide temp.

Piny

Piny sú na displeji označené a obvykle sa nachádzajú na ľavom hornom okraji displeja. Začína sa z ľavej strany:
  1. VSS - Sem sa pripája GND z Arduina.
  2. VDD - Sem sa pripája 5 V z Arduina.
  3. Vo - Kontrast. Ten je možné nastaviť potenciometrom, alebo komu sa s tým nebude chcieť hrať, stačí to napevno pripojiť cez deličku napätia. V hraničných nastaveniach to nebude ukazovať nič rozumné, takže obvykle aj tak skončíte na tom, že tam dát približne 3 V a viac sa s tým nebudete zabávať. Teraz som ešte podrobnejšie preskúmal všetky displeje, ktoré mám a je to naozaj individuálna záležitosť nastavenia pre každý displej. To čo na jednom svieti pekne, na inom je skoro nečitateľné. Takže treba si vyskúšať a nastaviť podľa svojho.
  4. RS - High - Data. Low - Inštrukcie.  Napríklad na digitálny pin 12 Arduina.
  5. R/W - Zapisovanie alebo ćítanie dát. Keďže obvykle budeme len zapisovať, pripojí sa sem GND.
  6. E - Enable signal.  Napríklad na digitálny pin 11 Arduina.
  7. DB0 - Data. V obvyklom štvorbitovom móde býva nezapojený.
  8. DB1 - Data. V obvyklom štvorbitovom móde býva nezapojený.
  9. DB2 - Data. V obvyklom štvorbitovom móde býva nezapojený.
  10. DB3 - Data. V obvyklom štvorbitovom móde býva nezapojený.
  11. DB4 - Data. V obvyklom štvorbitovom móde býva zapojený. Napríklad na digitálny pin 5 Arduina.
  12. DB5 - Data. V obvyklom štvorbitovom móde býva zapojený. Napríklad na digitálny pin 4 Arduina.
  13. DB6 - Data. V obvyklom štvorbitovom móde býva zapojený. Napríklad na digitálny pin 3 Arduina.
  14. DB7 - Data. V obvyklom štvorbitovom móde býva zapojený. Napríklad na digitálny pin 2 Arduina.
  15. A - Kladný pól podsvetlenia displeja. Niektoré displeje sú čitateľné aj bez podsvetlenia, iné nie. Toto je dobré nastaviť presne podľa datasheetu, pretože existujú dve možnosti:
    1. niektoré displeje sem umožňujú pripojiť priamo 5 V a napájajú si LED cez vlastný predradný odpor,
    2. iné ho nemajú a bez odporu by sa LED spálili.
    3. Pozor ešte na to, že ak pripojíte sem pin 5 V z Arduina a budete mať displej, ktorý má viac LED diód, bude tadeto tiecť väčší prúd a regulátor na Arduine bude dosť horúci.
  16. K - Záporný pól podsvetlenia. Sem sa pripojí GND.

LCD v Arduine

LCD pripojíme pomocou dvoch príkazov. V tomto príklade sú použité piny na Arduine podľa predchádzajúceho textu.

// pripojíme si knižnicu na prácu s LCD
#include <LiquidCrystal.h>

// Inicializujeme LCD objekt
// 12 - RS, 11 - E, 5 - DB4, 4 - DB5, 3 - DB6, 2 - DB7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Následne môžeme používať príkazy na ovládanie displeja:
  • lcd.begin(16, 2) - Nastavíme, že displej má 16 stĺpcov a 2 riadky.
  • lcd.setCursor(0, 1) - Presun kurzora na prvý stĺpec a druhý riadok.
  • lcd.print("xxx") - Vypísanie textu.
  • lcd.print("   ") - Medzerami vymažeme text.
Existujú aj iné príkazy, ale na bežné použitie stačia tieto.
Comments