Każdy radioamator, po kilku prostych pracach typu „zrób to sam”, dąży do skonstruowania czegoś wielkiego za pomocą czujników i przycisków. W końcu o wiele ciekawiej jest wyświetlać dane na wyświetlaczu niż na monitorze portu. Ale wtedy pojawia się pytanie: jaki wyświetlacz wybrać? A w ogóle jak to podłączyć, co jest potrzebne do podłączenia? Odpowiedzi na te pytania zostaną omówione w tym artykule.
LCD 1602
Wśród wielu opcji wśród wyświetlaczy chciałbym wyróżnić wyświetlacz LCD1602 oparty na kontrolerze HD4478. Wyświetlacz jest dostępny w dwóch kolorach: białe litery na niebieskim tle, czarne litery na żółtym tle. Podłączenie LCD 1602 do Arduino również nie sprawi żadnych problemów, ponieważ jest wbudowana biblioteka i nie trzeba niczego więcej pobierać. Wyświetlacze różnią się nie tylko ceną, ale także rozmiarem. Często radioamatorzy używają 16x 2, czyli 2 linie po 16 znaków. Ale jest też 20 x 4, gdzie są 4 linie po 20 znaków. Wymiary i kolor nie odgrywają żadnej roli w łączeniu wyświetlacza lcd 1602 z Arduno, łączy się je w ten sam sposób. Kąt widzenia wynosi 35 stopni, czas reakcji wyświetlacza to 250 ms. Może pracować w temperaturach od -20 do 70 stopni Celsjusza. Podczas pracy zużywa 4 mA na ekran i 120 mA na podświetlenie.
Gdzie jest używany?
Ten wyświetlacz cieszy się popularnością nie tylko wśród radioamatorów, ale także wśród dużych producentów. Na przykład drukarki, ekspresy do kawy również używają LCD1602. Wynika to z niskiej ceny, ten wyświetlacz kosztuje 200-300 rubli na chińskich stronach. Warto tam kupić, bo w naszych sklepach marże na ten wyświetlacz są bardzo wysokie.
Połącz z Arduino
Podłączanie LCD 1602 do Arduino Nano i Uno nie różni się. Z wyświetlaczem można pracować w dwóch trybach: 4-bitowy i 8. Przy pracy z wyświetlaczem 8-bitowym używane są zarówno dolne, jak i wyższe bity, a przy 4-bitowym tylko niższe. Praca z 8-bitami nie ma szczególnego sensu, ponieważ do połączenia zostaną dodane 4 dodatkowe kontakty, co nie jest wskazane, ponieważ prędkość nie będzie wyższa, limit aktualizacji wyświetlacza wynosi 10 razy na sekundę. Generalnie do połączenia lcd 1602 z Arduino używa się wielu przewodów, co powoduje pewne niedogodności, ale są specjalne osłony, ale o tym później. Na zdjęciu podłączenie wyświetlacza do Arduino Uno:
Przykład kodu:
dołącz //Dodaj wymaganą bibliotekę LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Ustaw rozmiar ekranu lcd.setCursor(0, 0); // Ustaw kursor na początku linii 1 lcd.print("Witaj, świecie!"); // Wyświetl tekstowy wyświetlacz LCD setCursor(0, 1); // Ustaw kursor na początku linii 2 lcd.print("fb.ru"); // Wypisz tekst } void loop(){ }
Co robi kod? Przede wszystkim podłączona jest biblioteka do pracy z wyświetlaczem. Jak wspomniano powyżej, ta biblioteka jest już zawarta w Arduino IDE i nie trzeba jej dodatkowo pobierać i instalować. Następnie definiuje się styki, które są podłączone do pinów: odpowiednio: RS, E, DB4, DB5, DB6, DB7. Następnie ustawiany jest rozmiar ekranu. Ponieważ pracujemy z wersją z 16 znakami i 2 liniami, zapisujemy takie wartości. Ustawiamy kursor na początku pierwszej linii i wyświetlamy nasz pierwszy tekst Hello World. Następnie umieść kursor w drugiej linii i wyświetl nazwę strony. To wszystko! Rozważano podłączenie lcd 1602 do Arduino Uno.
Co to jest I2C i dlaczego jest potrzebne?
Jak wspomniano powyżej, podłączenie wyświetlacza wymaga wielu pinów. Na przykład przy pracy z wieloma czujnikami i wyświetlaczem LCD 1602 styki mogą po prostu nie wystarczyć. Często radioamatorzy korzystają z wersji Uno lub Nano, gdzie nie ma wielu kontaktów. Wtedy ludzie wymyślili specjalne tarcze. Na przykład I2C. Umożliwia podłączenie wyświetlacza za pomocą zaledwie 4 pinów. To dwa razy mniej. Moduł I2C jest sprzedawany zarówno osobno, gdzie trzeba go samemu przylutować, jak i już wlutowanyWyświetlacz LCD 1602.
Połączenie z modułem I2C
Podłączenie LCD 1602 do Arduino Nano za pomocą I2C zajmuje niewiele miejsca, tylko 4 piny: uziemienie, zasilanie i 2 wyjścia danych. Podłączamy zasilanie i masę odpowiednio do 5V i GND na Arduino. Pozostałe dwa styki: SCL i SDA są podłączone do dowolnych pinów analogowych. Na zdjęciu przykład podłączenia lcd 1602 do arduino z modułem I2C:
Kod programu
Jeśli do pracy z wyświetlaczem bez modułu konieczne było użycie tylko jednej biblioteki, to do pracy z modułem potrzebne są dwie biblioteki. Jeden z nich jest już w Arduino IDE - Wire. Inną bibliotekę, LiquidCrystal I2C, należy pobrać osobno i zainstalować. Aby zainstalować bibliotekę w Arduino, zawartość pobranego archiwum należy wgrać do folderu głównego Libraries. Przykładowy kod przy użyciu I2C:
include include LiquidCrystal_I2C LCD (0x27, 16, 2); // Konfiguracja wyświetlacza void setup() { lcd.init(); lcd.backlight();// Włącz podświetlenie wyświetlacza lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Ustaw kursor na drugiej linii i znaku null. lcd.setCursor(0, 1); // Wydrukuj liczbę sekund od uruchomienia arduino lcd.print(millis()/1000); }
Jak widać, kod jest prawie taki sam.
Jak dodać własny symbol?
Problem z tymi wyświetlaczami polega na tym, że nie maobsługa cyrylicy i symboli. Na przykład musisz załadować jakiś znak do wyświetlacza, aby mógł go odzwierciedlić. Aby to zrobić, wyświetlacz pozwala stworzyć do 7 swoich postaci. Przedstaw tabelę:
0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 0 |
Jeśli 0 - nic tam nie ma, jeśli 1 - to obszar zacieniony. W powyższym przykładzie widać tworzenie postaci „uśmiechniętej buźki”. Przy użyciu przykładowego programu w Arduino wyglądałoby to tak:
include include // Dołącz wymaganą bibliotekę // Symbol uśmiechu maski bitowej uśmiech bajtowy[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LCD LiquidCrystal (7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Ustaw rozmiar ekranu lcd.createChar(1, smile); // Utwórz znak numer 1 lcd.setCursor(0, 0); // Ustaw kursor na początku linii 1 lcd.print("\1"); // Wyświetl buźkę (znak numer 1) - "\1" } void loop(){ }
Jak widać, został stworzonymaska bitowa jest taka sama jak tabela. Po utworzeniu może być wyprowadzany jako zmienna na wyświetlacz. Pamiętaj, że w pamięci można zapisać tylko 7 znaków. W zasadzie to wystarczy. Na przykład, jeśli chcesz pokazać symbol stopnia.
Problemy, w których wyświetlacz może nie działać
Zdarza się, że wyświetlacz nie działa. Na przykład włącza się, ale nie pokazuje znaków. Albo w ogóle się nie włącza. Najpierw sprawdź, czy poprawnie połączyłeś kontakty. Jeśli kiedyś podłączałeś lcd 1202 do Arduino bez I2C, bardzo łatwo jest zaplątać się w przewody, co może spowodować nieprawidłowe działanie wyświetlacza. Powinieneś również upewnić się, że kontrast wyświetlacza jest zwiększony, ponieważ przy minimalnym kontraście nie jest nawet widoczne, czy LCD 1602 jest włączony, czy nie. Jeśli to nie pomoże, być może problem może leżeć w lutowaniu styków, dzieje się tak podczas korzystania z modułu I2C. Częstym powodem, dla którego wyświetlacz może nie działać, jest również nieprawidłowe ustawienie adresu I2C. Faktem jest, że jest wielu producentów i mogą ustawić inny adres, musisz to poprawić tutaj:
LiquidCrystal_I2C LCD (0x27, 16, 2);
W nawiasach widać dwie wartości, 0x27 i 16, 2 (16, 2 to rozmiar wyświetlacza, a 0x27 to tylko adres I2C). Zamiast tych wartości możesz spróbować wstawić 0x37 lub 0x3F. Otóż innym powodem jest po prostu wadliwy LCD 1602. Biorąc pod uwagę, że prawie wszystko dla Arduino jest produkowane w Chinach, nie można mieć 100% pewności, że zakupionyprodukt nie jest uszkodzony.
LCD 1602 plusy i minusy
Przyjrzyjmy się zaletom i wadom LCD 1602.
Zalety
- Cena. Moduł ten można kupić w bardzo przystępnej cenie w chińskich sklepach. Cena wynosi 200-300 rubli. Czasami sprzedawany nawet z modułem I2C.
- Łatwe do podłączenia. Chyba nikt w dzisiejszych czasach nie podłącza LCD 1602 bez I2C. A z tym modułem połączenie zajmuje tylko 4 piny, nie będzie "pajęczyn" przewodów.
- Programowanie. Dzięki gotowym bibliotekom praca z tym modułem jest łatwa, wszystkie funkcje są już zarejestrowane. A jeśli potrzebujesz dodać swoją postać, zajmie to tylko kilka minut.
Wady
W okresie użytkowania przez tysiące radioamatorów nie zidentyfikowano żadnych dużych minusów, tylko zdarzają się przypadki kupowania małżeństwa, ponieważ używane są głównie chińskie opcje wyświetlania
W tym artykule omówiono sposób podłączenia wyświetlacza LCD 1602 do Arduino, a także zaprezentowano przykładowe programy do pracy z tym wyświetlaczem. To naprawdę jeden z najlepszych w swojej kategorii, nie chodzi tylko o to, że tysiące radioamatorów wybiera go do swoich projektów!