ブログパーツ レンタルCGI
TAKAさんの毎日が発見・ブログ
アマチュア無線の機器製作を中心にした日常の活動記録です (by Taka JA2GRC、このブログはFC2_BLOGを使わせていただいてます。)
≪07月   2017年08月   09月≫
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  
RasPi + LCD
 Raspberry Pi にキャラクタ表示LCDを繋いで表示させるのに結構嵌りました。
 16x2構成のキャラクタ表示LCDをRaspberry Pi に繋いで表示させるのは以前にやった事があるので、20x4構成のキャラクタ表示LCDでも簡単に行くだろうと思っていましたが、意外に設定で嵌ってしまいました。 元々、KANHAMで手に入れた「怪しげな」LCDで、データシートもハードウエア接続に付いては説明してあるのですが、キャラクタ表示の為の初期設定やデータ転送などについては記述されていません。 16x2構成なら、そこそこ実例もあり、今回のRaspberry Pi との接続も、その例をそのまま使って16x2を表示する所まではすんなりいったのですが、これを20x4に拡張する所で嵌ってしまいました。

170423_raspi_lcd_01.jpg

 実例はPythonで記述されています。 先日来、Perlを使ったり、Phpを使ったり、まるで、何でも来いと言った感じに見えるかも知れませんが、実は、PerlもPhpもPythonもほとんど初めてです。 たまたま実例がPythonで記述されていたので、そのまま使っているだけです。 まあ、どの言語も記述法は似たり寄ったりなんで、だいたい推測で理解できます。 色々触っていたら、そのうち、どの言語でも使える様になるかも? そんな期待もありますが。

 そんな話はさておき、横幅を16文字から20文字にするのは、簡単に分かりましたが、行の方を2行から4行に拡張する所で嵌ってしまいました。 この設定はLCDのRAMアドレスを設定しているみたいなんですが、0x80の次が0xC0と成ってます。 上の2ビットがアドレスかなとも思ったのですが、そうなると3行目は設定できません。 それで、色々な数字を試してみましたが、変な位置に表示されて上手く行きません。 ネットにも、4行表示のLCDの例はあまりヒットしません。 そんなんで、しばらくああだこうだとやってみたり、ネットを検索し直したりしていましたが、やっとそれらしき情報にぶち当たりました。 この方の投稿を見ると、変な系列でRAMアドレスを設定しています。 半信半疑でこの設定で試してみたら、あら不思議、これで、ちゃんと3行目、4行目が綺麗に表示される様になりました。 20て2のn乗じゃないので、こんな不規則なアドレスで、メモリの節約をしているのかも知れません。

170423_raspi_lcd_02.jpg

 まあ、とにかく、おかげで20x4の表示が上手くできる様になりました。 これで、こちらで話していた様な中間サーバーの表示パネルとして使えそうな感じです。 そのためにはPythonをちょっと勉強しなければ成りませんかね。

170423_raspi_lcd_03.jpg
コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by まとめ .