AitendoによってバーゲンのTNセグメント液晶を買ってきました。
もちろんFreeBSD/mrubyで使う事にします。
最初に買ったモジュールはいろいろいじっているうちに壊れてしまったので、もう一度バックライト付きのものを買ってきました。
とりあえず3.3VのArduinoで試してみたのですが、4ビット単位で送ったデータの1ビットが表示できない状態でした。
これはBIASコマンドを送っていないためでした。たしかにBIASコマンドにはcommonsの設定が入っているので、これが3 commonsになってしまっていたのだと考えられるのですが、世の中のサンプルにはBIASコマンドを設定していないケースもあり、どうも電源投入のタイミングや電圧や回路によって初期値が変わってしまう様な気がします。
とりあえずArduinoでは動いたので、FreeBSD上のmrubyでmruby-bsdgpioを使ってプログラムを書いてみたのですが、うまくいきませんでした。表示はできるものの、一部消えなかったり複数箇所が書き変わったり、連続書き込みを受け付けなかったり大変不安定です。考えられる可能性はWRのクロックが遅いとか奇麗じゃないとかがあるのかと思います。
このモジュールはHOLTEK社のHT1621というコントローラーチップを使っている様なのですがかなり癖のあるデバイスという印象です。
スマートメーターの表示デバイスとしては最適なので表示はArudinoでi2cでFreeBSDからデータを渡すなどの方法も考えてみたいと思います。
余談ですが、このタイプの液晶はバックライト有無と桁数違いで何種類かあるようですが、表示内容はほぼ同じようです。~~おそらく人の目よりも高いところに設置して使う事を考えていて、視野が正面より下側は良いのですが、上から見るとほとんど見えなかったりしています。~~適当な抵抗がつけられているためにコントラストがいい加減になっているだけのようです。半固定抵抗で調整可能にすればちゃんと表示できます。
参考にしたサイト
http://plaza.rakuten.co.jp/aisuke37/diary/201606250001/
http://morecatlab.akiba.coocan.jp/lab/index.php/2015/10/segment-lcd/
http://plaza.rakuten.co.jp/v62000/diary/201606300000/