Arduino a LCD displej
Ovladač HD44780
1. Displej
LCD displej s ovladačem HD44780 je jedním z nejpopulárnějších zařízení tohoto typu. Jeho hlavní výhody jsou: nízká cena, vysoká dostupnost a snadná obsluha. Rozložení lze nalézt v několika verzích. Liší se od sebe: barvy podsvícení a značek a rozměry, tj. Maximální počet znaků zobrazených najednou.
V našem obchodě jsou k dispozici následující displeje:
16x2 - 16 sloupců a 2 řádky (32 znaků)
8x2 - 8 sloupců a 2 řádky (16 znaků)
20x4 - 20 sloupců a 4 řádky (80 znaků)
2. HD44780 - ovládání
Displeje mají nejčastěji šestnáct pinů. Napájení (VDD, VSS) , kolík pro nastavení kontrastu (V0), tři ovládací linky (RS, R / W, ENABLE), osm linek datové sběrnice (D0 ... D7) a samostatné napájení podsvícení (LEDA +, LEDK- ).
Obrázek ukazuje rozměry a výstupy 16x2 LCD displeje .
Ne | název | Popis |
1 | VSS | Hmotnost |
2 | VDD | Napájení (+ 5 V) |
3 | V0 | Kontrast |
4 | RS |
Vyberte registr pokynů k zobrazení (nízký) nebo datový registr (vysoký) |
5 | R / W | Čtení (nízké) / zápis (vysoké). V režimu bez načtení příznaku zaneprázdnění může být výstup připojen k zemi. |
6 | E. | Pokud se objeví sestupná hrana, je displej připraven číst data ze sběrnice. |
7 | DB0 |
Datová sběrnice. Na tyto řádky se odesílají data a pokyny pro zobrazení. |
8 | DB1 | |
9 | DB2 | |
10 | DB3 | |
11 | DB4 | |
12 | DB5 | |
13 | DB6 | |
14 | DB7 | |
15 | LEDA | Napájení podsvícení. |
16 | LEDK | Hmotnost podsvícení |
K ovládání displeje budou použity čtyři datové linky: D4 D5, D6, D7 a výstupy: E, RS. R / W bude připojen k zemi. Další informace o režimech ovládání najdete v popisu displeje .
Díky knihovně LiquidCrystal se ovládání displeje pomocí Arduina skládá z následujících věcí:
- Inicializace - používá se k tomu metoda LiquidCrystal (rs, rw, enable, d4, d5, d6, d7) , počty jednotlivých výstupů jsou uvedeny v závorkách. Například:
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //pin RS - podłączony do cyfrowego wyjścia 12, R/W-11 itd.) lcd.begin(16, 2); // ustawienie typu wyświetlacza, w tym wypadku 16x2
- Poskytování údajů k zobrazení:
lcd.setCursor (sloupcový, řádek) ; - specifikace místa, odkud bude zobrazování znaků začínat. Napříkladlcd.setCursor(0, 1) // kolumna nr 0, wiersz nr 1 (numerowanie rozpoczyna się od zera)
lcd.print (data) - zadání řetězce, který se má zobrazit ve značkách „ data “. Např . tisk ( „ahoj, svět!“ ) ; - na displeji se zobrazuje ahoj, svět!
Podrobnější popis knihovny a ukázkových programů naleznete v projektové dokumentaci Arduino.
3. Příklad
Program z dokumentace knihovny Arduino s názvem Ahoj světe
Popis:
Příkladný program pro ovládání 16x2 LCD displeje ve 4bitovém režimu bez čtení příznaku obsazenosti
Spojení:Pin LCD RS připojený k digitálnímu výstupu č. 12
LCD Enable pin připojený k digitálnímu výstupu 11
LCD D4 pin připojený k digitálnímu výstupu č 5
LCD D5 připojený k digitálnímu výstupu č 4
LCD D6 připojený k digitálnímu výstupu č 3
LCD D7 připojený k digitálnímu výstupu č 2Kolík LCD R / W připojený k zemi
VO (kontrast) připojený k potenciometru . Potenciometr lze nahradit děličem napětí. V některých případech bude účinný také odpor několika stovek ohmů připojený od V0 k zemi.
Napájení LCD LED + podsvícení (5V)
LCD LED - podsvícení
Ačkoli některé displeje mají zabudovaný odpor omezující napájecí proud podsvícených diod, vyplatí se použít externí omezovač. V této svorce je vedení 5V připojeno přes odpor 200 Ohm.
Obrázek ukazuje připojení displeje k modulu Arduino Uno.
Kód:
//Inicjalizacja połączeń LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // Wybór rodzaju wyświetlacza - 16x2 lcd.begin(16, 2); //Przesłanie do wyświetlania łańcucha znaków hello, world! lcd.print("hello, world!"); } void loop(){ //Przejście kursora do pierwszej kolumny drugiego wiersza lcd.setCursor(0, 1);? //Odczyt oraz wyświetlenie czasu jaki upłynął od ostatniego resetu w sekundach lcd.print(millis()/1000); }Podobně byste měli postupovat u zařízení s menším a větším počtem zobrazených znaků.
4. Shrnutí
Displej je důležitým nástrojem v procesu komunikace mezi elektronickým zařízením a osobou. Užitečné pro detekci chyb během testování nebo prohlížení dat shromážděných mikrokontrolérem. Spolu s tlačítky tvoří základ uživatelského rozhraní.
Alfanumerické moduly založené na ovladači HD44780 se používají velmi snadno. V případě, že není třeba zobrazovat grafiku, fungují tato zařízení velmi dobře a jsou ochotně používána fandy i profesionály.
Obrázek ukazuje připojení16x2 LCD displeje pomocí kontaktní desky a propojovacích kabelů .