これは、ETロボコン Advent Calendar 2014 – Adventar の18日目のエントリーです。
Mindstorms EV3ではセンサーとインテリジェントブロックを「アナログ方式」、「I2C」、「UART」のいずれかの方式で接続(通信)しています。いずれの方法でもケーブルは同じものを共用します。ケーブルは「アナログ方式」、「I2C」、「UART」のいずれの方式でも接続できるようにと複数のワイヤー(信号線)を束ねた構成になっています。
1. アナログ方式
電圧の高低でセンサーの値を伝えます。インテリジェントブロックに内蔵されたA/D(Analog/Digital)コンバーターによってデジタル値(二進数)に変換されます。
初代 Mindstorms RCXからサポートされている最も原始的な接続方法です。互換性を保つために二代目NXT、三代目EV3もアナログ接続をサポートしてます。タッチセンサーは単純にスイッチのOn/Offの二状態を判定しているだけですがアナログ接続を使っています。
例
- Hi-Technic NXT Gyro Sensor (ハイテック製 ジャイロセンサー)
- LEGO NXT Light Sensor (LEGO純正 NXT光センサー)
- LEGO NXT Touch Sensor (LEGO純正 NXTタッチセンサー)
- LEGO EV3 Touch Sensor (LEGO純正 EV3タッチセンサー)
2. I2C
アイ・スクエア・シーと読みます。信号線が二本の回路構成が簡易なデジタル接続方式です。Texas Insturuments社のマイコンではI2Cの仕様を独自拡張したTWI(Two-Wire Interface)の呼称で呼ばれることがあります。
二代目 Mindstorms NXTの超音波センサーを接続するために登場しました。デジタル通信を実現するためNXTの超音波センサーには4bitマイコンが搭載されています。
例
- LEGO NXT Ultrasonic Sensor (LEGO純正 NXT超音波センサー)
3. UART
調歩同期式シリアル通信、非同期式シリアル通信と呼ばれることもあります。
Mindstormsのセンサーとインテリジェントブロックの接続には3.3Vの生のシリアル通信が用いられていますが、USBやBluetoothの仮想COM上にUARTを実現することもあります。
二代目 Mindstorms NXTではRS-485(EIA-485)が採用されましたがセンサーで利用されることはほとんどなく、三代目 Mindstorms EV3では三線式(Tx/Rx/GND)に仕様変更されてサポートされました。
例
- LEGO EV3 Color Sensor (LEGO純正 EV3カラーセンサー)
- LEGO EV3 Gyro Sensor (LEGO純正 EV3ジャイロセンサー)