Arduinoに使用されているLCDは、かなりの種類がある。これらのLCDは、携帯電話等に使用されたもののようであるが、その仕様についてはあまり詳しい情報がない。
いままでのVFO製作に使用したLCDは、ILIと言う記号のついたドライバーICを採用したものだ。これを使った製作例が多くあることと、ライブラリーが容易に入手できたから使っている。そこで、これらLCDについての備忘録として端子記号とインターフェースについて記録しておく。
使用してきたLCDの外観を示す。同様なイメージでもバージョンが違う等幾つか存在する。総てを使用したわけではないので、どれも同じとは言えない。販売者が掲示している情報を注視して選択するしかない。
これらLCDとarduinoを接続し、スケッチにライブラリーを設定し使用することになるわけであるが、これがまた、LCD,ライブラリー、arduinoとそれぞれ記号が違う。誤配線やスケッチで毎回混乱する。そこで早見表を作ってみた。この接続は、ハードウェアSPIという通信方式で、arduinoに標準的に組み込まれているライブラリーで使用する方式だ。これ以外にもソフトSPIといって汎用DI/Oを使用しても可能であるが、SPIの方がスピードが圧倒的に早い。その代わりDI/Oが固定されている。ILI系以外にも使用例の多いST系LCDも参考に入れてある。
見方としては一例として、
ILI系のLCDでSCK端子は、UCGライブラリーを使用してarduinoに接続する場合は、SCK端子をインターフェース(後で説明)を経由してD13に接続する。スケッチではSCLKとして設定する(されている)。
インターフェースについて
LCDは3.3V動作である。Arduino UNO,NANOは5V動作である。従って直接接続することは出来ない。Arduinoから0-5Vのデジタル信号が出てくるので、これを0-3.3Vのデジタル信号に変換してLCDに接続するわけである。
そのインターフェースには幾つか方法がある。その一つがCD4050やCD4010といったコンバーター用のICである。これらは、TTLとCMOSICを接続するためのバッファ用ICである。その使い方は以下の回路図を参照にしてほしい。注意点は片方向通信となるので、ArduinoからLCDへの一方通行である。表示するだけであればこれで問題ない。将来SDカードやタッチパネルが付いた物を使用する場合は、逆方向も必要となるので注意。
次にVFOでも仕様しているが、FXMA108という8bit双方向ロジックレベル変換ICである。これは、8bitの双方向が可能で入出力も左右対称になっているので、結線や、P板パタンが簡単となる優れものである。幸いDIP基板化したものが秋月で販売されている。
http://akizukidenshi.com/catalog/g/gM-04522/
これを使用しておけばひょっとして逆方向に使うときも気にすることが無くなる。
最後に抵抗分割で接続する方法で、arduinoの端子から3.3KΩを直列に接続し、LCDに接続する。その端子から6.8Kオームでアース(GND)に接続する。これで5Vから3.3Vくらいに分圧されて接続できるはずである。実際の使用例も幾つか見られる。試しに実際にやってみたが動作した。まあ、緊急避難方法と考えたほうが良いと思う。
お勧めはFZMA108である。
LCD電源について
LCDの内部は3.3V動作である。上記LCDは5V供給、3.3V供給どちらにも対応できるようになっている。標準は5V供給であるが、基板上のJ1をジャンパすれば、3.3V供給が可能である。
LCDのバックライトとLCD本体の電源をどうするかであるが、本体の消費電流は20mA以下のようなので、私は、arduinoから3.3Vを供給し、バックライトLEDは別電源としている。
LEDバックライトについて
LCDバックライトにはLEDが使用されている。電圧は3.3Vである。実際に測定してみると
1.44inch-30mA 1.8inch-40mA 2.2inch-70mAであった。
使用例を幾つか見ると3.3Vをarduinoから供給している場合が多い。そこでaruduinoの仕様を調べてみたが、どうも50mAくらいらしい。本家では明確な記述が見つからなかった。
LCD本体の電源等を考えた場合LEDの電源は別に用意したほうが良さそうである。少なくとも2.2inchはオーバーする。そこで別に用意した5Vから抵抗を介して接続するようにしている。抵抗値は回路図に記しておいた。(但し私の持っているものの測定)
以上 自分自身の備忘録としてのUPです。お気づきの点があればコメントをお願いします。
0 件のコメント:
コメントを投稿