Raspberry Pi3 で I2Cセンサーを使う

Raspberry Pi3(RPi3)でI2Cを使うときのメモです。

秋月電子通商でIRセンサー(赤外線で距離を測るセンサー)を注文したのだけど、どうやってRPi3で使うんだ?ということになりました。

下調べの段階で、UARTではラインが占有されてしまうのでI2Cのほうがよいということで、I2Cに対応したセンサーを注文していました。

http://akizukidenshi.com/catalog/g/gI-07547/

f:id:tuttitan:20170209184902p:plain

 

以下にRPi3で使うための手順を示します。

  1. RPiを起動し、i2cを有効にする。
    $ sudo raspi-config
    TUIが起動するので、[7 Advanced Options] -> [A7 I2C] と進む
  2. 一応、RPi3を再起動する。
  3. aptより、i2c-toolsとlibi2c-devパッケージを入れる。
    $ sudo apt-get update
    $ sudo apt-get install i2c-tools libi2c-dev
  4. 一度、RPi3をシャットダウンする。
  5. 次のように、GP2Y0E03とRPi3を接続する。(ブレッドボードで行なうとよいでしょう)

    f:id:tuttitan:20170209191650p:plain

  6. RPi3を起動し、i2cdetectコマンドでセンサー(初期アドレスは0x40)を認識できるか確認する。
    $ sudo i2cdetect -y 1
  7. I2Cプログラムを書いて動作を確認する。(参考Webページのプログラムで確認できました)

 

「I2Cでセンサーを繋ぐときに、プルアップしなくていいの?」という疑問があったのですが、RPi3の 3, 5ピン(SDA, SCL)はオンボードで1.8 [kΩ] でプルアップされているっぽいので、直接結線すればいい感じです。

Schematics - Raspberry Pi Documentation

f:id:tuttitan:20170209184836p:plain

 

よりAdvancedなことは機会があれば書きます。

 

 

参考Webページ