中部大学ジュニアセミナー(目指せロボットマスター)秋の講座第3回を受けてきました。条件分岐がでてきた編。

先週、先々週に引き続き、下の子を連れて中部大学ジュニアセミナーにやってきました。

中部大学ジュニアセミナー(目指せロボットマスター)秋の講座第1回を受けてきました。レゴマインドストームすごいな。 | happyman web

中部大学ジュニアセミナー(目指せロボットマスター)秋の講座第2回を受けてきました。こっこいつ・・・走るぞ編。 | happyman web

さて、先週までに、プログラムでレゴマインドストームを動かすところまでをやりました。

今週は、「条件分岐」を組み込んでやるという回です。

時間もあまりないので、今回使うセンサは3つです。

タッチセンサ、超音波センサ、カラーセンサを使って条件分岐を与えてみようと言うことです。

0.タッチセンサで、今日のHallo World!。

タッチセンサというのがレゴマインドストームの前部に付いています。

こいつです。

先端が凹むとスイッチが入るってことですね。センサの原理を解説してくれるのはありがたいです。

今日のHallo World!は、これ・・・タッチセンサが押されるまで待機+押されたら音が鳴る+5秒間前進。

これのツボは、押されるまでは何もしません。待機中であるということ。

1.タッチセンサで、行き詰まったらバックして向きを変えよう。

目標は前進しつづけるレゴマインドストームが、タッチセンサに当たったら、その先は進めないと判断し、バックして方向を変えましょうということ。

それをプログラムに組み込んでやるとこうなる。

ずーっと前進するから、無限ループを接続し、その中に前進コマンドと条件分岐コマンドを入れてやる。

前進コマンドは、永遠に走り続けるから走り続ける設定はしない。連続走向、パワーの大きさを設定。

条件分岐は、タッチセンサをスイッチとし、タッチセンサに当たったら上段へ、センサに当たらない間は下段(コマンド無し)に分岐する。

上段へのコマンド(タッチセンサに当たった場合)は、「3秒間後退(パワーをマイナス方向)」したのちに「向きを変える(右と左のパワーを逆方向にする)」を入れる。

子どもは一発で上手くいったようで、喜んでおりました。

2.超音波センサで、壁にぶち当たるまえに障害を回避しよう。

タッチセンサと同じ原理なんだけど、前方障害物を事前察知して回避しようと言う話。

その前に超音波センサの話。

要するに耳に聞こえない超音波を発信してその反射を計測することによって、前方障害物の距離を測定するという話です。

耳に聞こえない音のテスト中。子どもは高音域まで聞こえるのだが、歳をとるにつれて聞き取れる高音域が下がってくる。

私で13000Hzくらいまでしか聞こえない。こういう原理の話をしてくれるのは嬉しいですね。

ブログラムにすると、条件分岐は、超音波センサをスイッチとし、前方障害物を察知すると上段へ、センサに当たらない間は下段(コマンド無し)に分岐する。

上段へのコマンドは、「向きを変える(右と左のパワーを逆方向にする)」を入れる。

3.カラーセンサで線をなぞって走ろう。

カラーセンサの原理は、LEDで発光させて、それの反射光をフォトダイオードで測定する。

RGBの話でました。小学生にはちょっと難しいかなあ。

それと同じようにプリンターのカラーはCMYKの話まで・・・先生行きすぎです。

絵の具の色の三原色とはちょっと違いますからね・・・

でも今回は白黒二値でセンサーを使います。

反射光を50で区分して、黒いところをなぞっていたら、左のタイヤを回し、白いところをなぞっていたら右のタイヤを回すというプログラム。

ジグザグ走向をしながら黒いラインをなぞっているってことになります。

こういう感じで黒いところを走っていきます。途中逸脱していた気もしないこともないが・・・。

絨毯の色は、黒と判定されるようです。白い紙の上と反対方向にクルクル回っていました。

なお、なめらかに走らせるには、複数のセンサが必要なのと複雑なプログラムを組む必要があるそうです。

4.最終問題はこれだ

3で作ったカラーセンサのプログラムだけでは、この線をなぞってゴールに行くことは出来ないそうです。

次回最終回はこれをクリアするためのプログラムを組みましょうという課題だそうです。

子どもは超音波センサを使ったら良いのかな?とか言っていましたが・・・

たぶん・・・右左のバランスをとるやり方になるような気がします。はい。