PCF8574というICを使うと、パラレル接続LCDがI2Cで制御出来るようになる。このICが載ったモジュールが安く売られている。
最終的にはLCDに繋げて使いたいが、いきなりはんだ付けするのもどうかと思い、今回はこのモジュール単体での動作確認をする。
どんなIC?
PCF8574はNXP社製がオリジナルでTI社が互換品を作っているようだ。
動作は単純で、設定されたI2Cアドレスから読み出しをすれば8本のポートの値が8bitデータとして取得出来、同様にI2Cに書込みをすればその値が8本のポートへ8bitデータとして出力される。
アドレスの確認
モジュールに載っているICがPCF8574の場合とPCF8574Aの場合が存在し、どちらが載っているかによってI2Cのアドレスが変わる。PCF8574の場合はアドレスが0x27、PCF8574Aの場合は0x3fとなるようだ。
I2Cスキャナのスケッチをビルドして実行。結果0x27だったので、PCF8574の物を買ったという事だろう。
動作確認のためのスケッチ
中華ボードのお約束で回路図なんて物は存在せず。素性がよくわからないもののI2Cアドレスは特定出来たので、下記スケッチを動かしてどの端子がどこに接続されているかを探ってみた。
pcf8574test.ino
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(115200);
}
void loop() {
Serial.println("Start checking...");
for(uint8_t n=0; n < 255; n++) {
delay(100);
Wire.beginTransmission(0x27);
Wire.write(n);
Wire.endTransmission();
}
}
上記を焼いてPCF8574を動作させ、出力ピンにLEDアレーを接続してチカチカの頻度でP0〜P7のいずれかを判定した結果が以下。
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 |
---|---|---|---|---|---|---|---|
RS | RW | E | – | D4 | D5 | D6 | D7 |
次回へ続く…
コメント