ブログ

EV3やSPIKEプライムの入出力ポートを増やす

EV3やSPIKEプライムなど、レゴのロボティックス・プログラミングで学習を進めると、センサーを接続するポートが足りなくなったり、レゴにはないセンサーや自作センサーを使いたくなることもあるでしょう。

今回は、そんな時に接続できるセンサーい数を増やすいくつかの方法をご紹介します。

接続ポートが足りない

レゴのロボティックス教材について、接続できるセンサーの数は、EV3は最大4個、SPIKEプライムはモーターと合わせて最大6個まで接続することができます。ロボットプログラミングの学習を始めて間もない内はこれで十分なのですが、ロボカップジュニアのレスキューのような競技で上位を目指すには十分ではありません。

例えば、ラインセンサーとしてカラーセンサー2個、障害物や壁検知のためのタッチセンサー2個、これだけでEV3の入力ポートは埋まってしまいますが、カラーセンサーを追加したい、ジャイロセンサーや距離センサーも必要となるでしょう。また、レゴにはないセンサーや自作センサーを使いたくなることもあるでしょう。

こうした場合に、接続できるセンサーの数を増やす方法としていくつかご紹介します。

ポートスプリッターを使う

EV3の場合には、手っ取り早く接続できるセンサーの数を増やせる方法です。mindsensors社のポートスプリッターのような製品を購入すれば簡単に接続できるセンサーの数を増やせますが、どのセンサーでも使用できるという訳ではありません。SPIKEプライムには、こうした製品はまだ発売されていないようです。

ポートスプリッター
センサーMUX

デイジーチェーン

EV3のインテリジェントブロック(またはSPIKEプライムラージハブ)を2個つなげる方法です。SPIKEプライムの場合、リテール版のロボットインベンターにはハブ間での通信を可能にする「Hub to Hub communication」という機能があり、ハブのOSをロボットインベンターのものに書き換えてしまえば機能を使えます。

この方法は、インテリジェントブロック間(ラージハブ間)の通信など、プログラムが複雑になってしまうこと、ロボット自体が大きく重くなってしまうという欠点があります。

マイコンを介してセンサーを接続

Arduino、ESP32、ラズパイPICOなどのマイコンを介してセンサーを接続する方法です。センサーの値をマイコンで読み込み、EV3インテリジェントブロック(SPIKEプライムラージハブ)とマイコンをシリアル通信などでデータのやり取りを行います。プログラミングの難易度は上がりますが、自作センサーや市販されている多くのセンサーが使用可能となります。