Ekrany LCD są przydatne i można je znaleźć w wielu aspektach naszego życia. Na stacji kolejowej, parkometr, automaty sprzedające przekazują krótkie komunikaty o tym, jak wchodzimy w interakcję z maszyną, do której są podłączone. Ekrany LCD to świetny sposób na przekazywanie informacji w Raspberry Pi Projekty Pico i inne projekty Raspberry Pi. Mają duży, jasny ekran, który może wyświetlać tekst, cyfry i znaki na ekranie 16 x 2. 16 odnosi się do 16 znaków na ekranie, a 2 reprezentuje liczbę wierszy, które mamy. Możemy uzyskać ekrany LCD w 20×2, 20×4 i wielu innych konfiguracjach, ale 16×2 jest najczęstsze.

W tym samouczku nauczymy się, jak podłączyć ekran LCD HD44780 do Raspberry Pi Pico przez interfejs I2C za pomocą dołączonego plecaka I2C, następnie zainstalujemy bibliotekę MicroPython za pomocą edytora Thonny i nauczymy się używać jej do pisania tekstu na wyświetlaczu, sterowania kursorem i podświetleniem.

Ekran LCD używa protokołu I2C do połączenia z Raspberry Pi Pico. Co oznacza, że ​​tylko wymagamy.

Jak podłączyć ekran LCD I2C do Raspberry Pi Pico

Malina Pi Pico z ekranem LCD

(Źródło zdjęcia: Tom’s Hardware)

1. Połącz GND ekranu z dowolnym GND na Pico (czarny przewód).

2. Podłącz VDD/VCC do VBUS na Pico (czerwony przewód). Ostrzeżenie, że jest to pin 5 V.

3. Podłącz SDA do I2C0 SDA (GP0, styk fizyczny 1, przewód pomarańczowy).

4. Podłącz SCK/SCL do I2C0 SCL (GP1, styk fizyczny 2, przewód żółty).

5. Podłącz Raspberry Pi Pico do komputera i otwórz aplikację Thonny.

Obraz 1 z 3

Raspberry Pi Pico z ekranem LCD

(Źródło zdjęcia: Tom’s Hardware)
Obraz 2 z 3

Raspberry Pi Pico z ekranem LCD

(Źródło zdjęcia: Tom’s Hardware)
Obraz 3 z 3

Raspberry Pi Pico z ekranem LCD

(Źródło zdjęcia: Tom’s Hardware)

6. Kliknij STOP , aby potwierdzić połączenie Pico.

7. Otwórz to link i skopiuj tekst ze strony.

8. Utwórz pusty plik w Thonny i wklej do niego tekst . Zapisz plik w Raspberry Pi Pico jako lcd_api.py

9. Otwórz to link i skopiuj tekst ze strony.

10. Utwórz pusty plik w Thonny i wklej do niego tekst. Zapisz plik w Raspberry Pi Pico jako pico_i2c_lcd.py

 Programowanie I2C LCD Ekran z Raspberry Pi Pico

Po zainstalowaniu bibliotek możemy teraz zacząć pisać skrypt testowy, aby zademonstrować funkcje biblioteki.

1. Utwórz nowy pusty plik w Thonny.

2. Importuj cztery biblioteki wstępnie napisanego kodu. Pierwsze dwa pochodzą z biblioteki Machine i umożliwiają nam korzystanie z pinów I2C i GPIO. Następnie importujemy funkcję uśpienia z Time pozwalającą nam na wstrzymanie kodu. Na koniec importujemy bibliotekę I2C do interakcji z ekranem LCD.

z maszyny import I2C, Pin
od czasu importuj sen
z machine_i2c_lcd importuj I2cLcd

3. Utwórz obiekt i2c do komunikacji z ekranem LCD przez protokół I2C. Tutaj używamy kanału I2C 0, który mapuje SDA do GP0 i SCL do GP1.

i2c=I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)

4. Utwórz zmienną I2C_ADDR, która będzie przechowywać pierwszy adres I2C znaleziony podczas skanowania magistrali. Ponieważ mamy podłączone tylko jedno urządzenie I2C, musimy zobaczyć tylko pierwszy adres [0] zwrócony w skanie.

I2C_ADDR=i2c.scan()[0]

5. Utwórz obiekt lcd , aby skonfigurować połączenie I2C dla biblioteki. Informuje bibliotekę, jakich pinów I2C używamy, ustawianych przez obiekt i2c, adres naszego ekranu, ustawianych przez I2C_ADDR i na koniec ustawiamy, że mamy ekran z dwa rzędy i 16 kolumn.

lcd=I2cLcd(i2c, I2C_ADDR, 2, 16)

6. Utwórz pętlę, aby stale uruchamiać kod, pierwszy wiersz pętli wyświetli adres I2C naszego wyświetlacza w powłoce Pythona Thonny’ego.

gdy prawda: print(I2C_ADDR)

7. Ustaw kursor wyświetlacza LCD tak, aby migał (migał) i wyłączał się, podobnie jak w starym interfejsie terminala.

 lcd.blink_cursor_on()

8. Napisz dwa wiersze tekstu na ekranie. Pierwszy wydrukuje „Adres I2C:”, a następnie adres przechowywany w obiekcie I2C_ADDR. Następnie wstaw znak nowego wiersza „\n”, a następnie napisz kolejny wiersz o treści „Sprzęt Toma” (lub cokolwiek chcesz). Zrób pauzę na dwie sekundy, aby dać czas na przeczytanie tekstu. 

 lcd.putstr("Adres I2C:"+str(I2C_ADDR)+"\n") lcd.putstr("Sprzęt Toma") sen(2)

9. Wyczyść ekranprzed powtórzeniem poprzedniej sekcji kodu, ale tym razem wyświetlamy adres I2C wyświetlacza LCD za pomocą jego wartości szesnastkowej. Chip PCF8574T zastosowany w plecaku I2C ma dwa adresy, 0x20 i 0x27 i warto wiedzieć, którego używa, zwłaszcza jeśli korzystamy z wielu urządzeń I2C, ponieważ mogą one powodować kolizję w autobusie.

 lcd.clear() lcd.putstr("Adres I2C:"+str(hex(I2C_ADDR))+"\n") lcd.putstr("Sprzęt Toma")

10. Wyłącz migający kursor, a następnie wyczyść ekran i przygotuj się do wydrukowania kolejnego komunikatu „Test podświetlenia”.

 lcd.blink_cursor_off() lcd.clear() lcd.putstr("Test podświetlenia")

11. Aby włączyć podświetlenie LED, użyj pętli for , która powtórzy się dziesięć razy. Włączy podświetlenie na 0,2 sekundy, a następnie wyłączy na ten sam czas. Tekst „Backlight Test” pozostanie na ekranie nawet przy wyłączonym podświetleniu.

 for i in range(10): lcd.podświetlenie_włączone() sen(0.2) lcd.backlight_off() sen(0.2)

12. Włącz ponownie podświetlenie, a następnie ukryj kursor. Czasami migający kursor może odciągnąć informacje, które próbujemy przekazać.

 lcd.backlight_on() lcd.hide_cursor()

13. Utwórz pętlę for , która wyświetli cyfry od 0 do 19 na ekranie LCD. Zwróć uwagę, że istnieje 0,4 sekundy opóźnienia, zanim usuniemy wartość i zastąpimy ją następną. Musimy usunąć tekst, ponieważ nadpisanie tekstu spowoduje, że będzie wyglądał na zniekształcony.

 for i in range(20): lcd.putstr(str(i)) sen(0.4) lcd.clear()

Pełny wykaz kodów

z komputera importuj I2C, Pin
od czasu importuj sen
z maszyny_i2c_lcd importuj I2cLcd
i2c=I2C(0, sda=Pin(0), scl=Pin(1), częst=400000) I2C_ADDR=i2c.scan()[0]
lcd=I2cLcd(i2c, I2C_ADDR, 2, 16)
podczas gdy prawda: drukuj(I2C_ADDR) lcd.blink_cursor_on() lcd.putstr("Adres I2C:"+str(I2C_ADDR)+"\n") lcd.putstr("Sprzęt Toma") sen(2) lcd.clear() lcd.putstr("Adres I2C:"+str(hex(I2C_ADDR))+"\n") lcd.putstr("Sprzęt Toma") sen(2) lcd.blink_cursor_off() lcd.clear() lcd.putstr("Test podświetlenia") dla i w zakresie(10): lcd.podświetlenie_włączone() sen(0.2) lcd.backlight_off() sen(0.2) lcd.podświetlenie_włączone() lcd.hide_cursor() dla i w zakresie(20): lcd.putstr(str(i)) sen(0.4) lcd.clear()

Zapisz i uruchom swój kod. Podobnie jak w przypadku każdego skryptu Pythona w Thonny, Kliknij Plik >> Zapisz i zapisz plik na swoim Raspberry Pi Pico. Zalecamy nazwanie go i2c_lcd_test.py. Gdy wszystko będzie gotowe, kliknij zielony przycisk odtwarzania , aby uruchomić kod i obserwować przebieg testu na ekranie.

Categories: IT Info