Connecting LCD I2C to Arduino Uno
From the C-tech curriculum
TL;DR
Podłączanie wyświetlacza LCD I2C do Arduino Uno jest proste, ponieważ wymaga tylko czterech przewodów. Moduł I2C do LCD upraszcza okablowanie i pozwala zaoszczędzić piny na płytce Arduino. Po podłączeniu musisz użyć biblioteki LiquidCrystal_I2C, aby sterować wyświetlaczem i pokazywać na nim tekst.
1. Model Mentalny
Wyświetlacz LCD z modułem I2C działa jak mały, zdalnie sterowany ekran. Arduino wysyła do niego krótkie wiadomości (komendy i dane) za pomocą tylko dwóch przewodów, a moduł I2C tłumaczy je na język, który rozumie LCD, oszczędzając Ci mnóstwo okablowania.
2. Materiał Podstawowy
Wyświetlacze LCD są świetne do pokazywania informacji z Twojego projektu Arduino. Tradycyjne wyświetlacze LCD (jak 16x2) wymagają wielu pinów do podłączenia do Arduino (często 6 lub więcej), co może być problemem, jeśli masz już dużo innych komponentów. Moduł I2C (Inter-Integrated Circuit) rozwiązuje ten problem, redukując liczbę potrzebnych połączeń do zaledwie czterech.
Co to jest I2C?

Photo by Pavel Danilyuk on Pexels
I2C to protokół komunikacji szeregowej, który pozwala dwóm lub więcej urządzeniom komunikować się ze sobą za pomocą tylko dwóch linii danych: SDA (Serial Data Line) i SCL (Serial Clock Line). Arduino działa jako "master", a moduł I2C na wyświetlaczu LCD jako "slave".
Wymagane Komponenty

Photo by Djenz Van Eysendeyk on Pexels
- Arduino Uno
- Wyświetlacz LCD 16x2 lub 20x4 z modułem I2C (lub osobny moduł I2C, który przylutujesz do zwykłego wyświetlacza LCD)
- Cztery przewody połączeniowe (jumper wires)
Schemat Podłączenia

Photo by Ivan S on Pexels
Oto jak podłączyć moduł I2C LCD do Arduino Uno:
graph TD
A["Arduino Uno"] --> B["Moduł I2C LCD"]
subgraph Arduino Uno
GND_A[GND] --> GND_B[GND]
VCC_A[5V] --> VCC_B[VCC]
SDA_A[A4 (SDA)] --> SDA_B[SDA]
SCL_A[A5 (SCL)] --> SCL_B[SCL]
end
subgraph Moduł I2C LCD
GND_B
VCC_B
SDA_B
SCL_B
end
- GND (Ground) z Arduino do GND na module I2C.
- 5V z Arduino do VCC na module I2C.
- A4 (Analog Pin 4) z Arduino (który jest pinem SDA dla I2C na Uno) do SDA na module I2C.
- A5 (Analog Pin 5) z Arduino (który jest pinem SCL dla I2C na Uno) do SCL na module I2C.
Znalezienie Adresu I2C

Photo by Nic Wood on Pexels
Każde urządzenie I2C ma unikalny adres. Aby Arduino mogło komunikować się z Twoim wyświetlaczem, musisz znać ten adres. Najczęściej spotykane adresy to 0x27 lub 0x3F. Jeśli nie wiesz, jaki jest adres Twojego modułu, możesz użyć prostego skryptu skanującego I2C.
Użycie Biblioteki LiquidCrystal_I2C
Aby sterować wyświetlaczem, potrzebujesz specjalnej biblioteki. LiquidCrystal_I2C jest popularnym wyborem. Jeśli jej nie masz, możesz ją zainstalować poprzez Menedżer Bibliotek w Arduino IDE (Szkic > Dołącz bibliotekę > Zarządzaj bibliotekami... i wyszukaj LiquidCrystal I2C).
3. Przykład Działający
Pokażemy, jak zainicjować wyświetlacz i wyświetlić na nim prosty tekst "Witaj, Swiecie!". Zakładamy, że Twój adres I2C to 0x27.
#include <Wire.h> // Biblioteka do komunikacji I2C
#include <LiquidCrystal_I2C.h> // Biblioteka do sterowania LCD przez I2C
// Utwórz obiekt lcd. Zmień adres (0x27) i rozmiar LCD (16,2) jeśli Twój jest inny.
// (Adres, liczba kolumn, liczba wierszy)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Zainicjuj wyświetlacz LCD
lcd.init();
// Włącz podświetlenie (jeśli dostępne)
lcd.backlight();
// Ustaw kursor na kolumnie 0, wierszu 0
lcd.setCursor(0, 0);
// Wyświetl tekst
lcd.print("Witaj,");
// Ustaw kursor na kolumnie 0, wierszu 1 (druga linia)
lcd.setCursor(0, 1);
lcd.print("Swiecie!");
}
void loop() {
// Możesz dodać tutaj dynamiczną zawartość, np. odczyty z czujników
}
Po wgraniu tego kodu na Arduino, powinieneś zobaczyć "Witaj," w pierwszej linii i "Swiecie!" w drugiej linii swojego wyświetlacza LCD.
4. Kluczowe Wnioski
- Moduł I2C redukuje liczbę połączeń z Arduino do LCD do zaledwie czterech przewodów.
- Piny A4 i A5 na Arduino Uno służą do komunikacji I2C (SDA i SCL).
- Musisz znać adres I2C swojego modułu (najczęściej
0x27lub0x3F), aby Arduino mogło się z nim komunikować. - Biblioteka
LiquidCrystal_I2Cjest niezbędna do programowego sterowania wyświetlaczem. lcd.init()uruchamia wyświetlacz, alcd.backlight()włącza podświetlenie.- Użyj
lcd.setCursor(kolumna, wiersz)przedlcd.print()aby umieścić tekst w wybranym miejscu.
Typowe Błędy do Uniknięcia
- Niewłaściwe podłączenie przewodów: Zawsze dokładnie sprawdź, czy VCC, GND, SDA i SCL są podłączone prawidłowo.
- Błędny adres I2C: Jeśli wyświetlacz nic nie pokazuje, najczęstszym winowajcą jest zły adres. Użyj skanera I2C.
- Brak zainstalowanej biblioteki: Upewnij się, że biblioteka
LiquidCrystal_I2Cjest poprawnie zainstalowana w Arduino IDE. - Brak inicjalizacji (
lcd.init()): Zapomnienie o wywołaniu tej funkcji sprawi, że wyświetlacz nie będzie działał.
5. Teraz Spróbuj
Podłącz swój wyświetlacz LCD I2C do Arduino Uno, używając przewodów do pinów 5V, GND, A4 i A5. Następnie wgraj kod z sekcji "Przykład Działający", upewniając się, że używasz poprawnego adresu I2C dla Twojego modułu.
Sukcesem będzie, gdy na wyświetlaczu LCD zobaczysz napis "Witaj," w górnej linii i "Swiecie!" w dolnej linii. Spróbuj zmienić tekst na swoje imię i nazwisko!
Frequently asked about Connecting LCD I2C to Arduino Uno
More from C-tech
Get the full C-tech curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Save this course free