Spisu treści:

Przewiń pojedynczą linię LCD: 4 kroki (ze zdjęciami)
Przewiń pojedynczą linię LCD: 4 kroki (ze zdjęciami)

Wideo: Przewiń pojedynczą linię LCD: 4 kroki (ze zdjęciami)

Wideo: Przewiń pojedynczą linię LCD: 4 kroki (ze zdjęciami)
Wideo: [PL] ELEKTRONIKA MK52. NAJLEPSZY KALKULATOR NA ŚWIECIE! 2024, Listopad
Anonim
Image
Image

Biblioteka ciekłokrystaliczna ma dwie przydatne funkcje scrollDisplayLeft() i scrollDisplayRight(). Te funkcje przewijają cały wyświetlacz. Oznacza to, że przewijają oba wiersze na 1602 LCD i wszystkie cztery wiersze na 2004 LCD. To, czego często potrzebujemy, to możliwość przewijania pojedynczej linii na tych wyświetlaczach, zamiast przewijania całego wyświetlacza.

Ta instrukcja zapewnia dwie dodatkowe funkcje, scrollInFromRight (linia do wyświetlania tekstu, ciąg do przewijania) i scrollInFromLeft (linia do wyświetlania tekstu, ciąg do przewijania). Te dwie funkcje, które przewijają wiersze na ekranie LCD, w połączeniu z dwiema funkcjami, scrollLineRight (linia do wyświetlania tekstu, ciąg do przewijania) i scrollLineLeft (linia do wyświetlania tekstu, ciąg do przewijania) z mojego wcześniejszego Instructable, który przedstawił funkcje przewijania linii z ekranu dają nam kilka potężnych sposobów kontrolowania sposobu wyświetlania tekstu na ekranie LCD lub usuwania z niego.

Krok 1: Co jest potrzebne

Połączenie
Połączenie

- Samodzielny wyświetlacz LCD 1602 lub 2004 lub osłona LCD

--Patrz uwaga poniżej dotycząca korzystania z wyświetlacza LCD 2004

- Arduino UNO R3 lub klon

- Kabel USB do połączenia Arduino z komputerem

- Półwymiar, 400 punktów wiązania, płytka stykowa

- IDE Arduino

- Platforma eksperymentalna (opcjonalna, ale pomocna)

Wymagane elementy to ekran LCD 1602 lub 2004 [jeśli używany jest 2004, będzie działać bez problemów przewijanie od prawej strony poprzez zmianę funkcji lcd.begin(), aby odzwierciedlić, że teraz używasz linii 20 znaków x 4 wyświetlacz. [Aby przewijać od lewej strony przy użyciu wyświetlacza 2004, konieczne jest przepisanie kodu funkcji crollInFromLeft()]. Oprócz wyświetlacza LCD będziesz potrzebować Arduino UNO lub klona, Arduino IDE i kabla USB do podłączenia Arduino do komputera.

Ekran LCD może być użyty zamiast samodzielnego wyświetlacza LCD pokazanego tutaj. W takim przypadku należy zmienić przypisania pinów wyświetlacza LCD na poniższym szkicu.

- Dla niezależnego wyświetlacza LCD 1602 w moich szkicach użyłem następujących przypisań pinów:

// LiquidCrystal (rs, włącz, d4, d5, d6, d7)

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

i zawierał bibliotekę Liquid Crystal LiquidCrystal.h.

- W przypadku osłony LCD w moich szkicach używam następujących przypisań pinów, a także dołączyłem bibliotekę ciekłokrystaliczną LiquidCrystal.h.

// LiquidCrystal (rs, włącz, d4, d5, d6, d7)

LCD LiquidCrystal (8, 13, 9, 4, 5, 6, 7);

Każda trasa uruchomi kod tutaj, tj. albo ekran LCD, albo samodzielny wyświetlacz LCD. W tym Instruktażowym zastosowano samodzielny wyświetlacz LCD 1602, ale jak wspomniano, można również użyć ekranu 1602, jeśli brane są pod uwagę różne przypisania pinów.

Użyłem „platformy eksperymentalnej” do podłączenia Arduino UNO do półwymiarowej, 400 punktów wiązania, płytki stykowej. (Zobacz moją wcześniejszą instrukcję „Platforma eksperymentalna dla Arduino UNO R3, jak przygotować ją do użycia”). Jednak eksperymentalna platforma nie jest potrzebna, chociaż dla mnie to znacznie ułatwia i przyspiesza podłączenie LCD do UNO.

Przypisania, których użyłem do podłączenia LCD do UNO, można zobaczyć powyżej.

Krok 2: Podłączenie

Wyświetlacz LCD jest podłączony do płytki stykowej, a następnie przewody przyłączeniowe są podłączane z płytki stykowej do odpowiednich pinów w Arduino (patrz krok 2, jeśli masz jakiekolwiek pytania dotyczące połączeń, których użyłem).

Do tego projektu wolałem samodzielny wyświetlacz LCD niż ekran, ponieważ był to dla mnie bardziej satysfakcjonujący i pozwalał mi łatwo zobaczyć, które piny są dostępne. Pozwala mi też na użycie potencjometru z pokrętłem, a nie potencjometru tarczowego, który trzeba wyregulować śrubokrętem.

Samodzielny wyświetlacz LCD wymaga użycia oddzielnego potencjometru 10 kΩ. Jak wspomniano powyżej, użyłem jednego z pokrętłem, którego wycieraczka jest podłączona do trzeciego pinu LCD (licząc od prawej strony z pinami LCD skierowanymi do ciebie). Potencjometr służy do kontroli kontrastu wyświetlacza LCD. Połączenia są takie same dla 1602 i 2004. Jednak stwierdzenie lcd.begin(16, 2) należy zmienić w szkicu na lcd.begin(20, 4), aby pokazać, że nasz LCD zmienił się z 16 wyświetlacz znak po dwóch wierszach do 20 znaków po czterech wierszach.

Spojrzenie na załączone zdjęcia pokazuje podłączenie, którego użyłem, w tym platformę eksperymentalną i potencjometr 10k.

Krok 3: Szkic

Szkic
Szkic
Szkic
Szkic
Szkic
Szkic

Wystarczy wpisać załączony szkic do Arduino IDE. Należy pamiętać, że witryna Instructable często usuwa wszystkie znaki większe i mniejsze niż oraz tekst między nimi. Dlatego upewnij się, że dołącz tekst #include LiquidCrystal.h i umieść słowa LiquidCrystal.h wewnątrz symboli większe niż i mniejsze niż.

// Szkic do przewijania znaków na ekranie LCD

#include //Zobacz notatkę w tekście o tym, co jest potrzebne tutaj, tj. LiquidCrystal.h zamknięty w środku

// większe niż i mniejsze niż symbole

// Ta witryna często usuwa symbole większe i mniejsze niż oraz tekst między nimi

// LiquidCrystal (rs, włącz, d4, d5, d6, d7)

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

// Zadeklaruj wyświetlacz LCD jako obiekt LiquidCrystal

int i = 0;

intj = 0;

int k = 0;

intOpCzas2 = 350; // Opóźnienie między zmianami

void scrollInFromRight (linia int, znak str1) {

// Napisane przez R. Jordana Kreindlera Czerwiec 2016

i = strlen(str1);

dla (j = 16; j >= 0; j--) {

lcd.setCursor(0, linia);

dla (k = 0; k <= 15; k++) {

lcd.print(" "); // Wyczyść linię

}

lcd.setCursor(j, linia);

lcd.print(str1);

opóźnienie (czas opóźnienia2);

}

}

void scrollInFromLeft (linia int, znak str1) {

// Napisane przez R. Jordana Kreindlera Czerwiec 2016

i = 40 - strlen(str1);

linia = linia - 1;

dla (j = ja; j <= i + 16; j++) {

dla (k = 0; k <= 15; k++) {

lcd.print(" "); // Wyczyść linię

}

lcd.setCursor(j, linia);

lcd.print(str1);

opóźnienie (czas opóźnienia2);

}

}

pusta konfiguracja () {

Serial.początek(9600);

Serial.println("Uruchamianie testu…");

lcd.początek(16, 2);

lcd.clear();

lcd.print("Tylko test");

}

pusta pętla () {

lcd.clear();

scrollInFromRight(0, "Linia1 od prawej");

scrollInFromRight(1, "Linia2 od prawej");

lcd.clear();

scrollInFromLeft(0, "Linia1 od lewej.");

scrollInFromLeft(1, "Linia2 od lewej.");

lcd.clear();

scrollInFromRight(0, "Linia1 od prawej");

scrollInFromLeft(1, "Linia2 od lewej.");

lcd.clear();

}

Dwie funkcje: scrollInFromRight (linia do wyświetlania tekstu, ciąg do przewijania) i scrollInFromLeft (linia do wyświetlania tekstu, ciąg do przewijania) można przenieść do szkicu, aby kontrolować linie przewijane na ekranie LCD. Te funkcje zapewniają elegancki sposób przenoszenia nowego tekstu na ekran.

W połączeniu z dwiema funkcjami w szkicu zawartym w instrukcji „Przewiń pojedynczą linię LCD w lewo lub w prawo”, cztery funkcje zapewniają eleganckie sposoby przewijania tekstu na i z wyświetlacza LCD. Te funkcje umożliwiają przewijanie tekstu o jedną linię na raz i nie wymagają przewijania całego ekranu, jak to robią funkcje scrollDisplayLeft() i scrollDisplayRight().

Ta zdolność przewijania pozwala nam prezentować linie dłuższe, niż normalnie jest w stanie pokazać wyświetlacz. Oznacza to, że dla wyświetlacza 1602 nie jesteśmy ograniczeni tylko do 16 znaków w linii (chociaż tylko 16 będzie wyświetlanych na raz), a dla 2004 nie jesteśmy ograniczeni do 20 znaków w linii.

Na marginesie możesz dostosować czas wyświetlania między zwojami, aby dopasować go do swoich potrzeb.

Krok 4: Później

To wszystko. Te funkcje i dwie z mojego poprzedniego Instructable można dodać do dowolnego szkicu, który używa wyświetlacza LCD i wyświetla tekst. Jak zauważono, możliwość używania dłuższych linii to zdecydowana korzyść, która jest możliwa dzięki zastosowaniu przewijania.

Jeśli chciałbyś się ze mną skontaktować w przypadku jakichkolwiek pytań lub dodatkowych informacji lub poszerzyć swoją wiedzę w prezentowanej dziedzinie, jestem dostępny pod adresem [email protected]. (proszę zamienić drugie „i” na „e”, aby się ze mną skontaktować.

Zalecana: