Zpět na články

ESP32 + I2C LCD displej: zobrazení textu v Arduino IDE (kompletní návod)

Návod, jak připojit I2C LCD displej k ESP32 a zobrazit text pomocí Arduino IDE.

ESP32 + I2C LCD displej: zobrazení textu v Arduino IDE (kompletní návod)

LCD displeje patří mezi nejjednodušší způsoby, jak zobrazit data z mikrokontroléru. V tomto návodu si ukážeme, jak připojit I2C LCD displej k ESP32 a zobrazit na něm text pomocí Arduino IDE.

Díky I2C komunikaci je zapojení velmi jednoduché – místo mnoha vodičů stačí pouze čtyři piny. Na displeji pak můžete zobrazovat například:

  • hodnoty ze senzorů
  • stav zařízení
  • zprávy nebo menu systému

Co je I2C LCD displej

I2C LCD je klasický 16×2 znakový LCD displej, který má přidaný I2C převodník (nejčastěji čip PCF8574). Ten převádí paralelní komunikaci displeje na I2C sběrnici.

Displej 16×2 znamená, že dokáže zobrazit 16 znaků na řádek a celkem 2 řádky textu.

Na modulu se také nachází malý potenciometr, kterým lze nastavit kontrast textu na displeji.

ESP32 Blog image
ESP32 Blog image

Výhody I2C LCD displeje

Použití I2C LCD má několik výhod oproti klasickému paralelnímu LCD.

Největší výhodou je menší počet vodičů. Klasický LCD displej potřebuje několik datových pinů a další řídicí piny, což může znamenat i více než 6 připojení k mikrokontroléru. I2C verze ale využívá sériovou komunikaci, takže stačí pouze dva komunikační piny – SDA a SCL.

Další výhodou je jednodušší zapojení. Protože je vodičů méně, zapojení je přehlednější a projekt se snáze staví například na breadboardu.

I2C také umožňuje připojit více zařízení na jednu sběrnici. Každé zařízení má vlastní I2C adresu, takže na stejné SDA a SCL piny můžete připojit například LCD, senzory nebo paměťové moduly.

Výhodou je také jednodušší programování, protože většina komunikace je řešena přímo hardwarem mikrokontroléru a knihovnami.

Nevýhodou může být mírně pomalejší komunikace než u paralelního LCD, ale u běžného zobrazování textu to většinou nevadí.

Co budete potřebovat

Pro tento projekt budete potřebovat:

  • ESP32 vývojovou desku
  • I2C LCD displej (například 16×2)
  • propojovací vodiče
  • breadboard

Tyto komponenty jsou běžné v hobby projektech s Arduino nebo ESP32.

Zapojení I2C LCD k ESP32

Zapojení je velmi jednoduché, protože I2C komunikace používá pouze čtyři vodiče.

Napájení displeje připojíte tak, že pin VCC spojíte s pinem VIN nebo 5V na ESP32 a pin GND připojíte k zemi (GND).

Komunikační piny pak připojíte na I2C sběrnici. Pin SDA z displeje se připojí na GPIO 21 na ESP32 a pin SCL na GPIO 22. Tyto piny jsou standardně používány jako výchozí I2C piny na ESP32.

Po zapojení tedy vznikne následující propojení:

  • GND displeje je připojen na GND ESP32
  • VCC displeje je připojen na VIN nebo 5V pin ESP32
  • SDA displeje je připojen na GPIO 21
  • SCL displeje je připojen na GPIO 22

Po připojení stačí zapnout ESP32 a displej je připraven k použití.

ESP32 Blog image

Instalace knihovny v Arduino IDE

Pro ovládání displeje je potřeba nainstalovat knihovnu.

Použijeme knihovnu LiquidCrystal_I2C, která umožňuje jednoduché ovládání LCD displeje přes I2C.

Postup instalace:

  1. stáhněte knihovnu LiquidCrystal_I2C
  2. rozbalte soubor ZIP
  3. složku přesuňte do adresáře Arduino/libraries
  4. restartujte Arduino IDE

Poté bude knihovna připravena k použití ve vašich projektech.

ESP32 Blog image

Zjištění I2C adresy displeje

Každé I2C zařízení má svou vlastní adresu. Nejčastější adresa LCD displejů bývá:

  • 0x27
  • 0x3F

Pokud si nejste jistí, můžete použít I2C scanner program, který všechny zařízení na sběrnici vyhledá.

Program pro zobrazení textu na LCD

Následující program zobrazí text Hello World na LCD displeji.

1#include <LiquidCrystal_I2C.h> 2 3int lcdColumns = 16; 4int lcdRows = 2; 5 6LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows); 7 8void setup(){ 9 lcd.init(); 10 lcd.backlight(); 11} 12 13void loop(){ 14 15 lcd.setCursor(0,0); 16 lcd.print("Hello, World!"); 17 delay(1000); 18 19 lcd.clear(); 20 21 lcd.setCursor(0,1); 22 lcd.print("Hello, World!"); 23 delay(1000); 24 25 lcd.clear(); 26}

Program nejprve inicializuje LCD displej a zapne jeho podsvícení. Poté nastaví kurzor na první řádek a zobrazí text. Po krátké pauze displej vymaže a text zobrazí na druhém řádku.

Základní funkce knihovny

Knihovna nabízí několik užitečných funkcí pro práci s displejem.

Funkce lcd.init() slouží k inicializaci displeje. Bez jejího zavolání displej nebude fungovat.

Funkce lcd.backlight() zapne podsvícení LCD, aby byl text dobře viditelný.

Funkce lcd.setCursor(sloupec, řádek) nastaví pozici kurzoru, kam se bude zapisovat text.

Funkce lcd.print(text) zobrazí text na displeji.

Funkce lcd.clear() vymaže celý displej a připraví ho na nový obsah.

Posouvání dlouhého textu

Pokud je text delší než 16 znaků, lze použít scrolling text – tedy posouvání textu na displeji.

To je užitečné například pro:

  • zobrazování dlouhých zpráv
  • menu zařízení
  • zobrazování názvů projektů

Knihovna umožňuje posouvání textu pomocí jednoduchých funkcí nebo vlastní funkce ve programu.

Shrnutí

V tomto článku jsme si ukázali, jak připojit I2C LCD displej k ESP32 a zobrazit text pomocí Arduino IDE. Díky I2C komunikaci je zapojení velmi jednoduché a vyžaduje pouze čtyři vodiče.

LCD displej je ideální pro projekty, kde potřebujete zobrazovat informace přímo na zařízení – například hodnoty senzorů, stav systému nebo jednoduché menu.

Nakupte svoje ESP32 ještě dnes!

Doprava Zásilkovnou za 89 Kč
Platba dobírkou
Vrácení do 30 dnů
Omezené zásoby - skladem

ESP32-S3 DevKit USB-C

Kompletní vývojová deska s USB-C

240MHz dvoujádrový
WiFi 802.11 b/g/n
Bluetooth 4.2 + BLE
4MB Flash paměť
520KB SRAM
38 GPIO pinů
209za kus

Množstevní slevy:

1
Celkem
209
Objednat

Bezpečná platba při převzetí zásilky nebo online platba přes Comgate, a.s.