Spisu treści:
Wideo: Przewiń pojedynczą linię LCD: 4 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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
- 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
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:
Rower szosowy Światło dzienne i boczne widoczne 350mA (pojedyncza komórka): 11 kroków (ze zdjęciami)
Rower szosowy Światło dzienne i boczne widoczne 350mA (jednoogniwowe): Ta lampa rowerowa ma przednie i skierowane pod kątem 45° bursztynowe diody LED o natężeniu do 350mA. Widoczność boczna może poprawić bezpieczeństwo w pobliżu skrzyżowań. Bursztyn został wybrany do widoczności w ciągu dnia. Światło zostało zainstalowane na lewym spadku kierownicy. Jego wzory mogą być oddzielone
Gry dla dwóch graczy z pojedynczą taśmą LED z tablicą wyników: 10 kroków
Gry dla dwóch graczy z pojedynczą taśmą LED z tablicą wyników: Przede wszystkim módl się do boga za wszystkie narody na całym świecie, Bóg może tylko pomóc i dać nam pokój w tym czasie. Wszyscy jesteśmy zamknięci i nie ma dokąd pójść. Nie mam więcej prac do zrobienia, więc zacznij uczyć się Pythona online i nie mogę myśleć o
Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: 3 kroki
Dwucyfrowy wyświetlacz wykorzystujący pojedynczą matrycę LED 8x8: Tutaj chciałbym zbudować wskaźnik temperatury i wilgotności dla mojego pokoju. Użyłem pojedynczej matrycy LED 8x8 do wyświetlania liczb dwucyfrowych i myślę, że ta część projektu stała się bardziej użyteczna. Zapakowałem ostateczną konstrukcję za pomocą kartonu, ból
Stwórz najmniejsze na świecie wkładki douszne z pojedynczą zrównoważoną armaturą: 7 kroków (ze zdjęciami)
Stwórz najmniejsze na świecie wkładki douszne z pojedynczą zbalansowaną armaturą: to projekt, który ma na celu stworzenie prawdopodobnie najmniejszych pojedynczych wkładek dousznych BA o audiofilskiej jakości dźwięku. Projekt został zainspirowany Final F7200, IEM o wysokiej rozdzielczości za 400 USD na Amazon. Dzięki komponentom dostępnym na wolnym rynku majsterkowicze mogą to zrobić w
Silnik indukcyjny z pojedynczą cewką / silnik elektryczny: 6 kroków
Silnik indukcyjny z pojedynczą cewką / silnik elektryczny: W tym projekcie zamierzamy wykonać silnik indukcyjny z pojedynczą cewkąKomercyjne i znacznie bardziej rozbudowane wersje tego silnika elektrycznego są używane w większości urządzeń na prąd przemienny. Nasz silnik nie ma wysokiego momentu obrotowego, chodzi bardziej o działanie