Każdy amator radiowy po pewnej liczbie prostych kiełków dochodzi do celu, jakim jest zbudowanie czegoś imponującego w korzystaniu z czujników i przycisków. O wiele bardziej interesujące jest wyświetlanie danych niż port monitora. Ale wtedy powstaje pytanie: który wyświetlacz wybrać? I ogólnie, jak go podłączyć, co jest potrzebne do połączenia? Odpowiedzi na te pytania zostaną omówione w tym artykule.
LCD 1602
Gdzie jest używany?
Podłączanie do Arduino
#include //Dodaj wymaganą bibliotekę
LiquidCrystal lcd (765 432); //(RS, E, DB4 DB5 DB6 DB7)
void setup () {
lcd.begin (16 2); //Ustaw rozmiar ekranu
lcd.setCursor (0 0); //Ustaw kursor na początek pierwszej linii
lcd.print ("Hello, world!"); //Tekst wyjściowy
lcd.setCursor (0 1); //Zainstaluj kursor na początku linii 2
lcd.print ("fb.ru"); //Wypisz tekst
}
void loop () {
}
Co robi kod? Pierwszym zadaniem jest podłączenie biblioteki do pracy z wyświetlaczem. Jak już wspomniano powyżej, biblioteka ta jest już częścią Arduino IDE i nie jest konieczne dodatkowe pobieranie i instalowanie. Określ kontakty, które są podłączone do następujących: RS, E, DB4 DB5 DB6 DB7, odpowiednio. Następnie określa się rozmiar ekranu. Ponieważ pracujemy nad wersją 16-znakową i 2-liniową, piszemy takąznaczenie. Ustawiamy kursor na początek pierwszej linii i dedukujemy nasz pierwszy tekst Hello World. Następnie ustaw kursor na drugiej linii i wyświetl nazwę strony. To wszystko! Uwzględniono połączenie lcd 1602 z Arduino Uno.
& lt; script type = "text /javascript" & gt;
zmienna blockSettings2 = {blockID "R-A-271049-5" renderTo "yandex_rtb_R-A-70350-39" asynchroniczny :! 0};
Jeżeli (document.cookie.indexOf ("abmatch =") i GT = 0) blockSettings2.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
Co to jest I2C i dlaczego jest potrzebny?
Jak wspomniano powyżej, połączenie wyświetlacza wymaga wielu kontaktów. Na przykład podczas pracy z wieloma czujnikami i ekranem LCD 1602 kontakty mogą po prostu nie wystarczyć. Często amatorzy radiowi używają wersji Uno lub Nano, gdzie nie ma zbyt wielu kontaktów. Potem ludzie wymyślili specjalną śildę. Na przykład I2C. Umożliwia podłączenie wyświetlacza za pomocą tylko 4 kontaktów. To dwa razy mniej. Moduł I2C sprzedawany jest osobno, gdzie jest konieczne jego lutowanie i jest już zlutowany na wyświetlaczu LCD 1602.
Łączenie za pomocą modułu I2C
łączący się LCD 1602 do Arduino nano I2C zajmuje mało miejsca, a jedynie 4 informacja: ziemia, żywności i 2 wyjściami do transmisji danych. Moc i masa są podłączone odpowiednio do 5 V i GND na Arduino. Pozostały dwa kontakty: SCL i SDA są połączone z dowolnymi pinami analogowymi. Na zdjęciu widać przykład podłączenia lcd 1602 do arduino z modułem I2C:
Kod programu
Jeśli chcesz pracować z wyświetlaczem bez modułukonieczne było użycie tylko jednej biblioteki, a następnie praca z modułem wymaga dwóch bibliotek. Jeden z nich jest już w Arduino IDE - Wire. Kolejną bibliotekę, LiquidCrystal I2C, należy pobrać oddzielnie i zainstalować. Aby zainstalować bibliotekę Arduino, zawartość pobranego archiwum musi zostać pobrana do katalogu głównego Biblioteki. Przykładowy kod wykorzystujący I2C:
& lt; script type = "text /javascript" & gt;
zmienna blockSettings3 = {blockID "R-A-271049-6" renderTo "yandex_rtb_R-A-70350-44" asynchroniczny :! 0};
jeśli (document.cookie.indexOf ("abmatch =") i GT = 0) blockSettings3.statId = 70350;
! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
include
include
LiquidCrystal_I2C LCD (0x27162); //Zainstaluj wyświetlacz
void setup ()
{
lcd.init ();
lcd.backlight (); //Włącz podświetlenie ekranu
lcd.print ("FB.ru");
lcd.setCursor (8 1);
lcd.print ("LCD 1602");
}
void loop ()
{
//Ustaw kursor na drugą linię i znak zero.
lcd.setCursor (0 1);
//Wyświetlamy liczbę sekund od rozpoczęcia arduktu
lcd.print (millis () /1000);
}
Jak widać, kod jest prawie taki sam.
Jak dodać swoją postać?
Problem z tymi wyświetlaczami polega na tym, że nie ma wsparcia dla znaków i symboli cyrylicy. Na przykład potrzebujesz znaku do pobrania wyświetlacza, aby mógł go wyświetlić. W tym celu wyświetlacz pozwala na utworzenie do 7 znaków. Wyobraź sobie tabelę:
0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
Jeśli 0 - nie ma nic, jeśli 1 jest pomalowanym obszarem. W powyższym przykładzie widać tworzenie postaci uśmiechniętego uśmiechu. Na przykład program Arduino będzie wyglądał następująco:
#include
#include //Potrzebujemy biblioteki
//Uśmiech maski bitmapowej
bajtowy uśmiech