ハードウェアを拡張する
I2C通信ポートを使用する
Phenox2には、I2C通信のためのポートが搭載されており、外部のI2Cスレーブとの通信をサポートしています。そのためユーザーは自身でI2Cスレーブ機能のあるマイコンに、拡張したいセンサやアクチュエータを周辺回路として搭載した電子回路を製作・接続し、Phenox2から操作することが可能です。
I2C通信に必要なコマンドは、Phenox2のLinuxシステムから"i2c-tools"パッケージのコマンドを呼び出すことで行います。
ここでは実際に、Phenox2に3軸加速度センサ(KXP84-2050)を接続した例を紹介します。
写真1に、Phenox2のI2Cポートのピンアサインを示しました。4本のワイヤをハンダ付けし、I2Cスレーブと接続してください。
写真 1 メインボードI2C通信ピンアサイン
I2Cスレーブ側に電源が供給され、I2C通信を受け付けている状態で、Phenox2のLinuxシステムから"i2cdetect"コマンドを打ち、I2Cスレーブを検索します。
写真 2 i2cdetectでI2Cデバイスを検索する
ここでは、スレーブアドレスが0x18のデバイス(KXP84-2050)が見つかったことが確認できました。次に、このI2Cスレーブから、加速度のデータを読み出してみます。
写真 3 "i2cget"コマンドでI2Cスレーブのレジスタから値を取得する
ここでは、加速度の値が常に更新されているため、結果が変化していることが分かります。
同様に、i2csetコマンドを用いてI2Cスレーブのレジスタに値を書き込むことができます。詳細については、"i2ctools"のドキュメントを参照してください。