pondělí 11. května 2026

Knihovna RPLCD pro LCD2004 pro Raspberry Pi

 Mua GeeekPi IIC I2C TWI Serial LCD 2004 20x4 Display Module with I2C ...Knihovna RPLCD je velmi intuitivní, protože se snaží emulovat chování standardního terminálu. Zde je přehled nejdůležitějších příkazů pro ovládání displeje LCD2004.


1. Inicializace a základní výpis

Než začneš, musíš vytvořit objekt displeje. Pro LCD2004 (4 řádky, 20 sloupců) je definice následující:

from RPLCD.i2c import CharLCD
lcd = CharLCD('i2c', 0x27, cols=20, rows=4)
  • lcd.write_string('Text'): Základní výpis textu od aktuální pozice kurzoru.

  • \r\n: Funguje uvnitř řetězce pro přechod na nový řádek.


2. Umístění kurzoru

Pozicování je klíčové pro organizaci dat na 4 řádcích. Všimni si, že číslování začíná od nuly.

  • lcd.cursor_pos = (řádek, sloupec): Hlavní příkaz pro přesun.

    • První řádek: (0, 0)

    • Druhý řádek: (1, 0)

    • Třetí řádek: (2, 0)

    • Čtvrtý řádek: (3, 0)

  • lcd.home(): Přesune kurzor na pozici (0, 0).


3. Mazání displeje

  • lcd.clear(): Kompletně smaže celý obsah displeje a vrátí kurzor na začátek (home).

  • Mazání části textu: V knihovně není přímý příkaz pro smazání jednoho řádku. Nejčastěji se to řeší tak, že nastavíš kurzor na začátek řádku a vypíšeš 20 mezer:

    lcd.cursor_pos = (1, 0)
    lcd.write_string(' ' * 20)
    

4. Nastavení kurzoru (Vzhled)

Můžeš ovlivnit, zda je kurzor vidět a jak vypadá:

  • lcd.cursor_mode = 'hide': Skryje kurzor (výchozí).

  • lcd.cursor_mode = 'line': Kurzor vypadá jako podtržítko.

  • lcd.cursor_mode = 'blink': Kurzor bude blikající obdélník.


5. Speciální funkce

  • lcd.backlight_enabled = True / False: Zapne nebo vypne podsvícení displeje (vhodné pro úsporu energie nebo signalizaci chyby).

  • lcd.display_enabled = True / False: Vypne/zapne zobrazení znaků (obsah zůstane v paměti, jen zmizí z obrazovky).


6. Vlastní znaky (Custom Characters)

LCD2004 umožňuje definovat až 8 vlastních znaků (např. symbol baterie, teploměru nebo české znaky s diakritikou).

Definují se jako bitmapa (seznam 8 bajtů):

Python
# Příklad symbolu stupně Celsia
degree = (
    0b01100,
    0b10010,
    0b10010,
    0b01100,
    0b00000,
    0b00000,
    0b00000,
    0b00000
)
lcd.create_char(0, degree)  # Uloží znak na index 0
lcd.write_string(unichr(0)) # Vypíše uložený znak

Shrnutí v tabulce

PříkazVýznam
lcd.write_string()Vypíše text na aktuální pozici
lcd.cursor_pos = (r, c)Nastaví kurzor na řádek (0-3) a sloupec (0-19)
lcd.clear()Smaže vše
lcd.backlight_enabledOvládá světlo (True/False)
lcd.home()Skočí na začátek (0,0)

Žádné komentáře:

Okomentovat

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.