Jak przewijać tekst na najwyższym poziomie 10 × 2 za pomocą Raspberry Pi 4

Jak przewijać tekst na najwyższym poziomie 10 × 2 za pomocą Raspberry Pi 4
LCD 16 × 2 jest używany z Raspberry Pi 4 do wyświetlania różnych strun i znaków na ekranie wyświetlacza LCD. Tekst wyświetlany na ekranie LCD może być przewijany w prawo lub w lewo od ekranu do celów reklamowych lub zwrócić uwagę publiczności. Raspberry Pi to mała tablica komputerowa, której można użyć do konfigurowania różnych projektów elektronicznych.

W tym artykule poznamy przewijanie tekstu na ekranie LCD 16 × 2, który jest połączony z Raspberry Pi 4.

Jak połączyć LCD z Raspberry Pi 4

Aby podłączyć LCD z Raspberry Pi 4, potrzebujemy następujących komponentów

  • 16 × 2 LCD
  • Przewody zworki
  • Tablica chleba
  • 1 potencjometr

Aby przewijać tekst na LCD 16 × 2, schemat obwodu będzie:

W pierwszym kroku umieścimy LCD, potencjometr i Raspberry Pi 4 na płycie chleba, aby skonfigurować obwód:

Podłącz szpilki LCD 16 × 2 z szpilkami GPIO Raspberry Pi zgodnie z tabelą:

GPIO PINS RASPBERRY PI BCM Pins of Raspberry Pi Piny LCD
GPIO 22 15 Rs
GPIO 24 18 RW
GPIO 23 16 mi
GPIO 9 21 D4
GPIO 25 22 D5
GPIO 11 23 D6
GPIO 8 24 D7
Grunt 6 K, VSS
5v 2 Vdd, a

Oprócz tych połączeń, pin VO LCD jest podłączony do pinu wyjściowego potencjometru, a pozostałe dwa szpilki potencjometru są podłączone do 5 V i podłoża malin.

Jak pobrać bibliotekę RPLCD w Raspberry Pi 4

Musimy pobrać bibliotekę RPLCD, aby połączyć LCD z Raspberry Pi. Biblioteka RPLCD zawiera funkcje używane do kontrolowania wyświetlania LCD. Aby pobrać bibliotekę RPLCD, uruchomić polecenie:

$ wget -c https: // github.com/dbrgn/rplcd/archive/refs/heads/master.zamek błyskawiczny

Po mistrzu.Zip został pobrany, rozpakujemy „mistrz.Zip ”, aby użyć jego zawartości:

$ Unzip Master.zamek błyskawiczny

Teraz, korzystając z poniższej komendy, będziemy przejść do rozpakowanego folderu, rplcd-master:

$ cd rplcd-master

Jaki jest kod Python do przewijania tekstu na LCD 16 × 2 za pomocą Raspberry Pi 4

Teraz utworzymy plik Python za pomocą edytora Nano (możesz również użyć dowolnego innego Pythona), aby wpisać skrypt Python do przewijania tekstu na LCD:

$ nano myfile.py

Gdy plik jest otwarty, wpisz następujące instrukcje kodu Pythona, aby przewijać tekst na LCD 16 × 2 za pomocą Raspberry Pi:

Importuj RPI.GPIO jako GPIO
#importingRpi.Biblioteka GPIO
z rplcd.GPIO Import Charlcd
#Importing Charlcdfrom rplcd.GPIO
czas importu
#Importing biblioteki czasu
GPIO.setwarnings (false)
#Ustanie ostrzeżeń do fałszywych
FrameBuffer = ['Hello!', ",]
#A Struktura danych „Bufor ramki” zdefiniowano z dwoma elementami
def write_to_lcd (LCD, FrameBuffer, num_cols):
#określono funkcję „write_to_lcd” z trzema parametrami
LCD.dom()
#Używany, aby umieścić kursor LCD w pozycji LCD (0,0)
dla wiersza w klatce stabuffer:
#Initited a for Loop
LCD.Write_String (wiersz.ljust (num_cols) [: num_cols])
#Displayed wartości „bufora ramki”
LCD.write_string ('\ r \ n')
#umieściłem wskaźnik w nowej linii i nowego rzędu
lcd = charlcd (pin_rs = 15, pin_rw = 18, pin_e = 16, pins_data = [21, 22, 23, 24],
Numbering_mode = GPIO.TABLICA,
cols = 16, rzędy = 2, kropka = 8,
auto_linebreaks = true, compat_mode = true)
#określiłem szpilki LCD z szpilkami GPIO z Raspberry Pi
write_to_lcd (LCD, FrameBuffer, 16)
#Zakładanie funkcji i przekazanie parametrów, szczególnie num_cols
long_string = 'Witamy w Linuxhint'
#store ciąg w zmiennej „Long_String”
Def Loop_String (String, LCD, FrameBuffer, Row, Num_cols, opóźnienie = 0.5):
#określając inną funkcję pętla_string
padding = " * num_cols
#Spaces z num_cols i przechowywanie w „wyściółce”
S = wyściółka + ciąg + wyściółka
#Deklarowanie nowej zmiennej i przechowuj w niej wartości
Dla i w zakresie (len (s) - num_cols + 1):
#Deklarowane nowe nieskończone pętle
FrameBuffer [row] = s [i: i+num_cols]
#store Wartości w strukturze danych macierzy klatek
write_to_lcd (LCD, FrameBuffer, num_cols)
#Displayed the Desure na LCD
czas.spać (0.5)
#generowane opóźnienie 0.5 sekund
Choć prawda:
#Initializuj nieskończoność podczas pętli
Loop_String (Long_String, LCD, FrameBuffer, 1, 16)
#Zajmuj Funkcji Loop_String

Objaśnienie kodu: Powyższy skrypt Pythona do przewijania tekstu na LCD 16 × 2 wygląda złożone, ale jest bardzo łatwe, więc wyjaśnimy to w różnych częściach.

Import bibliotek: Najpierw zaimportowaliśmy trzy biblioteki, RPI.GPIO Aby użyć szpilki GPIO Raspberry Pi, Charlcd z rplcd.GPIO do korzystania z LCD i spać od czasu biblioteki w celu wygenerowania opóźnień.

Ostrzeżenia: Ustawiamy setwarnings na false, więc nie wygeneruje żadnych ostrzeżeń podczas korzystania z LCD z Raspberry Pi.

Struktura danych: Zdefiniowaliśmy strukturę danych o nazwie „Frame_Buffer”, która zawiera dwa elementy, jeden to ciąg „Hello”, a drugi to pusty ciąg.

write_to_lcd: Zdefiniowaliśmy funkcję, w której po prostu ustawiamy kursor na pozycji LCD (0,0), drukuje pierwszy element po lewej stronie LCD i położył puste przestrzenie po drugiej stronie, a następnie ustaw kursor po prawej stronie pozycja LCD na nowej linii.

Zainicjuj LCD: W tej części po prostu przypisujemy szpilki Raspberry Pi 4 do pinów LCD i tutaj używamy numerów pinów Raspberber Numbering_mode = GPIO.TABLICA.

Zadzwoń do write_to_lcd: Nazwaliśmy tę funkcję, przekazując ją liczbą Cols, która wynosi 16.

Long_String: Dokonaj zmiennej i przechowuj ciąg „Welcome to the Linuxhint”, który chcemy przewinąć na LCD.

Loop_String: W tej funkcji wyściełliśmy niektóre przestrzenie przed i po przewijaniu tekstu oraz przy pomocy pętli, przenieśliśmy tekst w odpowiednią pozycję wyświetlacza.

chwila: Wreszcie, w Infinite podczas pętli, wywołujemy funkcję Loop_String i wyświetlamy tekst na LCD z przewijającym tekstem.

Następnie uruchomimy polecenie, aby skompilować i uruchomić powyższy skrypt Python:

$ Python myfile.py

Sprzęt działający powyższego skryptu na LCD to:

Wniosek

LCD można połączyć z Raspberry Pi za pomocą biblioteki RPLCD, którą można pobrać za pomocą polecenia omówionego w artykule. Aby przewinąć tekst, musimy użyć skryptu Pythona z niektórymi do pętli, ponieważ nie ma określonego polecenia do przewijania tekstu na LCD w bibliotece RPLCD. W tym artykule omówiliśmy kod Pythona, aby przewijać tekst na LCD, łącząc go z Raspberry Pi 4.