ADT7410温度センサーで測ったデータを、小型液晶AQM0802に表示して見ることにしました。
I2Cを使っているので、増設は簡単です。VDD,GND,SCL,SDAの4本を接続するだけでOKです。
RESETは通常がHIGHであり、LOWになるとリセットされることになるので、VDDに接続しHIGHの状態にしておきます。
ブレッドボードに小型液晶をセットし、I2Cを接続しました。
配線を確認し、電源ON、プログラムを読み込みRUNさせましたが、液晶は何の変化もなく測定した温度データは表示されませんでした。
念のためプログラムの途中に「print(inputVlue)」を挿入し、再度RUNしてみると、Python Shellには測定した温度が表示されるので、
測定ブロックは正常に動作していることが分かりました。
いろいろ調べても分からず、ネットで検索したところ、同じ症状で検索し、ヒットしたページを見ているうちに、
「実例で学ぶRaspberry Pi電子工作 補足情報」にたどりつきました。
その中に「完成品のLCDを購入しても認識されない場合の暫定的な対処法」という、項目があり調べると、
今回の内容にピッタシ当たるようです。
LCDの新しいロットでは電流の引き込み能力が低くRaspberry Piでは動作しないという内容です。
これに対する対処法が二通りありましたので、これをそれぞれ実施してみました。
LCD対処法:暫定版
Raspberry Piから認識されない完成品LCD(AQM0802)に対して、図のようにSDA部からGND間に抵抗を追加する。
動作を確認することができました。
簡単な対処法ですがあくまで暫定版です。
LCD対処法:正式版(ただし上級者向け)
この小型液晶AQM0802の新しいロットを使う上で問題になるのが、
Raspberry Pi上にあるプルアップ抵抗1.8kΩが小さすぎるということのようです。
新しいロットのAQM0802を使う上では、10kΩが推奨されています。
そこで、図のようにPCA9515(I2Cバスリピーター)を使い、Raspberry Piと温度センサー側を切り離し、
Raspberry Pi側を1.8kΩ、LCD側を10kΩで利用するようにします。これをブレッドボード板上で行うためには、
基板に小さなチップ部品をはんだ付けする作業が発生します。ここがちょっと大変です。
基板の作成〈部品一覧)
完成品
LCD側のプルアップ抵抗を有効にする
PUのプルアップ抵抗を有効にするため、端子にハンダを盛る。
動作を確認すると、LCDに温度が表示されるようになりました。
全体図