MIRSMG4 管理台帳へ戻る

名称 超音波センサのI2Cアドレスの確認・変更手順
番号 MIRSMG4D-SYST-0006
版数 最終更新日 作成 承認 改訂記事
A01 2017.04.18 牛丸真司 牛丸真司 初版
A02 2021.05.25 牛丸真司 牛丸真司 管理台帳フォーマットへの変更

超音波センサのI2Cアドレスの確認・変更手順

複数の超音波センサを使用する場合は、センサのそれぞれのアドレスを他と異なる I2C アドレスに付け替える必要がある。 超音波センサ Devantech SRF02 の初期の I2Cアドレスは 0xE0 (7bit仕様では 0x70 )となっているが、以下にその変更手順を示す。

  1. RaspberryPi のユニバーサル基板にに著音波センサを取り付ける。 (同じアドレスのものがI2Cバス上に存在してはいけないので、初期設定のものを複数同時に取り付けてはいけない。)

  2. i2cdetect コマンドでアドレスを確認する。

    pi@raspberrypi:~ $ i2cdetect -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: 70 -- -- -- -- -- -- --                         
    


    Arduino で扱う I2Cアドレスは 7bit なので、8bitアドレスの最下位ビットが1つ落ちて、 i2cdetect の出力では 0xE0は 0x70 として表示される。 (i2cdetct コマンドは 7bit 仕様になっている。)

  3. i2cset コマンドでアドレスを変更する。

    【例】0xE0 (0x70)のアドレスを 0xE2 (0x71)に変更する場合

    i2cset -y 1 0x70 0x00 0xA0
    i2cset -y 1 0x70 0x00 0xAA
    i2cset -y 1 0x70 0x00 0xA5
    i2cset -y 1 0x70 0x00 0xE2
    

参考URL