Ho acquistato su Aliexpress, per meno di 10€ spedizione inclusa, un display LCD TFT da 2,4″ con touchscreen incluso con connettore per Raspberry Pi.
Arrivato dopo circa 30 giorni, ho apprezzato le dimensioni compatte e perfettamente aderenti al “famoso” connettore 40pin del Raspberry Pi (Designed for Raspberry Pi A+,Compatible with Raspberry Pi 3 module B/B+) , comprese le asole laterali per l’eventuale viteria. La documentazione tecnica completa del Raspberry Pi 2.4inch LCD è disponibile direttamente sul sito web del costruttore, dove c’è anche la mappa del connettore:
PIN NO. | SYMBOL | DESCRIPTION |
---|---|---|
1, 17 | 3.3V | Power positive (3.3V power input) |
2, 4 | 5V | Power positive (5V power input) |
3, 5, 7, 8, 10, 22 | NC | NC |
6, 9, 14, 20, 25 | GND | Ground |
11 | TP_IRQ | Touch Panel interrupt, low level while the Touch Panel detects touching |
12 | KEY1 | Key |
13 | RST | Reset |
15 | LCD_RS | LCD instruction control, Instruction/Data Register selection |
16 | KEY2 | Key |
18 | KEY3 | Key |
19 | LCD_SI / TP_SI | SPI data input of LCD/Touch Panel |
21 | TP_SO | SPI data output of Touch Panel |
23 | LCD_SCK / TP_SCK | SPI clock of LCD/Touch Panel |
24 | LCD_CS | LCD chip selection, low active |
26 | TP_CS | Touch Panel chip selection, low active |
NB: i tre pulsanti a lato sono direttamente connessi ai pin 12,16 e 18.
Come si vede, il display è connesso al bus SPI (Serial Peripheral Interface bus) del RPi: è quindi necessario abilitare tale periferica con raspi-config:
sudo raspi-config
e dal menù Peripherals, abilitare SPI. E’ poi necessario installare e configurare il driver per il display, altrimenti rimarrà tutto bianco. Come prima cosa, si scarica il pacchetto LCD-show.tar.gz e una volta scompattato, lanciare lo script relativo al display:
tar xvf LCD-show.tar.gz
cd LCD-show/
sudo ./LCD32-show
A questo punto il RPi si riavvierà e, dopo pochi istanti se tutto è andato a buon fine, il display mostrerà il tradizionale log di boot (come nella foto di copertina).
Un po’ più complicato far funzionare il display su X, poiché è necessario compilare ed installare il driver fbturbo (xorg-x11-drv-fbturbo), come indicato a questa pagina web: https://linux-sunxi.org/Xorg. Bisogna poi configurare X per gestire il framebuffer ed il touchscreen, seguendo le istruzioni che trovate qui: https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi/extras
Per emulare il terzo pulsante del mouse, aggiungere queste righe all’interno dell’ InputClass dentro il file /etc/X11/xorg.conf.d/99-calibration.conf:
Section "InputClass"
Identifier "calibration"
MatchProduct "stmpe-ts"
Option "Calibration" "3800 120 200 3900"
Option "SwapAxes" "1"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "750"
Option "EmulateThirdButtonMoveThreshold" "30"
EndSection
Ammetto che quest’ultima parte mi ha impegnato per svariate ore, incluso il download dei pacchetti necessari per la compilazione del driver video.
A questo punto, se tutto è andato a buon fine, dovreste avere una piccola ma completa linuxbox, con tanto di display touchscreen. Volendo è possibile utilizzare una tastiera virtuale, sotto X, seguendo le istruzioni che trovate qui: http://spotpear.com/learn/EN/raspberry-pi/Raspberry-Pi-LCD/Soft_Virtual-keyboard.html