RaspberryPi(介護ロボットVol.3:タッチモニター編)
神戸での介護もコロナのお陰で一段落付いたので、1年ぶりにRasPiで「介護ロボット」の製作を再開する
まずは、ちゃんとした(笑 、ディスプレイを付けて介護士が操作できるようにRasPiをタブレット化する
ターゲット環境は次のとおり
RasPi:RaspberryPi3
OS:Raspbian Buster with desktop version February 2020 Kemel version 4.19
ディスプレイ:ROADOM 7インチ タッチモニター(解像度:1024*600 静電容量式5点マルチタッチ)
さてさて、ディスプレイを買ったは良いが、同梱の説明書(取説)はB5版の「快速ガイド」1枚のみ!
「接続するとすぐ使える」とあったが、案の定defaultで立ち上げてもまともに動かない
ここでは、ディスプレイ周りに特化して基本的な設定方法を紹介する
(1)ディスプレイの解像度の変更
解像度:1024*600のディスプレイにもかかわらず、Defaultでは720*480で表示される
画面一杯に表示されるよう/boot/config.txtを編集
/boot/config.txtに次の4行を追記する (”<=” 以降は値の意味を記述してます)
hdmi_cvt=1024 600 60 3 <= width height framerate aspect(3=16:9) の順
hdmi_group=2 <=1:CEA(TVで使用),2:DMT(モニタに使用)
hdmi_mode=87 <= 87:HDMI timingをhdmi_cvtでカスタム定義
hdmi_drive=2 <= 2:通常のHDMIモード(音有り)
(2)モニターのスピーカが鳴るようにする
Defaultでは音が出ないので、HDMI経由で音が出るように次のコマンド実施
$ amixer cset numid=3 2 <= 3:出力先設定 2:HDMI(ちなみに1:ジャック)
確認は次のコマンドで確認出来る
$ amixer cget numid=3
numid=3,iface=MIXER,name=’PCM Playback Route’
; type=INTEGER,access=rw——,values=1,min=0,max=3,step=0
: values=2 <= valuesが”2”になっていれば良い(Defualtha:0=自動)
(3)文字入力が出来るようにする
タブレット化するためにキーボードを接続しなくても文字が入力できるようにする
①キーボードパッケージを次のコマンドでinstallする
$ sudo apt-get install matchbox-keyboard
②日本語表示出来るようにフォントをinstallする
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
(4)タッチ画面のキャリブレーション
Defaultではタッチ位置がズレる(隅ほど誤差が大きい)ので、
次のようにキャリブレーションを実施する
①キャリブレーションパッケージのinstall
$ sudo apt install xinput-calibrator
②キャリブレーション実施
次のコマンドをリモートコンソールから入力すると、
ディスプレイ上に+字のポインター位置が表示されるので、
ここはマウスを接続しマウスで4箇所順番にタッチする
(タッチペンのゴム部で指定すると、タッチ面が広く不均一なためか、
微妙にズレてしまう)
$ DISPLAY=:0.0 xinput_calibrator
③②を実施すると、リモートコンソール側に次のような設定値が表示されるので、
/usr/share/X11/xorg.conf.d/99-calibration.confファイルを作成する
<設定値表示例> Section行からEndSection行までをコピーし記載する
Section “InputClass”
Identifier “calibration”
MatchProduct “TSTP MTouch”
Option “MinX” “-27”
Option “MaxX” “65466”
Option “MinY” “200”
Option “MaxY” “65444”
Option “SwapXY” “0” # unless it was already set to 1
Option “InvertX” “0” # unless it was already set
Option “InvertY” “0” # unless it was already set
EndSection
(注意)添付のタッチペンは、ペン先でタッチするのではなく、
ペン頭部のゴムでタッチする仕様です
タッチ面が広いので、それに代わる物を物色中でーすw