Raspberry Pi KIOSK(4)Quimat HDMI LCD


40ピンが横に出ているのが特徴のHDMI接続3.5インチLCDです。5VピンとGNDピンに他から電源を供給できます。LCDを付けたRaspberry Piを部品として使えます。タッチパネル用の割り込みピンが25番なのでSPI1(Auxiliary SPI)と共存できます。

メーカー提供のセットアップスクリプトを使うと色々ファイルが書き換わってしまうので、手作業でセットアップします。

作業の前にRead-only Root-FSを書き込み可にします。

sudo mount -o remount,rw /mnt/boot-ro
sudo vi /mnt/boot-ro/config.txt
最後の行のinitramfs initrd.gzをコメントアウトして再起動する
sudo reboot

コンソールのフォントを変更します。

sudo vi /boot/cmdline.txt
fbcon=font:ProFont6x11を追加

画面サイズを変更します。

sudo vi /boot/config.txt
hdmi_group=2
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0

タッチパネル用に/boot/config.txtに追加します。

sudo vi /boot/config.txt
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900

タッチパネル用セットアップ

sudo apt-get install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo apt-get install xinput-calibrator

仮のキャリブレーション結果を/usr/share/X11/xorg.conf.d/99-calibration.confに書き込みます。

sudo vi /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3900 200 3900 200"
        Option  "SwapAxes"      "1"
EndSection

再起動します。

SSHからxinput_calibratorを実行します。

DISPLAY=:0.0 xinput_calibrator

xinput_calibratorの出力を/usr/share/X11/xorg.conf.d/99-calibration.confに書き込みます。

sudo vi /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3937 199 3860 174"
        Option  "SwapAxes"      "1"
EndSection

Read-only Root-FSを書き込み不可に戻します。

sudo vi /boot/config.txt
最後の行のinitramfs initrd.gzのコメントアウトをはずして再起動する
sudo reboot