グラフイックLCD(128*64dot)コントロール
Mikro-Cでやっておられる[JF3SFB さん]の公開資料を元に実験をしています。基本動作はライブラリーを利用させてもらい使っていますが、これからおいおい細かい実験に入るつもり。
LCDは秋月電子で購入したもので、128*64ドットでバックライトが付いています。LEDは4V以上で点灯するので5V動作がよさそうです。LEDを点灯させなければ本体は3.3Vでも動作するようです(負電圧発生回路を内臓している)。気になる問題点
試した結果を並べると次のようになりました。
- 現在は表示の点滅がうるさいので「表示スピードを極端に遅らせて必要な時だけ書き換える」つもり。
- グリッドでもなければDATAとして読めない。後でこの辺の表示は考えたい(波形だけなら必要ないかも知れない)。
- 電源ですが[3.6V]程度が良かった、5Vでは何故か一部表示しない(理由不明)。コントラストは調整すると絵(dot)が出て来る。
- オリジナルのままで0.6KBほどメモリーを使っているので、プログラムは残り2倍ほど残っている。
- 消費電流は3.6Vで6mA程度でした、5Vだともっと電流は流れる。
もしかしてリチウムイオン電池が手に入れば使い易いかもしれない、携帯の電池を使う手もあるかー。消費電流は回路の工夫で多少改善が出来るかも。- 思った程きれいに表示出来ない、LCDが見づらいのは仕方ない!(外付けLEDの方が効率的かも!)
- パソコンにいちいち接続しなくても作動するので「ある意味」使えそうな予感がする。
- 文字表示は出来ないので、少し不便(Softで作る必要がある)。
あまり欲張っても仕方はないが、小物のアクセサリーとして簡単な操作に使えそうです。
今回はスタートだけですが、順次試して行きたいです。写真はLCD部分で3KHzの信号を表示させている、肉眼では見えるが写真には出ない。
2009/MAY/1
SWを付け、押された時だけ動作
5月2日SWを付け、押した時にDATAを取り込み、波形などを表示させることにした(少し改善!)。
SWのチェックをクリヤー処理プログラム前に追加し、SWが押されるまで待ってから動作させる。それまで前の状態を維持している。While(PORTA.F5);
これでSWは[ノーマルで1]、[押されると0]になり、以後ループを抜け出しDATAの取り込み、グラフッイク表示され、またSW入力をチェックする。
続けて押されていれば、同じ動作で再度DATAを取り入れ、表示される。ハード的にはPORTAのbit5を22KΩでプルアップしSWを付けただけ。(2009/5/2)
グリッド線を引く実験をしました。
後でグラフを書かせた時、DATAが読み取れないので線を引きたいと思っていました。横線が引けたので縦も少し入れてみました。まだ具体的な物ではないのですが今後これを修正して使いたいと思います。
void gLcdGrid() // 2009/5/4 { unsigned short pas, cas, cs; for (cs= 0 ;cs <= 1;cs++){ // @ Pages for (pas= 0xB8 ;pas <= 0xBF;pas+=2){ gLcdCommand(cs, pas); // A Colums for (cas= 0x40 ;cas <= 0x7F ;cas++){ if (( cas & 8)==0){ //5/10追加 gLcdCommand(cs, cas); // B DATA if ((cas & 0x0F)== 0) gLcdData(cs,0xff); else gLcdData(cs,1); } } //5/10追加 } } }写真の点線は、A/D変換したDATA(3KHz)のられつを表示したもので変化は無い。
1/3/5/7ページは書き込んで無いので、再書き込みをすると前のが残り、重なって表示されてしまう(後で直したい)。線自体も多過ぎる感じがする。線を引くには丸印の3つが必要です、たて筋は0xFFを入れる。(2009/5/6)
横線を少し切って飛び々に表示させた(少し改善)。(2009/5/10)
[Menu へ戻る ]