I2Cセンサーとの接続実験(照度&近接センサー)【Arduino超入門】

I2Cセンサーとの接続実験(照度&近接センサー)【Arduino超入門】

今回はI2C接続のセンサーをArduinoに接続してみたいと思います。
手元にあった照度、近接センサーを使ってみます。

接続方法

以下の通りに結線します。
3.3V駆動のセンサーですので、I2Cに使うSCL,SDAピンの電圧レベルもシフトレジスターというICを使って5V→3.3Vに降圧する必要がありますが、簡略化のため省いてます。。(本当はダメです。)

Arduino 近接・照度センサー
3.3V
Vcc
GNDGND
SCLSCL
SDASDA

ブレッドボード上の配線だと以下の通りです。

配線方法

なおArduino側SCL,SDAは上面にピンマーキングの記載はありませんが、側面には記載があるのでそちらで確認してください。

動作プログラム

続いてプログラム側の設定を行います。
まずはセンサー側のスレーブアドレス特定のため、サンプルプログラムを動かします。
こちらのリンクのプログラムをコピー&ペーストして実行してみてください。

正しく動作すれば、シリアルモニターを開くと現在接続されているセンサーのスレーブアドレスが表示されます。(今回の場合、0x1E)

スレーブアドレス確認

スレーブアドレスがわかったのでプログラムを開発していきます。

まとめ

今回は近接センサーの動作のみ記述してみました。
実際に使うセンサーのデータシートを記載しながら、設定しなければならないレジスタ、データを読み込むレジスタは変わってくるので、センサーに応じて適宜変更するようにしてみてください。