Raspberry Pi3 で I2Cセンサーを使う
Raspberry Pi3(RPi3)でI2Cを使うときのメモです。
秋月電子通商でIRセンサー(赤外線で距離を測るセンサー)を注文したのだけど、どうやってRPi3で使うんだ?ということになりました。
下調べの段階で、UARTではラインが占有されてしまうのでI2Cのほうがよいということで、I2Cに対応したセンサーを注文していました。
http://akizukidenshi.com/catalog/g/gI-07547/
以下にRPi3で使うための手順を示します。
- RPiを起動し、i2cを有効にする。
$ sudo raspi-config
TUIが起動するので、[7 Advanced Options] -> [A7 I2C] と進む - 一応、RPi3を再起動する。
- aptより、i2c-toolsとlibi2c-devパッケージを入れる。
$ sudo apt-get update
$ sudo apt-get install i2c-tools libi2c-dev - 一度、RPi3をシャットダウンする。
- 次のように、GP2Y0E03とRPi3を接続する。(ブレッドボードで行なうとよいでしょう)
- RPi3を起動し、i2cdetectコマンドでセンサー(初期アドレスは0x40)を認識できるか確認する。
$ sudo i2cdetect -y 1 - I2Cプログラムを書いて動作を確認する。(参考Webページのプログラムで確認できました)
「I2Cでセンサーを繋ぐときに、プルアップしなくていいの?」という疑問があったのですが、RPi3の 3, 5ピン(SDA, SCL)はオンボードで1.8 [kΩ] でプルアップされているっぽいので、直接結線すればいい感じです。
Schematics - Raspberry Pi Documentation
よりAdvancedなことは機会があれば書きます。