2017年1月31日火曜日

Raspberry Piで5インチ(800x480)のタッチLCD(画像: HDMI、タッチ: SPI)を使う方法


備忘録を兼ねてメモを共有します。

使ったもの

LCD

下記のページで購入しました。

5インチ(800x480)HDMIタッチ液晶

画像表示はHDMI経由、タッチ情報はSPI経由でRaspberry Piとやり取りするパネルです。

Raspberry Pi + Raspbian Stretch(2018.3リリース版)

LCDはB+と3で動くことを確認しました。



B+の場合は、wifi接続するためにBUFFALOのUSBドングルを利用しました。

USBキーボード

タッチパネルでの文字入力方法を自分は知らないので、有線のキーボードを使いました。

ちなみに、自分のおすすめするUSBキーボードはThinkPadのUSBキーボードです。
マウス機能も付いているので、USBポート一つでキーボード機能とマウス機能を使えます。



設定無しで使う場合

HDMI接続してRaspberry Piを起動すれば、タッチ機能無しの、右側が黒くなった状態の640x480のディスプレイとして動作します。


設定して利用する場合

メーカーが提供するスクリプトを実行

LCDのメーカーが保守しているドキュメントに沿い、ファイルをダウンロードしてスクリプトを実行します。

5inch HDMI LCD

/bootにLCDのファイルを設置します。
下記のコマンドは20180519時点で最新のドライバを利用ししていますが、時々更新されるようなので、メーカーのページ(Method 1. Driver installation)で最新版のドライバを確認するのが良いと思います。
cd /boot
sudo wget https://www.waveshare.com/w/upload/3/34/LCD-show-180331.tar.gz
sudo tar xzvf /boot/LCD-show-180331.tar.gz

5インチLCDの設定を実行します。
実行時に関連ファイルをダウンロードするため、ネットに接続した状態で実行する必要があります。
このコマンドを実行すると、関連ファイルのインストールと/boot/config.txtの書き換えが行われ、Raspberry Piが再起動します。
cd /boot/LCD-show
./LCD5-show

再起動後は、800x480のタッチできるディスプレイとして動作します。


向きを変更

縦向きに使いたい場合は、90を渡して実行します。
(90の他には、0、180、270を渡せます。)
cd /boot/LCD-show
./LCD5-show 90

再起動後に、480x800のタッチディスプレイとして動作します。


設定を無効化

タッチLCD以外でRaspberry Piを動かす場合など、LCD向けの設定を無効化したいときは、/boot/config.txtのhdmiやdtoverlayに関する記述をコメントアウト(行の先頭に#を追加)して再起動すれば、LCDディスプレイに依存しない状態でRaspberry Piが起動します。

/boot/config.txt
#hdmi_group=2
#hdmi_mode=1
#hdmi_mode=87
#hdmi_cvt 800 480 60 6 0 0 0
#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
#hdmi_drive=1
#hdmi_force_hotplug=0

これだけでは無効化できてない設定があるかもしれませんが、自分の用途ではこれで十分でした。

まとめ

Raspberry Piで800x480のタッチパネルを動かせました。

共有したい情報は以上です。

更新履歴

2018.05.19
ドライバを利用しない場合の様子を追加しました。
利用するRaspbianとドライバを2018年の3月にリリースされたバージョンに変更しました。
ドライバのコマンドを実行するたび無効にされるため、max_usb_currentに関する記述を削除しました。
LCDに依存する設定を無効化する方法を追加しました。

0 件のコメント :