10M+ Składniki Elektroniczne na Magazynie
Certyfikowany ISO
Gwarancja włączona
Szybka Dostawa
Części trudno dostępne?
My ich pozyskujemy.
Poproś o wycenę

Moduł wyświetlacza LCD 16x2: układ pinów, okablowanie, konfiguracja Arduino i zastosowania

maj 25 2026
Źródło: Michael Chen
Przeglądaj: 1108

Moduł wyświetlacza LCD o wymiarze 16x2 to prosty wyświetlacz tekstowy do wyświetlania informacji o zwarciach w układach elektronicznych. Może wyświetlać wartości, komunikaty, etykiety menu oraz status systemu bez wyświetlania grafiki. Działa z okablowaniem równoległym lub I2C i jest powszechna w projektach Arduino, licznikach, timerach i panelach sterujących. Ten artykuł zawiera informacje o okablowaniu, działaniu i konfiguracji.

Figure 1. 16x2 LCD Display Module

Czym jest moduł wyświetlacza LCD 16x2?

Moduł wyświetlacza LCD o wymiarze 16x2 to wyświetlacz tekstowy używany do wyświetlania informacji krótkich w układach elektronicznych. Nie jest zaprojektowany do pełnej grafiki, jak wyświetlacze OLED czy TFT. Zamiast tego najlepiej korzystać z prostych informacji, takich jak odczyty napięcia, wartości temperatury, dane timera, komunikaty systemowe i etykiety w menu.

Każdy znak jest tworzony za pomocą małej matrycy kropek, zwykle 5x8 kropek. Ponieważ wyświetlacz jest prosty, przystępny cenowo i wspierany, pozostaje powszechnym wyborem w elektronice DIY, panelach sterowania i systemach wbudowanych.

Specyfikacje modułu wyświetlacza LCD 16x2

SpecyfikacjaWartość
Format wyświetlania16 znaków × 2 linijki
Macierz znaków5 × 8 kropek
Łączna liczba pikseli1280 pikseli (32 znaki × 40 pikseli każdy)
Układ sterującyHD44780U lub kompatybilny
Napięcie robocze5V DC
Prąd operacyjny1-3 mA (bez podświetlenia)
Strumień podświetlenia120-200 mA
Temperatura pracy0°C do +50°C
Tryby komunikacji4-bitowy lub 8-bitowy równoległy
Łączna liczba pinów16 kręgli

Układ pinów i funkcje pinów LCD 16x2

Figure 2. 16x2 LCD Pinout and Pin Functions

Starszy NiePin nrNazwa koduTyp pinuOpis przypinkiPołączenie PIN
1Pin 1GruntPin źródłowyTo jest pin uziemiający LCDPodłączone do masy MCU/ Źródło zasilania
2Pin 2VCCPin źródłowyTo jest pin napięcia zasilania LCDPodłączony do pinu zasilania źródła zasilania
3Pin 3V0/VEEPin kontrolnyReguluje kontrast LCD.Podłączony do zmiennego POT, który może dostarczać 0-5V
4Pin 4Wybierz rejestrPin kontrolnyPrzełącza się między Command/Data RegisterPodłączam się do pinu MCU i otrzymuję albo 0, albo 1.
0 -> Tryb poleceń
1-> Tryb danych
5Pin 5Odczyt/ZapisPin kontrolnyPrzełącza LCD między operacją odczytu/zapisuPodłączam się do pinu MCU i otrzymuję albo 0, albo 1.
0 -> Operacja zapisu
1-> Operacja odczytu
6Pin 6WłączPin kontrolnyNależy trzymać wysoko, aby wykonać operację Read/WritePołączony z MCU i zawsze wysoko trzymany.
7Pin 7-14Bity danych (0-7)Pin danych/poleceńPiny służą do wysyłania poleceń lub danych do LCD.W trybie 4-przewodowym
Do MCUpodłączone są tylko 4 piny (0-3)
W trybie 8-przewodowym
Wszystkie 8 pinów (0-7) jest podłączonych do MCU
8Pin 15Pozytywny sygnał LEDPin LEDNormalna funkcja LED do oświetlenia LCDPodłączone do +5V
9Pin 16LED NegatywnyPin LEDNormalna funkcja LED do oświetlenia LCD podłączonego do GND.Podłączony do masy

Jak działa wyświetlacz LCD 16x2?

Figure 3. How a 16x2 LCD Display Works?

LCD 16x2 odbiera polecenia i dane znaków z mikrokontrolera. Polecenia kontrolują takie działania jak czyszczenie ekranu, przesuwanie kursora oraz włączanie lub wyłączanie wyświetlacza. Dane znaków mówią LCD, które litery, cyfry lub symbole ma pokazać.

Pin RS wybiera, czy sygnał przychodzący jest poleceniem czy danymi wyświetlanymi. Pin E umożliwia przeniesienie. Pinezki danych zawierają rzeczywiste informacje. Kontroler LCD umieszcza znaki we właściwej pozycji wyświetlania.

Tryby okablowania LCD 16x2: 4-bitowy, 8-bitowy i I2C

Figure 4. 16x2 LCD Wiring Modes: 4-Bit, 8-Bit, and I2C

TrybPiny używane do danychGłówna zaletaOgraniczenieNajlepsze dla
Tryb 4-bitowyD4, D5, D6, D7Zapisuje piny GPIONieco wolniejszy niż tryb 8-bitowyProjekty Arduino, proste menu, wyświetlacze sensorów
Tryb 8-bitowyD0 do D7Wysyła pełny bajt narazUżywa więcej pinów GPIOStarsze systemy lub konstrukcje z wieloma wolnymi pinami
Tryb I2CSDA i SCLRedukuje okablowaniePotrzebny jest poprawny adres i bibliotekaKompaktowe projekty i czystsze okablowanie

Jak podłączyć wyświetlacz LCD 16x2 do Arduino?

Figure 5. How to Connect a 16x2 LCD Display to Arduino?

Najczęściej stosowane połączenie Arduino korzysta z trybu 4-bitowego. Metoda ta wykorzystuje cztery piny danych LCD oraz kilka pinów sterujących.

Pin LCDPołącz się z ArduinoCel
VSSGNDGrunt
VDD5VZasilanie LCD
V0 / VEEŚrodkowy pin potencjometruKontrola kontrastu
RSArduino digital pinWybiera polecenie lub dane
RWGNDTryb zapisu
EArduino digital pinWłącz sygnał
D4-D7Cyfrowe piny ArduinoTransfer danych
A / LED+5V przez rezystor, jeśli jest potrzebnyPodświetlenie pozytywne
K / LED-GNDPodświetlenie negatywne

Przykładowy kod Arduino 

#include

// RS, E, D4, D5, D6, D7

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

void setup() {

lcd.begin(16, 2);

lcd.print ("16x2 LCD Ready");

lcd.setCursor(0, 1);

lcd.print ("Hello World");

}

void loop() {

}

Kod ten inicjalizuje LCD i drukuje tekst w obu wierszach.

Jak używać wyświetlacza LCD 16x2 z modułem I2C?

Figure 6. How to Use a 16x2 LCD Display with an I2C Module?

I2C 16x2 LCD ma do wyświetlacza przymocowaną małą deskę plecaka. Ta płytka przekształca standardowy interfejs równoległy w dwuprzewodowy interfejs komunikacyjny, wykorzystując SDA i SCL.

Wersja I2C jest przydatna, gdy projekt ma ograniczoną liczbę pinów mikrokontrolera lub wymaga czystszego okablowania. Potrzebne są tylko VCC, GND, SDA i SCL.

Podstawowy przykład kodu LCD I2C

#include

#include

Typowe adresy I2C: 0x27 lub 0x3F

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {

lcd.init();

lcd.backlighting();

lcd.setCursor(0, 0);

lcd.print ("I2C LCD Ready") );

lcd.setCursor(0, 1);

lcd.print(" "Adres: 0x27");

}

void loop() {

}

Jeśli wyświetlacz nie reaguje, użyj skanera I2C, aby znaleźć właściwy adres.

Równoległy LCD 16x2 vs I2C 16x2 LCD

Figure 7. Parallel 16x2 LCD vs I2C 16x2 LCD

CechaRównoległy 16x2 LCDI2C 16x2 LCD
OkablowanieZużywa więcej przewodówZużywa mniej przewodów
Zastosowanie GPIOWyżejDolny
Konfiguracja koduWykorzystuje bezpośrednie mapowanie pinówUżywa adresu I2C
Skupienie na rozwiązywaniu problemówKolejność pinów, RS, E, linie danychAdres, SDA/SCL, biblioteka
Wartość uczenia sięLepsze do zrozumienia sygnałów LCDLepsze do szybkiego budowania projektu
KosztTańszeZazwyczaj nieco wyższe
Najlepsze zastosowanieBezpośrednia kontrola i uczenie sięKompaktowe okablowanie i ograniczone projekty GPIO

Typowe problemy z LCD 16x2 i rozwiązywanie problemów 

ProblemMożliwa przyczynaRozwiązanie
Podświetlenie się włącza, ale tekst się nie pojawiaZły kontrast lub nieudana inicjalizacjaDostosuj kontrast i sprawdź kod
Czarne pudełka pojawiają sięLCD ma zasilanie, ale nie jest inicjalizowanySprawdź RS, E, piny danych i konfigurację biblioteki
Losowe znaki pojawiają sięLuźne przewody lub błędne mapowanie pinówSprawdź ponownie okablowanie i kolejność pinów kodowych
Brak podświetleniaPiny A/K odwrócone lub brak podświetleniaSprawdź okablowanie LED+ i LED
I2C LCD nie wykrytyZły adres lub problem z SDA/SCLUruchom skaner I2C
Tekst jest zbyt słabySłaby kontrast lub słabe napięcie zasilaniaWyreguluj V0 i sprawdź moc
Migotanie wyświetlaczaNiestabilne zasilanie lub powtarzające się czyszczenie ekranuUżywaj stabilnej mocy i ograniczaj częste clear() połączenia
Czasami wyświetlanie działaLuźne połączenie płyty stykowej lub słabe połączenie lutowniczeZabezpiecz okablowanie i sprawdź lutowanie

Polecenia LCD 16x2 i niestandardowe znaki

Wyświetlacz LCD 16x2 obsługuje polecenia kontrolujące pozycję kursora, wyczyszczanie ekranu, przesuwanie tekstu oraz niestandardowe znaki. Postacie niestandardowe są przechowywane w CGRAM i mogą być używane jako małe ikony, takie jak symbole baterii, strzałki, znaki stopni, paski sygnalizacji czy bloki postępu.

Prosty przykład niestandardowej postaci 

#include

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

bajt batteryIcon[8] = {

 B01110,

 B11011,

 B10001,

 B10001,

 B11111,

 B11111,

 B11111,

 B00000

};

void setup() {

 lcd.begin(16, 2);

 lcd.createChar(0, batteryIcon);

lcd.setCursor(0, 0);

 lcd.print ("Bateria: ");

 lcd.write(byte(0));

}

void loop() {

}

Niestandardowe znaki sprawiają, że wyświetlacz jest bardziej użyteczny dla prostych interfejsów użytkownika bez potrzeby ekranu graficznego.

Wyświetlacze LCD 16x2 vs OLED, TFT, 7-segmentowe i szeregowe

Typ wyświetlaniaNajlepsze dlaPrzewagaOgraniczenie
16x2 LCDSMS, numery i komunikaty statusoweNiskie koszty i łatwość obsługiBrak pełnej grafiki
I2C 16x2 LCDWyświetlanie tekstu z mniejszą liczbą przewodówProste okablowaniePotrzebny jest poprawny adres i biblioteka
Wyświetlacz OLEDOstry tekst i drobne grafikiWysoki kontrast i kompaktowy rozmiarMniejszy obszar wyświetlania w wielu modułach
Wyświetlacz TFTInterfejs kolorów i grafikaObsługuje obrazy i koloryBardziej złożony kod i okablowanie
Wyświetlacz 7-segmentowyWartości numeryczneBardzo czytelne dla liczbSłaby tekst
Szeregowy LCDProsta komunikacja mikrokontrolerówŁatwa kontrolaCzęsto droższe

Najczęściej zadawane pytania [FAQ]

Q1. Kiedy powinienem używać równoległego LCD zamiast LCD I2C?

Używaj równoległego LCD, gdy chcesz nauczyć się bezpośredniej kontroli LCD. Używaj LCD I2C, gdy potrzebujesz mniej przewodów i chcesz czystszego okablowania.

Q2. Dlaczego na LCD pojawiają się czarne okienka?

Czarne skrzynki oznaczają, że LCD ma zasilanie, ale nie jest poprawnie zaificjalizowany. Sprawdź kod, konfigurację biblioteki i połączenia elektryczne.

Q3. Co robi pin RS?

Pin RS wybiera, czy LCD otrzymuje polecenie, czy dane wyświetlania. Pomaga to LCD wiedzieć, czy sterować ekranem, czy pokazać postacie.

Q4. Dlaczego pin RW często jest podłączony do masy?

Większość projektów zapisuje dane tylko na LCD, więc RW jest podłączony do masy, aby utrzymać go w trybie zapisu. To również oszczędza jeden pin mikrokontrolera.

Q5. Dlaczego potrzebny jest skaner I2C?

Skaner I2C pomaga znaleźć właściwy adres LCD, taki jak 0x27 lub 0x3F. Jeśli adres jest błędny, wyświetlacz może nie odpowiadać.