Generator znaków LCD HD44780 pozwala narysować własny symbol na matrycy 5 × 8 pikseli i automatycznie przygotowuje tablicę byte oraz kod Arduino. Klikaj pola matrycy, wybierz połączenie równoległe lub I2C, a potem skopiuj gotowy szkic do Arduino IDE.
Możesz utworzyć między innymi ikonę baterii, strzałkę, termometr albo brakujący polski znak.
Sposób połączenia i uruchomienia wyświetlacza HD44780 w Arduino.
I2C
| RS | |
| RW | GND |
| Enable | |
| D4 | |
| D5 | |
| D6 | |
| D7 |
| Adres dla I2C (HEX): |
| Liczba linii | |
| Liczba kolumn |
Jak używać generatora znaków LCD?
- Kliknij piksele na siatce 5 × 8. Aktywne pola tworzą kształt znaku.
- Użyj przycisku Odwróć, jeśli chcesz zamienić zapalone i zgaszone piksele, albo wybierz jeden z gotowych symboli.
- Wskaż sposób podłączenia wyświetlacza: bezpośrednio do pinów Arduino albo przez konwerter I2C.
- Dla połączenia równoległego wpisz numery pinów. Dla I2C podaj adres modułu oraz liczbę kolumn i wierszy.
- Skopiuj wygenerowany kod, wgraj go do płytki i wyświetl znak funkcją
lcd.write().
Jak działa znak 5 × 8 w HD44780?
Typowy wyświetlacz LCD 16×2 lub 20×4 ze sterownikiem HD44780 buduje znak z ośmiu wierszy po pięć użytecznych pikseli. Każdy wiersz jest zapisany jako liczba binarna, na przykład B00100. Osiem takich wartości tworzy tablicę byte znak[8].
Własne wzory trafiają do pamięci CGRAM sterownika. W trybie znaków 5 × 8 dostępnych jest osiem pozycji o numerach od 0 do 7. Można wielokrotnie zmieniać ich zawartość, ale jednocześnie ekran przechowuje najwyżej osiem różnych własnych znaków.
lcd.write(byte(0)). Użycie samego lcd.print(0) wydrukuje cyfrę zero, a nie zaprojektowaną ikonę.createChar() i wyświetlanie własnego znaku
Funkcja lcd.createChar(numer, tablica) zapisuje wzór w jednej z ośmiu pozycji CGRAM. Następnie lcd.write(byte(numer)) wysyła znak na ekran. Generator przygotowuje oba fragmenty oraz inicjalizację biblioteki zgodną z wybranym sposobem połączenia.
Dla klasycznej biblioteki LiquidCrystal podawane są piny RS, Enable oraz D4–D7. W wersji I2C używana jest biblioteka LiquidCrystal_I2C. Jej warianty mogą różnić się sposobem inicjalizacji: niektóre wymagają lcd.init(), a inne lcd.begin(). Jeśli kod się nie kompiluje, sprawdź przykład dołączony do zainstalowanej wersji biblioteki.
LCD równoległy czy LCD z konwerterem I2C?
| Połączenie | Zalety | Na co uważać |
|---|---|---|
| Równoległe | Nie wymaga konwertera, działa z biblioteką LiquidCrystal | Zajmuje zwykle sześć pinów Arduino i wymaga poprawnego ustawienia RS, Enable oraz D4–D7 |
| I2C | Wykorzystuje tylko SDA i SCL, ułatwia prowadzenie przewodów | Trzeba znać adres modułu i użyć pasującej biblioteki |
Jeśli nie znasz adresu modułu, uruchom skaner I2C Arduino. Dla wyświetlaczy często spotyka się adresy 0x27 i 0x3F, ale należy sprawdzić konkretny egzemplarz.
Najczęstsze problemy z własnymi znakami
- Na ekranie pojawia się inny symbol: sprawdź numer przekazany do
createChar()iwrite(). - Znak jest ucięty: używaj pięciu młodszych bitów w każdym wierszu tablicy.
- Po dodaniu dziewiątego znaku znika poprzedni: HD44780 przechowuje osiem wzorów 5 × 8 jednocześnie.
- Wyświetlacz I2C nic nie pokazuje: sprawdź adres, przewody SDA/SCL, zasilanie i regulację kontrastu.
- Biblioteka zgłasza błąd begin/init: dopasuj instrukcję inicjalizacji do używanej wersji LiquidCrystal_I2C.
Najczęściej zadawane pytania
Ile własnych znaków obsługuje HD44780?
W popularnym trybie 5 × 8 sterownik przechowuje jednocześnie osiem własnych znaków, indeksowanych od 0 do 7.
Czy można zrobić polskie znaki na LCD 16×2?
Tak. Brakujące litery, na przykład ą, ć lub ł, można zapisać w CGRAM jako własne wzory. Limit ośmiu pozycji dotyczy wszystkich niestandardowych znaków używanych w danym momencie.
Czy generator działa z wyświetlaczem 20×4?
Tak, jeśli moduł korzysta ze zgodnego sterownika HD44780. W ustawieniach wersji I2C wybierz właściwą liczbę kolumn i wierszy.
Powiązane materiały
- Wyświetlacz LCD HD44780 z Arduino — podłączenie i podstawy obsługi.
- Skaner I2C Arduino — znajdź adres konwertera LCD.
- Arduino UNO pinout — sprawdź piny SDA, SCL i zasilanie.
- Generatory i kalkulatory Arduino — pozostałe narzędzia online.
Źródło techniczne: dokumentacja biblioteki LiquidCrystal oraz dokumentacja sterownika HD44780.
Dziękujemy za przeczytanie naszego artykułu. Jeśli doceniasz naszą pracę, prosimy o zapisanie się do bezpłatnego newslettera.
Powyższy przykład przygotowany na bazie kodów autorstwa: Omer Kilic (omerk)
https://omerk.github.io/lcdchargen/