外部センサ(I2C対応)増設

センサモジュールには、デジタル出力(I2C)のセンサを増設するためのポートを1つ準備しています。ここに、さまざまなI2Cデバイスを取り付けた事例を紹介します。

図1.9軸センサを増設 最新版と差し替え

センサモジュールは外部にデジタル出力のセンサーを取り付けられるようにI2C電圧変換器PCA9306を使用したEXT I2Cポートを持っています。I2Cデジタル通信では、信号線2本(SDA, SCL)と信号グランド(GND)の3本があれば接続可能ですが、別途センサを駆動させるために電源をセンサに供給することが必要です。一般的には、外部電源を用いて、センサに必要な電源を供給しセンサを駆動します。本章では、センサを駆動するための電源をセンサモジュールから供給し、4線(SDA, SCL, VDD, GND)で外付けセンサとセンサモジュールを接続する方法を説明します。

◆ハードウエアの設定

まず外付けセンサで必要とする電源電圧に合わせて電源を供給できるようにします。
・センサーモジュールの出荷状態では、内部の3.3VをEXT I2Cポートに供給できるようにジャンパー設定されています。
・3.3V以外の電圧で動作するデバイスを接続する際は、センサーモジュールのジャンパー設定を変更して3.3Vの供給を切断したうえで、外部から5Vなど接続するデバイスを動作させるのに必要な電源を供給します。

センサーモジュールのジャンパー設定を変更する場合は、ユーザーガイドのセンサーモジュールのオプション設定の章をご覧ください。半田付け作業が必要です。

◆伸縮配線を使った実験事例

ロボットの可動部を越えるために伸縮配線を使って、EXT I2Cポートに加速度センサを取り付けました。オンボードセンサとアドレスが重ならないように、増設するセンサはアドレスを必ず切り替えることが必須です。

このニット配線を介して、モーター駆動等の電力を送ることはできません。信号線としてのみ使用してください。尚、良質な通信状態を担保するためには、信号系のGNDと動力系のGNDは別々に配線することをお勧めします。また、GND線が輪にならないようにしてください。加えて、必要に応じて保安接地用のGNDも検討ください。

 

 

プリロードしたプログラムでは、現在一部のセンサーのみ対応できます。主だったセンサーについては、順次対応していく予定です。


◆外付け対応デバイス

現在、対応できる外部センサ(デバイス)は以下の通りです。順次、追加する予定です。

  • 9軸モーションセンサ:BMX055(増設可)

    9軸モーションセンサ(加速度 x,y,z  、ジャイロ x,y,z 、地磁気 x,y,z の9軸データを計測します。)
    オンボードでもBMX160を搭載していますが、拡張コネクタを使用してBMX055を接続することができます。2か所の9軸モーションデータを取得する場合や、センサ取付場所が小さい場合などに外付けモーションセンサを使用します。

  • 温度センサ(熱電対,MCP9600)(増設可)

    熱電対とは、2種類の金属の接合部で温度によって発生する起電力を測定することで温度を計測するセンサーです。この測定モジュールでは+(クロメル)、ー(アルメル)の接合部に発生する起電力をMCP9600で計測します。


    温度範囲: -200℃ ~ +500℃、精度:±1.5 ℃
    (周辺温度-20~+85℃、熱電対の誤差は含まず)

     

 

 

  • 静電接触:Adafruit MPR121 静電容量センサ(12ch) スイッチサイエンス(増設可)

    静電容量を検出して動作するタッチセンサーです。システムの操作を行う入力デバイスや、人体の接触検知などに利用できます。

 

  • LCD表示ユニット:Pinbotronix OLED液晶ディスプレイモジュール I2C SSD1306(増設可)

    簡易表示として使用します。下記の事例ではモジュール名の表示や、温度/湿度などのセンサデータを表示しています。