こないだの、aitendoのI2C液晶が、けっこうちゃんと
動いてウレシイ感じなので、こいつをもうちょっと
色々機能足して使えないか画策中。
具体的には、
https://www.youtube.com/watch?v=QdaBERh0mT4
この動画みたいに、C-LCDながら、ちょっとしたドット
でグラフィック表示しちゃう感じの共通機能を
作っちまおうかなぁという話。
作りかけで足踏みしているArduinoコアのオシロ。
あれの、ソフト部分は大体できちゃってるから、
あのグラフィック処理部分を引っ張ってきて、
ドット単位で表示ができるエリアとして、
最大40×7ドットのG-VRAMを作っちまおうという、
壮小な計画。
あのグラフィック処理は、とりあえず1ドット
単位の処理さえ作っちまえば、あとは「pset」
「preset」「line」「cls」みたいな、かつての
BASIC的なグラフィック命令は、一通りできる
代物。
I2Cとはいえ、表示エリアが狭いので、まぁ処理速度
についても、何とかなるだろうと。
ちなみに、40×7ドットっていうのは、横5ドット
の8文字分のつもり(縦は元々7ドット)なんだけど、
I2C液晶も、ユーザ定義文字8文字まで使えるのかは、
まだ未確認。モジュールによるのかな?
パラレルでもI2Cでも、C-LCDって、ライブラリ通して
使う分には、ほぼ同じメソッドでアクセスできる
ようになっているので、できれば、C++のLCDのクラス
を継承して、両方で使えるようにしたいとか思って
るんだけど、C++のオブジェクト指向って元々あまり
好きじゃないし、きれいに機能拡張だけできるか
とか、ちょっと考えてみて技術と知識不足で足踏み。
とりあえず、クラスにせずに、単なる関数程度として
コード書いてみてから、ちょいちょい弄りながら
詰めていく感じの方がいいかな…
ちなみに、G-VRAM自体は、実体はキャラジェネ使って
文字表示をしているだけなので、一連のキャラジェネ用
文字をどこに書くかってだけで、LCDの好きな場所に
VRAMを設けられるっていうのがなかなかイイカンジじゃ
ないかなぁと。
あとはあれか。縦2行つかって、20×14ドットでも表示
できるようにするかどうか、だな。
オシロとかだと、横に長いほうが使い勝手いいけど、
普通の用途だと、縦横比が同じくらいの方がいい
のかもしれないしな。
Seriaに寄ったら、単3電池でUSBの5V出力の昇圧器、
いっぱい売ってたな。探してると無いのに、探して
ない時にいっぱいあったりするんだよな…
コンニャクゼリーいっぱい買ってきた。
あれこれをようやく一段落するところまで持ってきた。
まだまだ先が長いな。
|