Skip to content
2026.06.02.
  • F
  • X
  • LinkedIn
  • YouTube
  • Instagram
  • GitHub
TavIR

TavIR

Mikrokontroller világ

  • TavIR Tudástár
  • TavIR WebShop
  • TavIR Fórum
  • Hírek
  • Könyvek
    • Egyszerű elektronika – Kezdőlap
    • ESP8266/ESP32
    • Tippek
      • Tippek-trükkök (AVR)
      • Tippek-trükkök (ESP8266/ESP32)
  • +Gyorstippek
  • +Mélyvíz
  • +Témakereső
  • Kapcsolat
  • Főoldal
  • Tippek
  • Tippek-trükkök (AVR)
  • Automata I2CLCD kijelző illesztés
  • Tippek
  • Tippek-trükkök (AVR)

Automata I2CLCD kijelző illesztés

Robert 2021.11.15.
20x4-es kék háttérvilágítású LCD kijelző Arduino-hoz csatlakoztatva,

Szeretem az I2C bővítővel szerelt LCD-kijelzőket mindenféle projektben használni. Sok szempont dominál mellette:

  • meglehetősen kedvező az ára,
  • hasznos a hibakereséshez vagy a végfelhasználói információkhoz,
  • csak 2 kivezetést + tápfeszültséget használ (de az I2C busz lehet más I2C eszközzel megosztottan is), valamint
  • kevés programmemóriával is beéri.

Tartalomjegyzék

Toggle
  • Hozzávalók
    • Eszközök
    • Szoftver
  • Hogy néz ki az I2CLCD-vel szerelt LCD modul?
  • Probléma és megoldás
  • Eredmény
    • Magyarázat
  • Mintaprogramok

Hozzávalók

Eszközök

  • Önálló I2C LCD modul és
  • Karakteres kijelző vagy
  • Egybeépített karakteres kijelző és I2CLCD modul
  • Arduino UNO alaplap
  • Jumper/Dupont kábel (anya-anya) – 4 érnyi

Szoftver

  • Arduino IDE keretrendszer
    A cikk a Windows alatti 1.8.13 verzióval készült.

Hogy néz ki az I2CLCD-vel szerelt LCD modul?

Az eszköz vagy készre szerelten érhető el, vagy ha épp speciális méret vagy csatlakozás van a karakteres kijelzőn, akkor az I2CLCD külön modullal házasítom össze. Általában valami ilyesmi lesz belőle:

A képen egy 16x2-es (16 karakter széles és 2 soros) LCD kijelző látható zöld háttérrel, amelyhez egy I2C interfész modul van csatlakoztatva. Az I2C modul egyszerűsíti a kijelző vezérlését, lehetővé téve a kevesebb kábel használatát Arduino vagy más mikrokontroller rendszerekhez. A modulon egy kék színű potenciométer is található, amely a kijelző kontrasztjának állítására szolgál.
16×2 LCD kijelző és egy I2C interfész modullal, kontrasztállító potenciométerrel.

Az I2CLCD modulok többféle chippel készülnek – a gyakoribb PCF8574 / PCF8574A mellett az MCP23008, MCP23016 is előfordul… A PCF8574/PCF8574A chipeknek a legjobb a támogatása – ám mindegyiknek más a címtartománya – PCF8574 (0x20-0x27), PCF8574A (0x38-0x3F)…

Probléma és megoldás

Amikor újabb eszköz kerül a készletembe – tuti más címen lehet megszólítani, mint az eddigieket. És a kódot sem örömünnep állandóan átírni….

1567 idea - Cseh Robert / TavIR - i2clcd,autodetect,lcd,arduinoFelmerül az ötlet: ha az I2Cdetect programmal a cím megkereshető, és utána én adom meg a következő programban – nem lehetne ezt a két lépést összevontan automatizálni?

Az ötletet tett követte, az alábbi feltételrendszert betartásával:

  • csak PCF8574/PCF8574A alapú bővítőt használok,
  • a bővítő bármely, a PCF8574/PCF8574A chip által biztosított címen lehet,
  • csak egy LCD kijelző van az áramkörön,
  • más funkcióra nem használok PCF8574/PCF8574 chipet.

Eredmény

A detektálás folyamata és utána az I2CLCD modullal az LCD kezelés az alábbi kódot eredményezte (így nem kell minden alkalommal szerkesztenem a kódot, amikor újabb adag LCD-t kapok):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const uint8_t addresses[] = { 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,  
                              0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f };
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int numLcdCols = 16;
const int numLcdrows = 2;
LiquidCrystal_I2C lcd(addresses[1], numLcdCols, numLcdrows);
  // init lcd object (standard address)
 
void setup() {
  int i;
  Wire.begin();
  for(i = 0; i < sizeof(addresses); i++) {
    Wire.beginTransmission(addresses[i]);
    if (Wire.endTransmission() == 0) {
      lcd = LiquidCrystal_I2C(addresses[i], numLcdCols, numLcdrows);
      // reinitialise lcd with new address
      lcd.init();
      // initialise the newly found lcd
      lcd.backlight();
      lcd.clear();
      lcd.print("Hello World!");
      lcd.print (addresses[i], HEX);
      break;
    }
  }
  if (i >= sizeof(addresses)) {
      //Log.error("No display found");
      while(1);       //STOP
  }
}  
 
void loop()
{
  delay(1000);
  lcd.clear();
  lcd.print("Hello World!");
}

Magyarázat

A program elején a lehetséges I2C bővítőpanelek címei vannak megadva, majd az I2C (Wire) eszközkönyvtár és a I2C alapú LCD kezelőprogram hivatkozásai kerültek elhelyezésre. És még végül az LCD sor és oszlop méretei vannak megadva, majd végül inicializálva az alapértelmezett címen az LCD-t.

A kiválasztott címtartományban tesztelésre kerül, hogy a bővítő „megszólal”-e. Ha megszólal, ott az LCD újrabeállításra és újrainicializálásra kerül. Ha nincsen LCD bővítő egyáltalán a cemíek egyikén sem – a program leáll.

És a főprogramban látható az LCD kezelés mintája is…

A képen egy sárga háttérvilágítású 16x2-es LCD kijelző látható, amelyen egy tesztüzenet jelenik meg:
16×2 LCD kijelző sárga háttérvilágítással, tesztüzenettel és átlátszó plexiházban rögzítve.

Mintaprogramok

Az itt levő állományok a cikkhez kapcsolódó mintákat tartalmazzák. Az ezekben szereplő kódok szabadon felhasználhatóak – a bennük levő copyright betartásával.

  • I2CDetect
  • Autodetect LCD

Kapcsolódó cikkek:

– Az LCD Keypad shield használata és a játékok
– TMP36 hőmérő és az Arduino
– LM35 hőmérő és az Arduino
– Karakteres IIC/TWI LCD és kezelése Arduino programból

Tags: i2c i2clcd kijelző LCD

Post navigation

Előző AVR Biztosítékbitek
Következő LM35 hőmérő és az Arduino

Kapcsolódó anyagok

DS3231 és DS1307 RTC modul: CR2032 vagy LIR2032? DS1307/DS3231 RTC modulok és az akku/elem
  • Cikk
  • Mélyvíz
  • Tippek

DS3231 és DS1307 RTC modul: CR2032 vagy LIR2032?

2026.04.20.
A digitális idő paradoxonja: az óraátállítás árnyoldalai Ködös kertben analóg és digitális óra, köztük egy végtelen jelet formázó fényív, alatta automata locsoló rendszer – az őszi óraátállítás kettőzött időpontját szimbolizálva.
  • Cikk
  • Mélyvíz
  • Tippek

A digitális idő paradoxonja: az óraátállítás árnyoldalai

2025.10.23.
Hogyan válassz mikrokontrollert? – Részletes útmutató kezdőknek és haladóknak Fiatal férfi laptopon programoz Arduino eszközöket egy technológiai laborban, miközben egy holografikus áramkör-diagramot néz.
  • Cikk
  • Mélyvíz
  • Tippek-trükkök (AVR)
  • Tippek-trükkök (ESP8266/ESP32)

Hogyan válassz mikrokontrollert? – Részletes útmutató kezdőknek és haladóknak

2025.07.02.

Hírlevél

Hogy az újdonságokról első kézből értesülj:
→ Feliratkozás a Hírlevélre

Ingyenes tanfolyam

60 nap alatt Arduino - az ingyenes tanfolyam
→ Kattints ide és iratkozz fel!
60 nap alatt Arduino

Szeretnél egy lépéssel a többiek előtt járni?

Ne hagyd ki a legújabb tanfolyamokat, amik még csak most bontogatják szárnyaikat.

Legyél te az első! Tanfolyamok

Alkatrész-tár

→ TavIR WebShop
→ Tanulókészletek

Témakörök

  • Cikk (60)
  • Hír (43)
  • Könyv (39)
    • Egyszerű elektronika tippek (18)
    • ESP8266/ESP32 (2)
    • Mélyvíz (12)
    • Mit ne használjunk Arduino projektekben? (6)
  • OmegaFlux (2)
  • Tippek (60)
    • Gyorstippek (20)
    • Tippek-trükkök (AVR) (21)
    • Tippek-trükkök (ESP8266/ESP32) (5)

Fórum

Hiba történt: a hírcsatorna nem elérhető. Később próbálkozzunk újra.
  • Tovább a TavIR Fórumra...

TavIR WebShop

→ Tovább a TavIR WebShopba
TavIR LCD4x20 (kék-fehér, 2004)
TavIR LCD4x20 (kék-fehér, 2004)

A kijelző 4 x 20 karakteres kialakítású, mely az KS0066 [...]

JT-A1250 1.25 csatlakozó, 2 pin, 20cm, szerelt apa (1.25mm, micro, lengő)
JT-A1250 1.25 csatlakozó, 2 pin, 20cm, szerelt apa (1.25mm, micro, lengő)

JT-A1250 / Joint Tech A1250 sorozatú, 1.25 mm raszterű, 2 [...]

4x Optocsatolt FET kapcsolómodul (PWM, 36V/5..20A)
4x Optocsatolt FET kapcsolómodul (PWM, 36V/5..20A)

A 4 csatornás MOSFET kapcsoló modul akkor jön jól, amikor [...]

1.47&quot; IPS TFT (172x320; ST7789;SPI)
1.47&quot; IPS TFT (172x320; ST7789;SPI)

Kompakt színes kijelző Arduino, ESP32, STM32 és Raspberry Pi alapú [...]

ESP32‑S3 WROOM-N16R8 CAM Development Board (Wi‑Fi + Bluetooth)
ESP32‑S3 WROOM-N16R8 CAM Development Board (Wi‑Fi + Bluetooth)

Az ESP32‑S3 WROOM‑N16R8 CAM fejlesztőpanel akkor jön jól, amikor a [...]

NodeMCU ESP32 / NodeMCU32 (ESP32-WROOM-32D; CP2102; 30pin; USB-C)
NodeMCU ESP32 / NodeMCU32 (ESP32-WROOM-32D; CP2102; 30pin; USB-C)

Az ESP32 DevKit V1 USB-C CP2102 30 pin fejlesztőpanel akkor [...]

2.8&quot; TFT LCD (240*320; SPI; Touch) + SD (ILI9341)
2.8&quot; TFT LCD (240*320; SPI; Touch) + SD (ILI9341)

A 2.8″ TFT LCD (240×320; SPI; Touch) + SD (ILI9341) [...]

TavIR IIC-LCD illesztő (TWI/I2C/I2CLCD)
TavIR IIC-LCD illesztő (TWI/I2C/I2CLCD)

Karakteres LCD kijelző I 2 C buszra - kevesebb vezetékkel, [...]

WT32‑ETH01 - ESP32 Ethernet, Wi‑Fi, Bluetooth modul
WT32‑ETH01 - ESP32 Ethernet,  Wi‑Fi,  Bluetooth modul

A WT32‑ETH01 egy professzionális beágyazott hálózati gateway modul , amely [...]

Meghajtómotor (fém-áttétel, 2 oldalas)
Meghajtómotor (fém-áttétel, 2 oldalas)

A Meghajtómotor (fém-áttétel, 2 oldalas) egy TT-formátumú, 3 V-6 V [...]

4x összefűzött 8x8 mátrix LED (MAX7219/MAX7221)
4x összefűzött 8x8 mátrix LED (MAX7219/MAX7221)

A 4x összefűzött 8×8 mátrix LED (MAX7219/MAX7221) egy kompakt, 8×32 [...]

E22-900T22U USB LoRa modul
E22-900T22U USB LoRa modul

Az Ebyte E22-900T22U USB LoRa modul USB csatlakozású, LoRa szórt [...]

Címkék

alappanel Arduino Arduino nap Arduino nap 2023 art AVR biztosíték darlington dióda eeprom egyszerű elektronika elem ellenállás ESP Espressif Systems flash Forrasztás ft232 fusebit hőmérő i2c i2clcd infravörös ISP JTAG kijelző LCD lm35 MOSFET motor nyák pcb páratartalom Relé RTC telepítés tmp36 tranzisztor Történelem Uno wiring WOM Zener április 1 óra

Archívum

  • 2026. május (3)
  • 2026. április (2)
  • 2026. március (5)
  • 2026. február (3)
  • 2026. január (3)
  • 2025. december (2)
  • 2025. november (2)
  • 2025. október (3)
  • 2025. augusztus (3)
  • 2025. július (7)
  • 2025. június (4)
  • 2025. május (6)
  • 2025. április (3)
  • 2025. március (3)
  • 2025. február (1)
  • 2025. január (6)
  • 2024. december (5)
  • 2024. november (5)
  • 2024. október (6)
  • 2024. szeptember (5)
  • 2024. augusztus (4)
  • 2024. július (3)
  • 2024. június (1)
  • 2024. május (3)
  • 2024. március (1)
  • 2024. február (2)
  • 2024. január (1)
  • 2023. december (5)
  • 2023. szeptember (2)
  • 2023. augusztus (6)
  • 2023. július (2)
  • 2023. június (1)
  • 2023. május (1)
  • 2023. április (10)
  • 2023. február (1)
  • 2022. szeptember (2)
  • 2022. július (1)
  • 2022. május (6)
  • 2022. április (1)
  • 2022. március (2)
  • 2022. január (3)
  • 2021. december (1)
  • 2021. november (4)
  • 2021. október (2)
  • 2021. szeptember (1)
  • 2021. július (1)
  • 2021. május (2)
  • 2021. április (1)
  • 2021. március (2)
  • 2020. szeptember (1)

Eddig nem olvasott...

Arduino IDE 2.3.9 – gyorsabb fordítás, de figyelj a cache-re Arduino IDE 2.3.9 megjelent - 2026. 05. 26.
  • Hír

Arduino IDE 2.3.9 – gyorsabb fordítás, de figyelj a cache-re

2026.05.31.
ESP32 család – Hát én immár kit válasszak? EPS kiválasztási stratégia
  • Cikk
  • ESP8266/ESP32

ESP32 család – Hát én immár kit válasszak?

2026.05.15.
A NYÁK napja: apró rézösvények a zöld mezőn 11245 nyak - Cseh Robert / TavIR - i2clcd,autodetect,lcd,arduino
  • Cikk

A NYÁK napja: apró rézösvények a zöld mezőn

2026.05.01.
DS3231 és DS1307 RTC modul: CR2032 vagy LIR2032? DS1307/DS3231 RTC modulok és az akku/elem
  • Cikk
  • Mélyvíz
  • Tippek

DS3231 és DS1307 RTC modul: CR2032 vagy LIR2032?

2026.04.20.

Információk

Cégadatok-impresszum | Használati feltételek
Adatvédelmi irányelvek | Kapcsolat

Elérhetőség

Ügyfélszolgálat: +36 (20) 99-23-781
E-mail: avr (kukac)tavir (pont) hu
Iroda/telephely: 1181 Budapest, Szélmalom utca 13.
Copyright © TavIR Minden jog fenntartva | DarkNews by AF themes.
TavIR
Manage your privacy

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

Funkcionális Always active
A technikai tárolás vagy hozzáférés szigorúan szükséges az előfizető vagy felhasználó által kifejezetten kért konkrét szolgáltatás használatának lehetővé tételének jogos céljához, vagy kizárólag a közlés elektronikus hírközlő hálózaton keresztüli továbbításának céljához.
Beállítások
A technikai tárolás vagy hozzáférés a jogos célból szükséges, hogy olyan beállításokat tároljunk, amelyeket az előfizető vagy a felhasználó nem kért.
Statisztika
Kizárólag statisztikai célokra használt technikai tároló vagy hozzáférés. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
A technikai tárolás vagy hozzáférés felhasználói profilok létrehozásához szükséges hirdetések küldéséhez, illetve a felhasználó nyomon követéséhez egy vagy több weboldalon hasonló marketingcélokból.
Statistics

Marketing

Features
Always active

Always active
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Manage options
{title} {title} {title}