秋月のI2C LCD ACM1602を使ってみた

NO IMAGE

ちょっとした回路を組んでいて、LCD表示が欲しくなった。

8ピンマイコン(12F675)を使う関係上、パラレルデータバスのLCDだとポートが足りない。
そこで、秋月のI2CのLCDを使うことにした。

I2Cなんぞ初めてなんで、データシートを一読しただけではよく分からなかった。
沢山のICがデータバスにつなげられるのは知っているのだけれど・・・。

噛み砕いていえば、I2Cってのは、バスが2本でデータにスレーブのアドレスを送ってやり、それに合致したアドレスのICが応答するってわけ。
なーんだ ではあるけれど、プログラムを作るのが面倒くさそう。

picfun.comに参考になるプログラムかあったので、そいつをベースに12F675+ACM1602用に作り変えた。
当該のプログラムは、I2Cが使えない12F683とストロベリ-リナックスで売っているLCD用なのだが、ちょっともじるだけで他のマイコンに移植することは可能。
12F675もI2Cが使えないから、12F683と殆どやっていることは一緒。
おぉ、ちゃんとLCDが表示するじゃん。

さらに別のプログラムを作ってみる。ところが、2行表示できるはずが1行しか表示されなくなったのだ。
これには、かなりはまってしまったが、単においらがLCDの設定ミスをしただけだったのだ。
I2Cは、何もしない時は、全てのバスをHレベルにしておくというお作法があるのだ。
それをしなかったために、おかしな動作をしたってわけ。

これさえ分かってしまえば、楽勝!