Wyświetlacz TFT 1,8″ z kontrolerem ST7735 podłączony do Raspberry PI
Poradnik w jaki sposób podłączyć wyświetlacz TFT 1,8” z kontrolerem ST7735 do Raspberry PI wraz z opisem wyświetlania na nim poszczególnych rzeczy.
Potrzebne części
- Wyświetlacz TFT 1,8″ z kontrolerem ST7735 – mój model to dokładnie TEN egzemplarz. Ma on dodatkowo slot na kartę SD, ale nie będzie wykorzystany. Większość modeli na tym kontrolerze (i nie tylko) powinna mieć podobne wyprowadzenia, więc można działać analogicznie do moich schematów (mój model dla przykładu ma dodatkowe sterowanie jasnością)
- Raspberry PI – w projekcie wykorzystałem model B, rewizja 2
- karta SD z systemem Raspbian
- Kabelki podłączeniowe – w przypadku posiadania płytki prototypowej, 8 sztuk z końcówkami męskie-męskie, w przypadku podłączenia bezpośrednio do pinów GPIO – 8 sztuk typu żeńskie-żeńskie
- Opcjonalnie – płytka prototypowa, taśma GPIO i adapter GPIO (informuję dlatego, że będą widocznie na zdjęciach)
- Opcjonalnie – jeżeli LCD ma punkt lutowniczy ze zmianą napięcia logiki 3,3V i 5V to będzie nam potrzebna również lutownica i spoiwo
Podłączenie
Pierwszą czynnością jaka powinna być wykonana to zmiana napięcia logiki na 3.3V. Wiązało się to ze zewrzeniem punktu lutowniczego J1, znajdującego się pod płytką, tak jak na rysunku:
Następnie podłączamy wyświetlacz według poniższego schematu:
| LCD Pin | LCD Nazwa | Raspberry PI Pin | Raspberry PI Nazwa |
|---|---|---|---|
| 1 | RST | 22 | GPIO25 |
| 2 | CS | 24 | GPIO07 (CE0) |
| 3 | D/C | 18 | GPIO24 |
| 4 | DIN | 19 | GPIO10 (MOSI) |
| 5 | CLK | 23 | GPIO11 (CLK) |
| 6 | VCC | 1 | 3V3 |
| 7 | BL | 1 | 3V3 |
| 8 | GND | 6 | GND |
Mój setup po podłączeniu wygląda tak:
Jeżeli wszystko dobrze podłączyliśmy to po włączeniu RPI ekran powinien zaświecić się na biało (albo inny kolor, lub nawet wyświetlić testowe figury / kolory).
Oprogramowanie
Na szczęście w ostatnich wersjach kernela Raspbianowego dodano obsługę tego sterownika, zatem nie musimy polegać na rekompilacji jądra. Jedyne co trzeba ewentualnie zrobić to update systemu poleceniem:
|
1 |
sudo rpi-update |
Jeżeli skrypt zaczął aktualizować jakieś pliki to po zakończeniu należy jeszcze zrestartować malinę, aby zmiany weszły w życie.
Następną rzeczą jest zarejestrowanie urządzenia i załadowanie odpowiednich sterowników:
|
1 |
sudo modprobe fbtft_device name=sainsmart18 |
Dodając parametr
|
1 |
rotate=90 //180,270 itp. |
na końcu tego polecenia możemy obrócić ekran o interesujący nas kąt.
Po wykonaniu powyższego polecenia, zawartość ekranu powinna zmienić się na czarno. Teraz decydujemy co wyświetlić na ekranie. Dla przykładu – gdy chcemy wyświetlić zawartość konsoli, wpisujemy:
|
1 |
con2fbmap 1 1 |
Cofnięcie poleceniem:
|
1 |
con2fbmap 1 0 |
Jeżeli chcemy zobaczyć środowisko graficzne, przyda się polecenie:
|
1 |
FRAMEBUFFER=/dev/fb1 startx |
Jeżeli xserver będzie zgłaszał problemy z konfiguracją, tu musimy ją usunąć z drogi:
|
1 |
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~ |
W obu powyższych wypadkach będzie pokazywany zaledwie fragment konsoli lub środowiska graficznego. Najprostszą metodą na przeskalowanie całego obszaru roboczego jest użycie skryptu o nazwie „fbcp”. Program przekazuje całą zawartość podstawowego bufora ramki na „/dev/fb1” z którego korzysta nasz wyświetlacz. Zaletą takiego rozwiązania jest dołączenie użycia akceleracji GPU w RPI (np. do odtwarzania filmów)
Program należy ściągnąć i skompilować następującymi poleceniami:
|
1 2 3 4 5 6 7 8 |
sudo apt-get install cmake git clone https://github.com/tasanakorn/rpi-fbcp cd rpi-fbcp/ mkdir build cd build/ cmake .. make sudo install fbcp /usr/local/bin/fbcp |
Po pomyślnym zainstalowaniu mam dostęp do polecenia:
|
1 |
fbcp & |
dzięki któremu powinniśmy widzieć na ekranie całą zawartość konsoli lub środowiska graficznego.
Cofnięcie mirroringu poleceniem:
|
1 |
killall fbcp |
Teraz dla przykładu można odwtorzyć jakiekolwiek wideo poleceniem:
|
1 |
omxplayer nazwapliku.mp4 |
I rezultat powinien być widoczny na całym ekraniku. Podglądowy filmiki:
Odwrócony o 270 ekran plus teledysk:


