6月14日,マインドストーム・タイムを始める前に,ローマ字入力の練習をした。小学4年生のほのちゃんの宿題がローマ字を覚えることだったからだ。「あいうえお かきこくけこ……」とキーボードを一本指で打つ末娘の背中を眺めながら,こうしろうに昔,教えたなあ,かずには教えなかったかなあと思い出していたら,「あかさたな」ぐらいまでスイスイ打ち終えていた。そういえば,ほのにも教えたことがあったのを思い出した。最近,あてにならないものの代表は自分の記憶力だ。

 「はまやらわ」が終わったので,早々にロボット・プログラミングを始めることにした。アフレルのデスクロボ・シリーズのテキストも,もう最後の第4号を残すだけになった。

無理はしないがキチンと進むところが,こうしろうやかずとは違う女の子らしいところかもしれない。

 この日は分岐処理のタッチセンサスイッチブロックを学ぶ。

 ループブロックに囲まれている,指で押されているイメージのブロックがタッチセンサスイッチブロックだ。押されているときの処理を上側に,離されているときの処理を下側に記述する。最初はテキスト通りのプログラムを作ってみた。押されているときはドの音を鳴らし,離されているときはラの音を鳴らすプログラムだ。

 次にお題を出してみた。「押されているときは,ドレミ。そうでないときはラシドと続けて音を出すプログラムを作ってごらん」。

 ほのは先のプログラムを参考にサッサとプログラムを作ったが,押していようが離していようが同じ音しか出ない。タッチセンサをつないでいるポートの指定がデフォルト(初期設定)のままになっていたからである。

いつもポートの指定を忘れてしまう。ポート4に変更すると,押しているときはドレミ,離しているときはラシドと音が出るようになった。

 ロボット・プログラミング講習会で使っているプログラミング開発環境ROBOLABとデスクロボ・シリーズで扱ってNXTソフトウエアの目に見える違いは,プログラム・アイコンのつなぎ方である。ROBOLABではストリング・ツール(糸巻き)でアイコン同士や設定値とアイコンを線でつないでいく。この線をキチンとつなぐことが意外と難しい。プログラムをロボットに転送できない理由のほとんどが,配線ミスだ。ROBOLABのプログラム作成画面は第228話などを参照してほしい。

 NXTソフトウエアでは線をつないでいく必要がない。ブロックの上にプログラム・アイコンを載せていくだけだ。たとえば,ポート番号などの設定値もプログラム・アイコンのプロパティとして変更できる。だから配線ミスに困ることはない。このようなアイコンの配置の方法では大規模なプログラムを作ることは難しいかもしれないが,初心者が配線ミスで悩まされることがない。ここがNXTソフトウエアのアドバンテージと言えるだろう。 ロボット講習会で小学生にROBOLABのプログラミングを教えているときは,配線のチェックばかりに時間を取られ,本質的な説明の時間が少なくなってしまう。

 次のプログラムはタッチセンサが押されているときはCのモーターをオン,Bのモーターをオフ,離されているときはその逆でBのモーターをオン,Cのモーターをオフにするものだ。

タッチセンサを押したり,離したりして遊んでみる。ヘビみたいにクネクネするところがおもしろいとヘビが大嫌いなほのが言った。

つづく