2013年12月30日月曜日

Beaglebone Black で グラフィック液晶 (書籍「Beaglebone Blackで遊ぼう!」より)

 今回は、Beaglebone Black (以下BBB) ネタです。BBB自体は随分前に買ってあったんですが、何度か触ったあと放置していました。Raspberry Pi に比べて、IOが豊富でADも持っているなど、より、電子工作に適しているとは思うのですが、ネット上の情報量(日本語のね)の少なさなどから、今ひとつ使い方がわかりませんでした。Cloud9でJavaScriptで操作する環境はデフォルトで整っているので、IO+ネットワークをやるにはいいのかもしれませんが、CでIOを操作しようとすると、Raspberry PiでいうWiringPiのようなライブラリが見つけられずに、ファイルIOでGPIOを操作する程度のことしか出来ていませんでした。
 今回、ラトルズの「Beaglebone Blackで遊ぼう!」という本の電子書籍(PDF)版を購入しました。その3~4章にCでのハードウェアアクセスの方法が丁寧に解説されていて、4章ではグラフィクLCDを実際に制御する方法がサンプルにそって解説されていました。幸い、記事で使っている秋月のグラフィク液晶を手持ちの在庫で持っていたので、早速試してみることにしました。

 書籍ではジャンパ線(両端コネクタのワイヤ)で配線していましたが、秋月で買ったユニバーサルケープ基板があったので、それに配線することにしました。

 部品としては、抵抗、コンデンサ、輝度調整用の半固定抵抗が1個ずつ。液晶が20pinのコネクタだけなので、簡単です。(むしろ、そんなに使わないのにケープの46pinコネクタを2つ取り付けるのが面倒かも)


 書籍の回路図を見ながら配線。


 書籍では、PWMとGPIOにアクセスするためのライブラリを作成し、そのライブラリを使って液晶に画像を表示する手順(ソース)が説明されています。書籍の内容そのままなので、ソースは載せられませんが、以下、動かしてみたところ。



 BBBをCで操作したい人には、「Beaglebone Blackで遊ぼう!」は非常によい資料になるのではないでしょうか。