1 Spheroでプログラミングに初挑戦!まずは動かしてみよう

ケン博士
サイエンストレーナーの桑子研です。 

「なるほどスフィロ」の目次に戻る

このページではSpheroを使ってプログラミングの始め方についてまとめています。はじめての方は、Spheroって何?からお読みください。

なるほどスフィロ

まずは動かしてみよう!

アプリをダウンロード

まずはSphero本体と、アプリ「SpheroEDU」をダウンロードして準備をしてください。iPhone、Androidなどのスマートフォンや、iPad、KindleFire、Chromebookなどに対応しています。なおここではiPadを使って説明しています。

ロボットとの接続は無線で近づけるだけ!

iPadのBluetoothをオンにして、スフィロの近くでアプリを起動させます。「ロボットに接続」ボタンを押して、一覧の中から接続したいスフィロの種類を選んでください(1つしかスフィロがない場合には1つしか表示されないのですぐに分かると思います)。ロボットとiPadがうまくつながると、ロボットが光ります。

動かしてみよう!(ドローモード)

次に画面下のプログラムボタンをタップ。

画面右下の「+」マークをタップ。

プログラム名はとりあえずなんでもいいので「a」などと入力して、「ドロー」を選び、「作成」ボタンを押します。

すると画面が広く表示されますが、右上にある「AIM」を押します。

スフィロはボール型ロボットなので、見た目で前後の区別がつきません。このようにすることによって、ロボットの前・後を合わせることができます。

それでは動かしてみましょう。右上の「ドライブモード」を選択して「ジョイスティック」を動かしてみてください。スフィロが動き始めます。

お絵かきでプログラミングをしてみよう!

これはこれで面白いのですが、ロボットにいちいちその場所で命令を出さないと動かすことができません。プログラミングで大切なのは、「事前にロボットに命令を出しておくこと」です。

そこでお絵かきプログラミング「ドロープモード」に挑戦してみましょう。広いスペースに、例えばハート型などを描いて、上のスタートボタンを押してみてください。

するとスフィロがハート型を描きながら動き始めます。

きれいなハート型をスフィロに描かせるためのコツとしては、
一筆書きではなく半分ハートを描いてから、
一度指を離して、もう半分のハートを描きましょう。

事前に命令を作ったので、これも立派なプログラミングです。

ブロックを使ってプログラミングをしてみよう!

ドロープモードで、スフィロにいろいろな命令を出した後は、ブロックを使ったよりプログラミング言語に近いプログラミングを行ってみましょう。といってもブロックを組み合わせるだけだから、簡単です。

左上にもとに戻る矢印から、一つ前の画面に戻ります。そして、下のメニューからプログラミングを選び、右下のプラスを押します。

プログラム名はなんでもオッケー。今度はドローではなく「ブロック」を選んで作成ボタンを押します。

するとブロックを置くことができる広いスペースが表示されます。このスペースにブロックをおいてプログラミングを行います。下には様々なブロックが分類分けで置かれています。とりあえず、動作にある、ロールという青いブロックを持ってきてください。

左から「◯の方向に、◯のスピードで、◯秒動かす」という意味があります。数字の部分を押すと、数字を変更することができます。

 今回は「0」「100」「1」と入力をしましょう。

それではスタートボタンを押してみてください。すると、、、

あ!動いたけど、、、止まった。

これは「0度の方向(上)に、100のスピードで1秒動く」というプログラムを組んだだからです(上に進まなかったという人はAIMというボタンから、再度位置合わせを行なってくださいね)。

これだけでは面白くないので、ロボットが元の位置に戻ってくるようにプログラムを組んでみましょう。

こども
わかった!こうすれば、、、

こども
 スタート!あれれ?戻ってこない、、、。

これがロボットプログラミングの面白いところです。画面上でのプログラミングならうまくいくはずですが、現実ではうまくいくかどうかは、いろいろな条件を考える必要があります。だからやってみるのが大切です。

例えばこのようにディレイ「1秒」というブロックを、コントロール(紫)のところからもってきて、2つのロールブロックの間に入れてみてください。

なお不必要なブロックがもしあったら、捨ててください。ブロックを触ると、下にゴミ箱が表示されますので、そこまで持っていくと捨てることができます。おぼえておきましょう。

準備ができたらスタートを押してみましょう。

こども
キャッキャ!うまく帰ってきた!

そうですね。実は勢いがついたロボットは、次の命令がでても、思うように動けないんです。これは物体が速さを保とうとする性質、中学理科で学ぶ慣性という性質があるためです。

ですから、ディレイ(ディレイDelayは英語で遅らせるという意味)ブロックで一秒間待つというプログラムを入れてあげると

前に1秒動いて、1秒待つことによりスフィロの勢いがおさります。そして後ろに戻ってくるという次の命令が出るので、戻ってくるというわけです。このようにディレイを入れると動きにキレがでてきます。でも、実際に試してみると(動画をよく見る)と、まだ元の位置にまでは戻ってきていませんね。

さて、どうすればよいのか。ディレイブロックや、ロールブロックの戻ってくるときの時間などを変えるなど、いろいろ試しながら考えてみてください。プログラミングには様々な答えがあります。皆さん自身の答えを探してみてくださいね。

まとめ 今回使ったブロック

ロールブロック

ロールブロックのロールとは転がりながら走るという意味です。方向、スピード、時間をセットすることができます。スフィロのプログラミングをするさいに、最も多様するブロックです。

ディレイブロック

指定した時間だけ、一時的にロボットが休止しいます。動きにキレが出るので、動きと動きの間に入れるのがコツ。

次回は正方形を描くためのプログラムについて考えていきましょう。

ステップ2 ブロックプログラミングと正方形

なるほどスフィロの目次に戻る

科学のタネを発信中!

ニュースレターを月1回配信しています。


 

登録はこちらから

科学イベントのお知らせ

全国で科学イベントを実施しています。詳しくは下のボタンからどうぞ。

桑子 研(くわこけん)
 1981年群馬県生まれ。サイエンストレーナーとして全国で実験教室やICT活用講演会を開いている。著書は『大人のための高校物理復習帳』(講談社)、『きめる!物理基礎』(学研)など10冊。