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:
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őé.
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.
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
TIPP: Amennyiben a kijelző teljes egészében fehéren világít, de értékelhető képet nem ad, akkor vagy elrontottuk a GPIO-k bekötési sorrendjét, vagy az összekötő kábelek nem érintkeznek megfelelően, ebbe már vagy kétszer beleszaladtam - ha jó helyre a megfelelő kábel van csatlakoztatva, az csodákra képes.
A bejegyzés trackback címe:
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.