2024年12月16日
012-1.EV3タブレット版アプリ入門-第4回「赤外線センサーの使い方」
この連載では「教育版レゴ マインドストームEV3プログラミング(以下、EV3アプリ)」を使って、タブレットでEV3のプログラミングを行う方法を紹介していきたいと思います。(文/松原拓也)
◆ 赤外線センサーとは

EV3アプリを起動して「メニュー」を選択すると、ヘルプの他に「教員用サポート」という項目があります。これは、学校の先生向けの情報です。EV3アプリを授業に使った場合、教える内容について紹介されています。
これを見たところ、通常のレッスンが7つあり、上級者向けのレッスンが2~3つあります。通常のレッスンの最後がライントレースロボットについてです。
ライントレースの作り方はこの連載の2回目で紹介していました。すでにEV3でできることをやりつくしてしまった感があります。

そこで、今回は「EV3赤外線センサー」と「EV3赤外線ビーコン」を使った、EV3アプリのプログラムの作り方を紹介したいと思います。
この2つのパーツは教育版EV3の基本セットには付いてきません。一方、リテール版EV3のセット(#31313)には標準で付属していて、かなりお買い得なのですが、発売から時間が経っていますので、セットで入手するのは難しいです。アフレルショップやテクノロジアなどを通じて、単体で購入するのがいいと思います。
あと、赤外線ビーコンを動かすには単四型電池2本が別途必要です。
これらのパーツですが、なぜか呼び名がいろいろあります。「EV3赤外線センサー」の元々の名前は「IR Sensor」。ユーザーガイドでは「赤外線センサー」、ショップによっては「EV3 IRセンサー」と呼ばれています。
あと、「EV3赤外線ビーコン」の元々の名前は「Remote Infrared Beacon」。ユーザーガイドでは「遠隔赤外線ビーコン」、ショップによっては「EV3 IRビーコン」と呼ばれています。ちなみに赤外線は英語でInfrared(略してIR)といいます。

EV3赤外線センサーをロボットに取り付けるとこうなります。
見た目が超音波センサーにそっくりです。

EV3アプリを立ち上げて、ハードウェアページを開きます。
センサーのモードは複数ありますが、まずは「接近度」を選択します。
◆ 接近度の測定

接近度モードではセンサーから赤外線を放ち、その反射してくる量を測定して、物体の近さを0~100の範囲で求めることができます。この値は正確な距離ではなく、あいまいな値です。
接近度は物体に近いほど値が小さくなります。最も近い場合は0。センサーの反応がない場合は100です。ユーザーガイドによると、測定可能範囲は0~70cmとのことです。
赤外線センサーは対象物の色によって、誤差が出やすいです。
まず、センターの手前に白い板をかざしてみました。
値は12でした。

続いて、同じ距離で、黒い板を置きます。
値は52でした。

白い板の時と同じ値(12)になるように黒い板を近づけると、このようになりました。色が「白」か「黒」かによって反応する距離がここまで違います。誤差があまりにも大きいです。
正確な距離を求めたい場合には、接近度モードは使わないほうがいいと思います。
◆ ビーコン距離モード

赤外線センサーのすごさを実感するため、EV3赤外線ビーコンを使ってみましょう。
このセンサーは、
・ビーコン距離モード
・ビーコン方位モード
・遠隔モード
の3種類の使い方があります。
このうちビーコン距離/方位モードはビーコンの場所をセンサーが検出するためのモードです。
遠隔モードはテレビリモコンのように押したボタンをセンサーに伝えるためのモードです。今回、遠隔モードについては紹介しません。
何もボタンを押していない状態では遠隔モードになっています。
一度だけビーコンモードボタンを押すとモードがオンになります。もう一度、ビーコンモードボタンを押すとモードがオフになり、遠隔モードに戻ります。
赤いスライドスイッチはチャンネル(1~4番)の選択を行うためのスイッチです。最大で4個のビーコンを1つのセンサーで検出することができます。ここでは一番上(1番)に設定します。
赤外線ビーコンのLEDが緑色に点灯している間は赤外線LEDが発光しています。この間、電池は減り続けています。 電池を長持ちさせるために、ビーコンモードはこまめにオフにしておきましょう。

ビーコンモードボタンを押して、ロボットの手前に置きます。
EV3アプリのハードウェアページを開いて、ビーコン距離モードに設定を切り替えます。ビーコン距離モードでは0~100cmでビーコンまでの距離を求めることができます。
値は22cmでした。

定規で測ってみました。20cmくらいでした。 2cmくらい誤差がありますが、かなり正確です。
この距離モードですが、筆者は動作原理をよく理解していません。ビーコンから赤外線LEDで光を放って、それを赤外線センサで受け止めているところまでは分かるのですが、ここまで正確に距離を割り出せる仕組みが分かりません。すごい技術です。
リテール版の公式ページにはセンサーの回路図(HDK)が公開されていますので、興味のある方はチェックしてみてはいかがでしょうか。
◆ ビーコン方位モード

ビーコン方位モードではビーコンの存在する向きを検出できます。
方位は中心が0。右がプラス(時計方向)。左がマイナス(反時計方向)で表現します。値は-25~+25です。 測定範囲は-100~+100度くらいだと思います。

ビーコン方位モードを使って、プログラムを作ってみました。

実行中の様子です。
ビーコンモードをオンにした状態で、ロボットにビーコンをかざします。
ロボットがビーコンのある方向にせん回します。正確にビーコンを追跡できるので、驚きです。
[movie]EV3アプリでロボットを動かす動画(Youtube)
今回でEV3タブレット版アプリ入門は最終回です。EV3アプリでプログラム作りを極めたら、次はステップアップして、EV3ソフトウェアを使ってみましょう。
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。