Môj profil
Kategórie produktov
8. septembra 2025 NÁVOD – Znakové I2C Displeje 16×2 a 20×4

NÁVOD – Znakové I2C Displeje 16×2 a 20×4

I2C znakový displej je výborným spôsobom, ako zobrazovať informácie na obrazovke bez toho, aby bolo potrebné využívať mnoho pinov na Arduino doske. Tento typ displeja využíva komunikačný protokol I2C (Inter-Integrated Circuit), ktorý umožňuje pripojiť viacero zariadení na dva vodiče (SDA a SCL) a tým výrazne znižuje počet potrebných pinov na Arduino.

 

I2C modul pre znakový displej

I2C modul pre znakový displej je malý prevodník, ktorý sa pripája k samotnému displeju a umožňuje komunikáciu s Arduinom cez protokol I2C. Tento modul obsahuje čip, ktorý prevádza štandardný paralelný signál LCD na I2C signál, ktorý je oveľa jednoduchší na použitie. Výhodou I2C komunikácie je aj to, že na rovnaké dve dátové linky (SDA a SCL) môžete pripojiť viacero zariadení naraz – stačí im nastaviť rozdielne I2C adresy. Na našom e-shope nájdete tieto znakové displeje v dvoch variantách – s už napájkovaným I2C modulom alebo aj bez neho. Inštrukcie k variantu displeja bez I2C modulu si môžte pozrieť na stránke daného produktu v sekcii “Návod”. 

 

Schéma zapojenia

Keďže I2C modul má tieto 4 piny:

  1. VCC – napájanie (5V)
  2. GND – zem
  3. SDA – sériový dátový pin
  4. SCL – sériový hodinový pin

Zapojenie I2C znakového displeja k Arduinu bude vyzerať takto:

  • VCC pripojíme na 5V pin na Arduine
  • GND pripojíme na GND pin na Arduine
  • SDA pripojíme na A4 pin pre Arduino UNO, pre Arduino Mega použijeme pin 20 (na doske SDA 20)
  • SCL pripojíme na A5 pin pre Arduino UNO, pre Arduino Mega použijeme pin  21 (na doske SCL 21)

Pre iné modely Arduina môžu byť tieto piny rôzne, preto je vždy dobré skontrolovať schému pre konkrétny model. 

 

Knižnica pre I2C znakové displeje

Na použitie I2C znakového displeja je potrebné nainštalovať knižnicu LiquidCrystal_I2C, ktorá umožňuje jednoduchú komunikáciu s displejom. Knižnicu nainštalujeme nasledovne:

  1. Stiahnite si knižnicu tu.
  2. V Arduino IDE choďte do Sketch > Include Library > Add .ZIP Library…
  3. Vyberte stiahnutý súbor LiquidCrystal_I2C-master.zip a potvrďte.

Poznámka: Ak sa knižnica po inštalácii nezobrazí, skúste reštartovať Arduino IDE.

Po nainštalovaní knižnice môžeme začať programovať.  

Program na zobrazenie textu na displeji

/*
* NÁVOD - Znakové I2C Displeje 16x2 a 20x4
* Techfun.sk
*
* V tomto príklade sa zameriame na menší znakový displej 16x2 no
* spomenieme si aj čo je nutné zmeniť pre väčší 20x4 znakový displej.
*/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Nastavíme displej so zodpovedajúcim počtom znakov a I2C adresou 0x27
// Pre displej 16x2 použijeme lcd(0x27, 16, 2)
// Pre displej 20x4 použijeme lcd(0x27, 20, 4)
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();                 // Inicializujeme displej
  lcd.backlight();            // Zapneme podsvietenie displeja
  lcd.setCursor(0, 0);        // Nastavíme kurzor na prvý riadok, prvý stĺpec (x = stĺpec, y = riadok)
  lcd.print("Ahoj svet!");    // Zobrazíme text na displeji
  delay(2000);                // Počkáme 2 sekundy (zadávaný čas je v milisekundách)
  
  lcd.clear();                // Vymažeme text na displeji
  lcd.setCursor(3, 0);        // Opäť nastavíme kurzor na začiatok
  lcd.print("Techfun.sk");    // Zobrazíme nový text
  lcd.setCursor(0, 1);        // Opäť nastavíme kurzor na začiatok
  lcd.print("Naj Arduino shop");  // Zobrazíme nový text
}

void loop() {
  // Tu môže byť ďalší kód, ak chceme zobraziť niečo dynamické
}

 

Použitie 20×4 displeja

V tomto príklade sme si ukázali hlavne prácu so 16×2 displejom, no ako sme spomenuli v poznámkach kódu, úplne rovnakým spôsobom môžete použiť aj väčší 20×4 displej. Rozdiel je iba v jednom riadku kódu.

To znamená že namiesto:

LiquidCrystal_I2C lcd(0x27, 16, 2);

použijeme:

LiquidCrystal_I2C lcd(0x27, 20, 4);

Ostatné zapojenie a práca s knižnicou LiquidCrystal_I2C ostáva úplne rovnaká.

Takto môžete jednoducho meniť typ displeja podľa toho, aký máte k dispozícii – či už menší 16×2, alebo väčší 20×4 pre viac textu.

Ďalšie funkcie znakového displeja

Knižnica LiquidCrystal_I2C poskytuje mnoho ďalších užitočných funkcií, ako napríklad:

  • lcd.scrollDisplayLeft(); — Posunie text na displeji vľavo.
  • lcd.scrollDisplayRight(); — Posunie text na displeji vpravo.
  • lcd.noBacklight(); — Vypne podsvietenie displeja.

Nastavenie I2C adresy

Ako sme už spomínali, predvolená adresa I2C modulu je 0x27. Je možné ju však zmeniť pomocou mostíkov (jumperov) A0, A1 a A2. Tento modul podporuje nastavenie až 8 unikátnych I2C adries. Mostíky (jumpery) sú vybavené internými pull-up rezistormi, takže ak nie sú piny konkrétneho mostíku (jumperu) prepojené, jeho logická hodnota je “1”. Naopak ak sú jeho piny prepojené, logická hodnota sa zmení na “0”.

Možnosti nastavenia I2C adries:

A0 A1 A2 Adresa
0 0 0 0x20
1 0 0 0x21
0 1 0 0x22
1 1 0 0x23
0 0 1 0x24
1 0 1 0x25
0 1 1 0x26
1 1 1 0x27

 

Výhody znakového I2C displeja

  1. Jednoduchosť zapojenia: Vďaka I2C modulu sa zapojenie stáva jednoduchým a prehľadným.
  2. Flexibilita: I2C zariadenia môžu byť pripojené do série, čo znamená, že môžete pripojiť viac znakových displejov alebo iné zariadenia bez potreby extra pinov.
  3. Úspora pinov: Keďže I2C umožňuje pripojiť viac zariadení pomocou iba dvoch pinov, šetrí vám cenné digitálne piny na Arduine. Ak potrebujete zapojiť viac I2C zariadení, jednoducho si vyvediete oba SDA a SCL piny z Arduina na nepájivé pole (breadboard).

 

Ďalšie čítanie a zdroje

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *