2015年11月5日木曜日

Raspberry Pi公式タッチディスプレイで本書の演習を実行する

はじめに

Raspberry Piは名刺サイズの小型コンピュータとして注目を集めましたが、大型のHDMIディスプレイに接続すると、そのメリットをあまり享受できません。机の上をコンパクトにまとめるため、小型のディスプレイが欲しいところでした。

2015年9月、Raspberry Pi財団より公式の7インチタッチディスプレイが発表され注目を集めました。
しばらく入手しにくい時期が続きましたが、私もようやく入手できましたので本書の演習が実行できるかどうか、試してみました。

以下の写真は、このタッチディスプレイにキーボードとマウスを接続し、Lチカの演習を行っている様子です。タッチをマウスの代用にできるのですが、やはり使い慣れたマウスがあると便利なので接続しています。


入手方法

下記のように、様々なお店で入手可能です。
購入する際は注意すべきことがあります。

Raspberry Pi用のタッチディスプレイはサードパーティ製も含め様々な種類のものが販売されていますが、ここで紹介するものはRaspberry Pi財団公式のものです。

サードパーティ製のものは設定方法や性能などが全く異なります。購入する際はそれが公式のものであることをよくチェックしましょう(上のリンクは全て公式のものです)。

使用している様子

このタッチディスプレイの解像度は800x480です。ターミナルソフトウェアLXTerminalを起動したときの様子は下図ですが、画面の広さがどの程度かの目安になるのではないでしょうか。


LXTerminalの他、IDLEおよびそのエディタを起動した様子が下図です。各アプリケーションをそれぞれ最大化し、画面上部のタスクバーを用いて(あるいはキーボードショートカットのAlt+Tabで)アプリケーションを切り替えて使うのが現実的でしょう。


組み立て

私が購入した際は、以下の図のような状態で届きました。メス-メスのジャンパーワイヤが4本付属しましたが、実際には2本しか用いません。

説明書などは付属しませんでした。以下のページは説明が英語ですが図が豊富ですので、これを参考にすると迷わずに組み立てられるのではないでしょうか。
ポイントは下記の通りです。
  • リボンケーブルの表裏を間違えないよう注意する
  • ディスプレイ基板の5VピンとGNDピンをRaspberry PiのGPIOの5VピンとGNDピンにメス-メスのジャンパーワイヤで接続する(ピンを間違えないように!
  • microUSBの電源はタッチディスプレイの基板側に接続する。また、電源は2Aの電流を流すことのできるものを用いる。1.2Aしか流せない電源を用いると、スクリーンセーバーからの復帰時(つまり電力を多く消費するとき)にRaspberry Piが落ちるという経験をしました。


タッチディスプレイの裏側にRaspberry Pi 2を固定した様子が下図になります。

付属する物品のままではこのディスプレイを立てることができません。そこで、私は手元にあったタミヤの楽しい工作シリーズのパーツを下図のように取り付けました。


下記のキットのL字パーツが使えるのではないかと思います。
さらに、厚みを出すためにユニバーサルアームの切れ端を挟み、楽しい工作シリーズの3mm径のビスで固定しています。

海外のショップではタッチディスプレイ用のフレームも合わせて購入できるところもあるようで、ちょっとうらやましいところです。日本では下記で同じものが入手できるようです(どちらもケースのみの価格です)
なお、本書のように電子工作を行う場合、Raspberry PiのGPIOポートが手元になければいけません。しかし、上図のようにタッチディスプレイの裏にRaspberry Piを固定するとGPIOを用いるのが難しくなります。

そこで、下図のように、GPIOのピンを引き出し、ブレッドボード上で全てのピンを利用できるようにします。タッチディスプレイに必要な5VとGNDもこのブレッドボードからとるようにしています。


GPIOをブレッドボードに引き出すためには、例えば下記の商品があります。上の写真ではSWITCHSCIENCEさんのものを購入して用いています。

これらの商品は、はんだづけが必要なキットであることが多いと思います。

なお、上図の黒いフラットケーブルの向きは、間違った向きにも取り付けられるようになっています。正しい向きに取り付けないとタッチディスプレイや演習で作成する回路を破損する恐れがありますのでご注意ください。この件も含め、本ページの内容を実行する際は全て自己責任でお願いします。

また、この40ピンフラットケーブル(リボンケーブル)ですが、上の写真のSWITCHSCIENCEさんのものはかろうじて使える長さであるものの、もう少し長いと配置に余裕ができて嬉しいところです。探してみたのですが、なかなか見つかりませんのでしたので、下記のものを購入して自作しました。
RSコンポーネンツですので、個人での利用は若干面倒かもしれないのがネックですね。作成の際はこちらの動画を参考にしました。万力(バイス)が必要ですが、amazonで1000円前後で購入できます。

Raspberry Piの設定

比較的新しいRaspbianでは、インストール時から問題なくディスプレイが映るはずです。

デスクトップが起動した後、デスクトップの描画領域がディスプレイの表示領域より狭い場合、 設定アプリケーションの「システム(System)」→「オーバースキャン(Overscan)」を「無効(Disable)」に設定してから再起動しましょう。以後は800x480の解像度で利用可能になります。


また、このタッチスクリーンを公式のケース(例えば秋月電子通商さんのこちら)に収めて利用する場合、ディスプレイの上下が逆さな状態でがデフォルトとなってしまっています。このようにディスプレイの描画を上下逆さにしたい場合、下記の設定をすることで映像を180度回転して利用できるようになります。

まず、ターミナルLXTerminalを起動し、下記のコマンドを実行します。
sudo leafpad /boot/config.txt
なお、NOOBS 3.2.1以降ではテキストエディタとしてleafpadではなくmousepadを用います。
sudo mousepad /boot/config.txt
このコマンドにより、設定ファイル/boot/config.txtが管理者権限のテキストエディタleafpadで開きますので、末尾に下記の1行を追記します。
lcd_rotate=2
追記したら保存してRaspberry Piを再起動します。映像が180度回転された向きでケース入りのタッチディスプレイを利用できるはずです。

おわりに

というわけで、Raspberry Pi公式タッチディスプレイの利用法を紹介しました。このタッチディスプレイの評価は、800x480という解像度をどうとらえるかで分かれるだろうと思います。

10年くらい前のノートPCには、800x600という解像度のものが多くありました。そのようなノートPCを使った経験のある方なら、このタッチディスプレイをそれほど違和感なく使えるのではないでしょうか。

逆に、広いデスクトップしか使ったことがないという方には厳しいかもしれません。

個人的には、Rapsberry Pi一式がコンパクトにまとまり、机が広く使えるようになるためとても気に入っています。