前回はGLCDを使ったオシロスコープを作成しました。

今回はI2Cに挑戦しました。
それでは、いってみましょう。
I2Cとは?
I2C=Inter Integrated Circuitです。
簡単にすると、I2Cを用いることで多数のマイコンやセンサと通信ができるようになります。
I2Cを用いる際にはルールがあります。マスターとスレーブを決める必要があります。
私が知る限り、マスターは1つしかなれません。スレーブは複数できます。
マスターとスレーブの接続は下図のようになります。

図にあるようにSCLとSDAの2本の線で複数のマイコン、センサと通信ができます。
通信に2本の線を用いるため、私がマイコンとして使用しているATMEL社の用語ではTWI(Two Wire Interface)と呼ばれています。
今回はマイコンとマイコンの通信をしてみることにします。
マイコン間の回路
上で述べたことを回路にするとこんな感じになります。マスター、スレーブとも1つのマイコンで構成しました。

ポイントは2つの線に1kΩのプルアップ抵抗をかましているところです。
なぜこのようにしているかについては回路編で説明をしたいと思います。
次にどのようなことをマイコン間でさせるのかについて説明します。
実験内容
マスターからデータを受け取ったスレーブはPORTBのPB6/7のLEDを点灯させるというのが実験内容です。
流れをフローチャートにしてみました。

会話風にすると枠で囲った英語の部分をみてもらえると良いかと思います。
この会話のやり取りを見えるかするために、マスター,スレーブ側にLCDを付けました。
これが今回の実験内容です。
実験
それでは実験に移ります。再生時間は2分40秒です。
フローチャートの流れがわかるようにLCDに会話を表示させてみました。
次回
動画にもありましたが、次回はマイコンとセンサのI2Cになります。

次回もノリユキのブログを見に来てください。
本日はここまでです、毎度ありがとうございました。