小学3年生の娘ほのちゃんの最近の日課は,新聞を読むことである。昨日もハーブティーの宣伝を読んでいた。
「ずつうやひえしょう,くろうかいふくに」と音読したところで,「んんっ?!」と家族の注目を集めた。新聞には「頭痛や冷え性,疲労回復に」と書いてあり,家族は爆笑した。苦労の回復にはもっぱらアルコールに頼る筆者であるが,ハーブティーが苦労回復に効くなら休肝日も守れそうだ。
そんなほのは,アフレルのテキスト「デスクロボ2号」でセンサーの使い方を勉強している。タッチセンサー,光センサー,サウンドセンサーと進み,順番に行くと次はマインドストームNXTの新機能の一つである超音波センサーを試すことになる。
テキストの超音波センサーのページを開くなり,ほのは「いやー!」と言った。超音波センサーがカマキリの眼のようなデザインだからだ(超音波センサーの画像については「第267話 ほのちゃん,デスクロボでNXTをはじめる」を参照ください)。
「じゃあ,やめよう」と,末娘には大甘な父である。その次の項目は回転センサー待機ブロックだ。NXTのモーターはサーボモーターなので,アングル(角度)センサー代わりにも使えるという話である。
このページをゆっくり見て,ほのはやはり「いやー!」と言った。なんで?と聞くと「角度だから」と答えた。ほのが角度に苦しんだ様子は,「第268話 小学3年生に角度は難しい」を見てほしい。小学校の授業で角度が出てきたときに「いやー!」と思わないことを祈るしかない。
この二つの項目を飛ばすと,次はチャレンジとなり,デスクロボ2号もそろそろ終わりに向かう。チャレンジの最初のお題は障害物をよけて,黒い線のゴールで止まるロボットの作成だ。要は,タッチセンサーで障害物の存在を感知し,バックして迂回し,光センサーで黒い線を認識して止まればよいのである。
しかし,初心者が二つのセンサーを使ったコントロールを一度に考えるのは難しいだろう。まず,まっすぐ走って,黒い線で止まるプログラムを作ってごらん,と光センサーのプログラミングを促した。
ほのはプログラムを組む前に,Viewで黒いビニールテープで引いた線の反射値を測ろうとする。良い習慣が身についていてうれしくなったが,ポート番号を間違えており「0パーセントや」と言った。
プログラムを作ると,秒数を無限に設定してロボットを前進させ,光センサーが黒い線を見つけるところまではよかったのだが,止まるプログラム・ブロックを忘れたので,黒い線をツーと通過してしまった。なかなか前回やったことを全部覚えておくのは難しい。
次に,障害物を置き,ぶつかったら回避する動作をプログラミングする。右や左に曲がるときに角度は使わず,片方のモーターを指定した秒数回すことで,カク,カクッと進んでいく。少し動かしてみては秒数を調整する。このあたりの感覚は身についたようだ。
プログラムはこんなに細長くなった。ずいぶん,粘り強くなったなあと父はいつでも娘を過大評価する。
七転び八起き以上になんども失敗して,なんどもプログラムを調整してゴールにたどりついた。
ほのちゃんは手をたたいて喜んだ。小さな達成感が人をその気にさせるのだ。しかし,超音波センサーや角度センサーを使わないとRCXとあまり変わりがないのだが,まあ,それはいいか。