Raspberry Pi にカラー液晶をつなげる
 予定としては、Beagle Bone BlackでAmdroidのソフトを作ろうとしてたのですが、Beagle Bone Blackが壊れてしまいました。いつ入荷するかわからない状況です。それじゃあ、RaspberryにLCDでもつけてみよう。
こじ研(小嶋研究室)さんの記事を参考にさせていただきました。

結果は、ほぼうまくいきました。

この記事で使ったボード売り切れだったので、別の同じ制御ICを使ったLCDボードを購入しました。しかし、ボードが違う成果?記事のとおりに動作しないことがあってソフトを改造しました。

aitendoさんのL32-2PY を購入
 こじ研(小嶋研究室)さんで使ったLCDはM032C1289TPです。これが売り切れなので仕方なくaitendoさんで同じチップを使っているL32-2PYを購入しました。両者は外見で同じように見えますが、決定的な違いがあります。
M032C1289TPはLCD本体と基板が半田付けされていて余計な作業は不要です。
しかし、
L32-2PYはLCD本体と基板を半田付けしなければなりません。

フラットケーブルと基板を図のように半田付けします。
こんなに細いのを半田付けするのは、それなり半田付けの技術がないと失敗します。乱視気味なのでこれはきついです。しかし、もうあともどりはできません。最悪、動かない。購入したお金が無駄になってしまうことを覚悟で半田付け。テスターで入念にチェックしてOKとなるまで2時間くらいかかりました。

半田付けに自信のない人はこのボードを買わないほうがいいと思います。

やるときは、間違わないように細心の注意をして接続してください。

インターフェースを作る
 最初はこじ研さんの再現実験になります。同じ回路をブレッドボードでくみ上げます。今まではオペアンプを使ったアナログ回路を作っていましたが、ブレッドボーではノイズなどの問題で使い物になりませんでした。しかし、今回はデジタルなので気にしないでやりました。しかし、半田付けしないで回路が作れるのはすこぐ楽チンです。

ブレッドボードは初めてなので、美しくない配線になってしまった。

ソフト
 ソフトもインターフェースと同様にこじ研さんの再現実験です。
そのまんまです。

結果は?
 何度かトライしてNG。配線が間違っていたりした。気合を入れてチェックしなおしてやっと画面にテストパターンが表示された。

しかし、問題がある。
電源をいれて最初に
sudo ./lcd
(lcdはCで作成した実行ファイル)
をやると上記のちゃんとした表示。
もう一度、
sudo ./lcd
をやると次のような画面。

なんだ、こりゃ!
同じプルグラムを実行させて1回目と2回目以後の表示がちがう。2回目以後はダメ表示。なんでだ?
はまった、はまった!
 かなり厄介な問題です。ソフトが悪いのか、ハードが悪いのか?1回目にLCDの初期化をして2回目以後は処理化をしないで動作させると問題は起きないという不可解な事実をみつけた。とりあえず初期化を今までの経験を総動員してあれこれ試してみる。やっととりあえずの解決方法がわかった。
もう少しやってみていいようだったら、ソースを公開します。

今後について
 シフトレジスタの74HC4049が300円弱と案外高いです。SPI専用のICがこれより安く1個で同じことができます。このICを使えば更に楽チンで安くつくれます。また、厄介な問題のおかげでLCDコントローラーの仕様書をよく読んだので直線、四角などの描画処理もできそうです。
 それと、このようなLCDをどう考えるかです。市販されているRaspberry PI専用のLCDボードを買ったほうが問題は少ないようです。タッチパネルの機能を使うことができます。それに比べ今回使ったボードは専用品より安いのですが、この回路ではタッチパネルを使うことはできません。
Raspberryにカラー液晶(リベンジ)