光センサーを使って「いないないばぁ」で遊ぶ

Sphero BOLTについた「光センサ」。これを使って「いないいないばぁ」のプログラムを一緒に作ってみましょう。Sphero BOLTを手でおおうと「いない、いない」とSphero BOLTが話し、手のおおいをとると「バー」と発声(タブレットから)、同時にSphero BOLTのスクリーンに表情が映し出されるものです。このプログラムを作ることを通して、光センサの機能を知り、これからの自分のプログラムに活用してみてください。


光センサを使ってみよう

はじめに「プログラム開始」ブロックに動作メニューから「コンパスを調整」ブロックをつけて、SpheroBOLTの向きを自動で合わせます(エイミング)。また動作メニューの「スタビライゼーション」ブロックをつけて、この機能を「オフ」にしておきます。


スタビライゼーションは、はじめの状態では「オン」になっています。オンの状態だと、Sphero BOLTが回転して動いても、内部の機器がいつも水平に保たれます。今回のプログラムではSphero BOLTを動かさないので、この機能はオフにします。
次に、コンパレータ―メニューの「===」ブロックと、センサーメニューの「光度(明度)」ブロックを組み合わせて、光センサーをプログラムに取り入れてみましょう。「===」ブロックの下矢印の部分をタップして、「<=」に切り替えます。


「<=」は≦という不等号と同じで、「以下」という意味を表します。右側に100を入れておくと「光度≦100」つまり、「光度が100以下になったら…」という意味をもちます。なお光度の単位はlx(ルクス)で、ふつうの部屋の明るさは300~500[lx]、少し暗い部屋はおよそ100[lx]です。つまり光度を100[lx]以下に設定したということは、スフィロの環境が「暗くなった」ということを示します。このブロックは手でおおったときのスイッチにします。
それでは手でSphero BOLTをおおったときに「いない、いない」という声が出るようにプログラミングをしてみましょう。コントロールメニューから「永久ループ」ブロックをもってきて、その間に「if-then-else」ブロックを入れます。ここに「光度が100以下になったら」という条件を入れます。


「if-then-else」ブロックは「ある条件ならAを、別の条件ならBを実行する」という意味があり、条件によってスフィロの動きを分けられます。そこでthenの下に、色とサウンドメニューにある「スピーク」ブロックをいれて、「いない」と発声させます。そしてelseの下に「スピーク」ブロックで「顔を隠してね」と発声させます。


このようにすると、暗いとき(100[lx]以下のとき)は「いない」、それ以外の明るいときは(100lxより明るいとき)、「かおをかくしてね」とスフィロの状態によって話す言葉が変化します。さっそく動かしてみましょう。

「いないいないばープログラム」を作ろう
光センサをつかってプログラミングができました。でもはじめに計画したように、

①手でおおって「いないいない」
②手をあけると「ばー」

というようなプログラムにはなっていません。どうすればよいのでしょうか。
コントロールメニューから「条件付きループ」ブロックをもってきて、次のようにおきます。


これで考えたとおりに動くようになりました。まずは動画で動きを確認してください。

なぜうまく動くのか、プログラムを上から見ていきましょう。スフィロを覆うと暗くなり、thenの部分に入ります。覆わなければelseの部分に入り、「かおをかくしてね」と発声します。thenの部分には、次のようにして「条件付きのループ」ブロックを入れました。


この「条件付きループ」ブロックは、決めた条件に合わなければAを繰り返し、合えば繰り返しから抜けてBを実行するというブロックです。

「条件付きループ」ブロック

上のように組むと、手でおおっていて光度が100[lx]以上になっていなければ(100lxより暗ければ)「いない」と発声し、手でおおっている間ずっとそれが繰り返されます(A)。もし手のおおいをとって光度が100[lx]以上になると、条件付きループから抜けて、「ばー」という声が出ます(B)。

さらに工夫をしてみょう!

音声だけでは面白くないので、「マトリクスアニメーション」ブロックをつかって、「顔を隠してね」のところは「手で顔を隠している」画面を、また「ばー」のところには「カエル」の画面をスフィロに表示させてみましょう。


また「ばー」に合わせて、「サウンド」ブロックを使ってカエルの声も入れます。それが次のプログラムです。


それでは動かしてみましょう。

次の動画では、さらに工夫をして手を離すたびにいろいろな顔や音がランダムで登場するようにしました。このプログラムは、「おみくじプログラム」の応用です。

実際に3歳の子供に試してみたのがこちらです。みなさんも光センサーを使って身近な人が笑顔になる、そんなプログラムを作ってみましょう。

【プログラム】自分のSphero Eduアプリに下記の「いないいないばぁ」のプログラムをコピーして、遊んでみよう!
https://edu.sphero.com/remixes/4106814