2.8" TFT SPI érintőkijelző
2017. szeptember 14. írta: eNeS

2.8" TFT SPI érintőkijelző

Sokáig nézegettem mindenféle fórumokat és leírásokat, Raspberry-hez megfelelő, és nem aranyárban levő kijelző után kutatva. A lehetőség persze adott, hogy a 4800 Ft-ért szerzett Raspberry Pi Zero W-hez vegyek 20-30 ezer forintért egy 5-7" LCD kijelzőt, de ezt nem igazán tartom praktikusnak, biztos bennem van a hiba.

Jelen állás szerint a legnagyobb, érintőképernyős kijelző 2.8" méretű, ami nem foglal extrém sok csatlakozót, és dimmelhető, vagyis PWM funkció segítségével programból lehet állítani a fényerejét. (van pár Waveshare típusú, amit "backlight control" funkcióval reklámoznak, de ezek egyike sem szoftveres sajnos) A következő 3.5"-os méret sajnos már 2-3szoros árú (hol itt az ár-érték arány?) gyakorlatilag minden GPIO csatlakozót elfoglal, így a szenzorok számára már semmi nem maradna.
HDMI csatlakozón keresztül a CEC szabvány segítségével elméletileg lehet olyan készülékeket kikapcsolni, ami ezt támogatja.. ezt az okos TV-k már tudják, de egy olcsó ebayes 7" HDMI kijelző nem feltétlen, és annyira nem olcsó, hogy próbára berendeljek egyet. :) Így maradok az SPI (GPIO) csatlakozós megoldásnál egyelőre.

2.8" TFT LCD Display Touch Panel SPI Serial 240x320 ILI9341

1800 Ft-ért beszerezhető, szemből pont úgy néz ki, mint bármely másik:

tft1.jpg

Az érdekes dolgok a hátoldalán vannak, bal oldalt négy csatlakozó pin található, ha valakinek szüksége lenne a felül látható SD kártyaolvasóra.. én kihagyom.
Jobb oldalt lent (valamiért fejjel lefelé feliratozva) látható az érintésérzékelő bekötéséhez szükséges 5 tű (T_...), balra tőle ahová a vezetékek tartanak, látható az XPT2046/ADS7846 érintésérzékelő chip, a jobb oldali tűsor fenti 9 további tűje az ILI9341 kijelzővezérlőé.

tft2.jpg

Ha nem akarjuk használni az érintő funkciót, akkor 9 kábelt kell csatlakoztatnunk, ha igen, akkor a kijelző 14 csatlakozóját 11 GPIO-ra kell kötnünk az alábbiak szerint:

Kijelző csatlakozó Raspberry csatlakozó
1 T_IRQ BCM25 22
2 T_DO MISO 21
3 T_DIN MOSI 19
4 T_CS CE1 26
5 T_CLK SCLK 23
6 SDD/MISO MISO 21
7 LED BCM18/PWM0 12
8 SCK SCLK 23
9 SDI/MOSI MOSI 19
10 D/C BCM24 18
11 RESET BCM23 16
12 CS CE0 24
13 GND GND 25
14 VCC 3V3 17

 

Mint látható 3 közös csatlakozás is van a kijelző és érintésérzékelő között, méghozzá a soros busz (SPI), MOSI, MISO és SCLK. A közösítésüket teszteléskor egy sorkapoccsal, utána pedig 3 darab ízlésesen összegányolt Y-kábellel oldottam meg, így kisebb helyet foglal. :) Külön felhívnám a figyelmet a "LED" feliratú csatlakozóra, amennyiben ez látható hasonló kijelzőpanel hátulján is, az azt jelenti, hogy megoldható a szoftveres fényerő változtatás.

Amennyiben a fenti leírás szerint kötöttük be a kijelzőt, a szoftveres beállítás igen egyszerű Rasbian Jessie verzió esetén az alábbi paranccsal lehet szerkeszteni az indítási beállításokat:

sudo nano /boot/config.txt

És a következő sorokat kell a config.txt-be illeszteni: (ezzel alapértelmezett álló képet kapunk)

dtparam=spi=on

dtoverlay=rpi-display

Illetve, ha fektetve szeretnénk használni a kijelzőt, a fenti helyett ezt kell beírni:

dtparam=spi=on

dtoverlay=rpi-display,rotate=90,swapxy=1

Ha az SPI már korábban engedélyezve lett, azt nem kell ismételten beírni. Az rpi-display egy előre elkészített "overlay", ami beállítja az fbtft és az ads7846 drivert, a hasonló hardveres elemekből álló, Watterott 2.8" SPI Touch Display alapján. (úgy is lehet, ha valaki kézzel szeretné állítgatni a driverbeállításokat és a lábakat, ahogy először én is kezdtem, az fbtft finomhangolásával, de rájöttem így egyszerűbb és stabilabban indul, nincs totál fehér képernyő) Újraindítás után azonnal működésbe is lép, ha konzolos bejelentkezés lett beállítva a raspi-config segítségével akkor a konzol, ha X felület, akkor a feltelepített grafikus felület indul el. Igazság szerint nem nagyon van 320x240 megjelenésre optimalizált linuxus grafikus felület, legalábbis én nem találtam, egyedül az Enlightment (e17) az, aminek a tablet módja használható valamilyen szinten. Ám egyedi fejlesztésű, nagy érintős nyomógombokkal operáló felülethez ez a kijelző is elégséges lehet.

lcd3.jpg

A készülékhez jó esetben adnak egy tollat is, amivel pontosabban célozhatunk, pl kalibrációhoz biztosan kelleni fog, de az ujjal történő vezérlés is működik rajta.

Kalibráció:

sudo apt-get install -y xinput-calibrator
DISPLAY=:0.0 xinput_calibrator

A kapott értékeket az alábbi paranccsal megnyitható konfigurációs fájlba kell beírnunk:

sudo nano /usr/share/X11/xorg.conf.d/99-callibration.conf

A bejegyzés trackback címe:

http://bitekmindenhol.blog.hu/api/trackback/id/tr5412827276

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.