ELEKIT

MR-9172/9132用コンパスセンサーモジュール(MR-9142R)はKOROBO2(MR-9192)でも使うことができますか?

MR-9172/9132用コンパスセンサーモジュール(MR-9142R)はKOROBO2(MR-9192)でも使うことができます。

MR-9142R_コンパスセンサーモジュール.jpg

コンパスセンサーにはタッチセンサー用の端子(TOUCH1,2)と光センサー用の端子(PTR1,2)があり、ここにタッチセンサーと光センサーを接続して使用することができます。

KOROBO2_コンパスセンサー.jpg

コンパスセンサーをKOROBO2メイン基板に取り付けるときは下の写真のようにタッチセンサー・光センサーの端子に差し込んで使用することができます。
基板を固定するときは付属のねじ付きスペーサー(六角形)2本を取り付けてネジ止めしましょう。

KOROBO2_コンパスセンサー取り付け.jpg

このコンパスセンサーは右の表のように、「今向いている方向に対して目標の方向は左右どちらの方向か」という情報を出力します。
出力先は、KOROBO2の基板のTOUCH RとTOUCH Lのポート(タッチセンサーをつなぐコネクタ)です。
これによりタッチセンサーは使えなくなりそうですが、このコンパスセンサーモジュールでは「コンパスセンサー」「タッチセンサー」のどちらの情報を出力するのかをコントロールすることができます。
Palette IDEではKOROBO2の光センサーの投光用LEDをON/OFFさせるためのアイコンを使ってプログラム上でセンサーの切り替えをします。

KOROBO2_コンパスの切り替えと状態表示.jpg

※コンパスセンサー上の赤色LEDが点灯(ON)しているときはコンパスセンサーの状態が出力され、消灯(OFF)しているときはタッチセンサーの状態が出力されます。プログラミングをするときは間違えないようにご注意ください。
※この切り替えをするため、光センサーに付いている投光用LEDのON/OFFのコントロールはできなくなります。(消えたままになります)

MR-9172/9132用コンパスセンサーモジュール(MR-9142R)を使って、コンパスセンサーとタッチセンサーの両方を使って動くKOROBO2のサンプルプログラムを下図に示します。

KOROBO2_コンパスセンサーで方向修正_全体.png

このプログラムの一部分(左側)だけを拡大して見てみましょう。
この初期化部分では数値定数を変数A・B・Cのそれぞれに格納しています。
変数Aはコンパスセンサー動作時のモータースピード、変数Bはタッチセンサー動作時のモータースピード、変数Cはタッチセンサー動作時の待機時間として使います。

KOROBO2_コンパスセンサーで方向修正_初期化.png

残りのメインとなる右側を拡大して見てみましょう。

KOROBO2_コンパスセンサーで方向修正_メイン.png

条件ループの中に入れ子になっている条件分岐が2組あります。左が「コンパスセンサーとして認識しているところ」、右が「タッチセンサーとして認識しているところ」です。

KOROBO2_プログラムメイン部説明.jpg


それぞれの条件分岐の前に投光用LED(左)のON/OFFによってコンパスセンサーを使用するか、タッチセンサーを使用するかを選択するための命令が入っていることがわかります。

KOROBO2_コンパス・ボール使用時.jpg

このプログラムを実行させると、KOROBO2は「コンパスセンサーによって目標の方向を確認して左に目標があったら左回転、右に目標があったら右回転、目標の方向を向いていたら停止をして、タッチセンサーが反応したら0.5秒前か後ろに動く」という動作を行います。

お客様サポート

製品に関するご質問 FAQ

製品以外のご質問