2017.05.11
1,000円未満で買えるRaspberry Pi用表示デバイス
HDMIケーブルでディスプレイをつなぐのではなく、直接Raspberry Piに表示機能を持たせたくなった事はありませんか? 純正の7インチディスプレイが使えればいいんですけど、ちょっと費用と手間がかさみます。できれば1,000円未満で済ませたい、しかもなるべくカンタンに……という場合に使えそうな表示デバイスを2つほど見繕ってみました。
秋月電子通商の『Raspberry Piキャラクタ液晶ディスプレイモジュールキット』なら、820円で8×2文字のLCDとRasPi用の変換基板が手に入ります。ピンソケットの配列がRasPiのI2C端子周辺に合わせてあるので、レイアウト表を見て配線する必要はありません。向きだけ気をつけて挿入するだけ。LCDとソケットをハンダ付けする一手間がやや残念ではあるものの、ストレート型かL字型のどちらかを選べるので、使い勝手を考えて一工夫する余地があります。看板みたいに立ててみたり、寝かせてコンパクトにまとめてみたりできるわけですね。
I2C接続のLCDなので、OSの設定が必要です。”aqm0802a raspberry pi”で検索すれば、詳しい解説がいくつか見つかるでしょう。筆者はひとまず次のようなシェルスクリプトを用意して、動作チェックをしました。GPIO 4をhighにすると、バックライトLEDが点灯します。かなり明るいので、ユーザーの注意を喚起するインジケータとしても使えるかも。(実行するときはsudoを付けてください)
#!/bin/sh # バックライトon echo "4" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio4/direction echo "1" > /sys/class/gpio/gpio4/value # LCD初期化 i2cset -y 1 0x3e 0 0x38 0x39 0x14 0x78 0x5f 0x6a i sleep 0.3 i2cset -y 1 0x3e 0 0x0c 0x01 i sleep 0.3 i2cset -y 1 0x3e 0 0x06 i sleep 0.3 # Hello i2cset -y 1 0x3e 0 0x80 b i2cset -y 1 0x3e 0x40 0x48 0x65 0x6c 0x6c 0x6f i # World! i2cset -y 1 0x3e 0 0xc0 b i2cset -y 1 0x3e 0x40 0x57 0x6f 0x72 0x6c 0x64 0x21 i # 5秒待ってバックライトoff sleep 5.0 echo "4" > /sys/class/gpio/unexport
最初は、node-redでこのLCDを扱えるようにして、ネットに向けて開けられた情報の小窓のように使うつもりだったのですが、まだうまくいっていません。Pythonにsmbusとrpi.gpioを導入する方法なら情報豊富です。
次はライブラリが充実していてハンダ付けも不要、袋から出してソケットに挿すだけで使える1000円以下のデバイスを紹介しましょう。Pimoroniの8連LEDモジュール『Blinkt!』がそれ。筆者は秋葉原の千石電商にて800円で買いました。ただ、通販サイトには記載がないですね。他の入手経路だと、もう少し高くなるかも。
8個のLEDが1列に並んでいるだけなので、文字や図を表示することはできません。デジタルメーターのような用途が向いていると思います。いちおうPOVプログラムを作って文字を出してみたところ、写真(下)はキレイなんですが肉眼での可読性はイマイチでした。
ライブラリはPythonに対応していて、プログラミングは比較的カンタン(上記POVのソースはGitHubにおいておきます)。簡易な表示部が欲しいときに備えて、部品箱に1個入れておいても良いデバイスではないかな、と思います。