GWの東京旅行でいつもの通り秋月電子通商へ向かい、いつもの通り何か買ってきました。今回は20文字x4行の表示ができるキャラクタLCDモジュールをRaspberry Piにつなげて動かします。
キャラクタディスプレイ大好き
漢のロマンです。VFDならなおよし。
今回買ってきたのはキャラクタディスプレイモジュール 20×4行 白色バックライト付 SC2004CSWB。一個\1,700。HD44780というメジャーなパラレル接続LCDコントローラと動作互換があり、今風の青白いバックライトで光ります。
当ブログの本当初期に「LCD Smartie | 徒労日記」という記事があります。実に9年前。当時は各PCにパラレルポート(LPT)があり、そこにLCDを接続、ツールを入れる事でPCのステータスを表示できる事ができました。
パラレルポートは絶滅しましたが、今回Raspberry PiにキャラクタLCDを取り付け、何らかの情報を表示させる所までやってみます。
LCDproc
ツールも大昔からあるLCDproc – Homeを使いました。最近も更新されており、出力ドライバにRaspberry Pi(GPIO)を選べる様になっていました。もうパラレル・ポートだけじゃありません。
このツールはLCDへの出力を行うServer(LCDd)と、表示データを作成し送るClient(LCDproc)に分かれています。両方を一つのマシンで動かす事もできますが、Raspberry Piの負荷とか見てもほとんど実用になりません。
そこでテストWebサーバになっているVMware上のScientific LinuxのステータスをRaspberry Piでモニタする事にしました。
ハードパート
Raspberry PiのGPIOからSC2004のコネクタへ1本づつつなぎます。Table 5.18. HD44780: Default pin mapping for Raspberry Piの表の通りに接続するとこうなります。
PIN2は+5V,PIN6はGND。Raspberry PiとLCDの間にコントラストを調節するVR(10kΩ)を接続するため、ブレッドボードを使用しました。VR中点をLCDのPIN3と接続します。
SC2004は説明書に書いてある通りJ2をハンダショートし、バックライトの電源を共通化済み。
ソフトパート
自分はSourceForgeから.tar.gzをダウンロードしてmakeしました。
aptでバイナリも落とせるみたいです。
# wget http://downloads.sourceforge.net/project/lcdproc/lcdproc/0.5.7/lcdproc-0.5.7.tar.gz # tar xvzf lcdproc-0.5.7.tar.gz # cd lcdproc-0.5.7/ # # ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-drivers=hd44780 # make # make install
インストールが終わったら、サーバ側の設定ファイル(/etc/LCDd.conf)を編集、下記設定に変更します。Bind=は127.0.01ではなく、eth0の実アドレスへ変更。
Driver=hd44780 Bind=192.168.xxx.xxx ConnectionType=raspberrypi
解凍したフォルダにて
server/LCDd
と実行すればサーバが起動します(-fオプションにてフォアグラウンド動作)。
クライアントを動かすマシン(今回はVMware上のScientificLinux)でも同様にインストールし、クライアント側の設定ファイル(/etc/lcdproc.conf)を編集します。
Server=192.168.xxx.xxx
ServerはLCDdの動いているRaspberry Piのアドレス。
保存したらあとはパスは通っているので
lcdproc C P G L M S D I B T U K
で起動、データがServer側に送信され始めます。起動パラメータはどの項目を表示するかの指定ですが、無指定でもデフォルト設定で大抵の項目が表示されるので任意で。
今後の使い道
今回はテストもあり手っ取り早くLCDprocを使用しました。ただしこれだとGPIOがドライバに専有されてしまうため、センサとの連動が難しい気がする。
という訳で今は
を参考にPythonでTwitter連携なり、センサ連携なり何かできないか考え中です。温度をロギングしてLCDへ表示、状況に応じて赤外線にてエアコン、ライトをOFF/ON。そんな野望はあるんですが。
にしてもAdafruitというサイトは中学校の頃に読んだ電子工作の本みたいで+(0゚・∀・) wktk!!+しますね。ここの商品を買わなくても大抵動きそうだし。あれもこれもやってみたい。本当刺激的。