以前も書きましたが、Edisonには3つのプログラミングツールが用意されています。EdBlocksはそのうち一番入門者向けのものです。メーカーはEdBlocksの対象年齢は8〜12歳向けと表記していますが、画面のイメージは、5〜7歳向けとされているScratch jrに近いです。EdBlocksも英語圏なら、これくらいの年齢から使えるのではないかと思います。
また英語が読めない子どもでも、メニューのどこにどんなブロックがあるかがわかれば、あとは何とかなりますので、日本でも6〜7歳くらいからなら使えるのではないかと思います。僕が最初にEdisonに注目したのは、このEdBlocksが非常に直感的に使えるようになっており、日本語化されていなくても日本の子ども向けに使えそうだと考えたからです。
Edblocksを始め、Edisonのプログラミングツールはどれもオンラインでブラウザで利用します。Edwareだけはインストールタイプのプログラムが用意されていますが、他はブラウザのみです。
では、ブラウザでEdBlocksを開いてみます。URLは、https://www.edblocksapp.com/ です。
Automatically launch EdBlocks のチェックボタンをONにしておくと、次回からこのURLを開くといきなりプログラミング画面が開くようになります。
https://www.edblocksapp.com/ に最初にアクセスすると表示される画面
Launch Edblocks をクリックすると、プログラミング画面が開きます。この画面でブロックを並べてプログラムを作ります。なお、ここで作ったプログラムは、ブラウザのキャッシュに保存されます。そのため、作ったプログラムをそのままにしてブラウザを終了したり、PCを再起動したとしても、次回ページを開くと、プログラムはそのまま残っています。でも、ブラウザのキャッシュですから、いつか消えてしまう可能性があります。プログラムを保存しておきたい場合は、Menu > Resister にいけば無料でアカウントが作れますので、アカウント登録しておくと良いと思います。
(名前は日本語でもOKでした)
Edblocks画面
コマンドブロックはDrive、Outputs、WaitUntil、Control、StartEvents の
5つのカテゴリに分類されている。上は、Driveのタブを開いたところ。
EdBlocksで使われるコマンドについては、メーカーが作成した23ページものコマンドリファレンスのPDFがあります。ところが、このコマンドリファレンスはブロックのイラストと、1行その解説が書いてあるだけのもので、かなり不親切です。まあ、ほとんどのコマンドはこのリファレンスなんか見なくても、ちょっと知ってる人でしたらだいたい何をすればいいのかわかると思うのですが、中にはちょっと?なコマンドもあり、実際「バグではないか?」とメーカーに問い合わせて、仕様を確認したりしたものもありました。
まあ、バグ?のブロックについては後まわしにして、一番簡単なところをざっと見ておきましょう。
タブメニューの一番左の Drive ですが、ここに並んでいるブロックが一番基本的な動作コマンドです。動作の基本は、この4つの移動コマンドです。
これでEdisonを前・後ろ・左・右と動かします。表示されている数字は動作の秒数です。EdBlocksでは、移動はすべて秒数で指定します。EV3のように、回転数とか角度というモードはありません。数字は小数点第2位まで入力可能です。小数点第3位までの数字を打ち込むと、勝手に四捨五入してくれるというあたり、けっこう芸が細かいです。(当然の事ながら、2バイト数字は使えません。また半角でも英文字や記号は入力不可です。入力不可の文字を入れると、入力欄の背景が赤くなって警告してくれます)
このドライブコマンドですが、指定した秒数が経過すると当然止まります。ストップのコマンドも用意されているのですが、これが無くても止まります。mBotのように、スピードを0にしたブロックで止めなければ止まらないようなことはありません。EV3のようにブレーキと惰性走行の違いがあるのかもしれないのですが、正直Edisonのサイズだとその違いはほとんどわかりません。なので、ここにあるストップコマンドはあまり使わなくても良さそうです。
スピードを変えるためには、別のブロックを使います。このブロックを置くと、それ以降のすべてのdriveコマンドの速度が変わります。
速度変化のブロック 速度は▽のプルダウンメニューから選ぶ
速度切り替えは3種類で、最高速を10とすると、何も指定しないときのノーマル速度が7、低速が5となっています(これは、マニュアルやHPのどこにも記述が無かったのでメーカーに問い合わせました^^;)。そのため、通常から高速にしても7→10の変化です。Edisonは案外小さいので、この変化がちょっとわかりにくかったですね。子どもたちに「目の前で動いているロボットの動きを観察して、どんな動きをしているか教えて」みたいな問いかけをすると、けっこう観察できない子どもが多いんです。特に低学年の子どもはその傾向が強いです。なので、この程度の速度変化だと気づかれない可能性が高いと思います。そのへんはちょっと注意してあげる必要がありそうです。
ただ、スピードを変化させるこの仕様、けっこう面倒にも思うのですが、EV3のステアリングコマンドを子どもに使わせると、ひとつのブロック内にパラメータの設定箇所が複数あるため、これが混乱の原因になってしまう子がけっこういます。そういう意味からも、こういう割り切った仕様は、入門用のツールとして配慮した結果なのだと思います。(まあ、コストダウンという背景もあるとは思いますが...)
さらに、このようにブロックひとつでライントレースするというコマンドがあります。
ライントレースコマンド
左から、指定秒数だけライントレース、障害物を検知するまでライントレース、無限にライントレース
実はEdBlocksには、条件分岐のコマンドがありません。これも入門者向けとして非常に割り切った仕様なのですが、僕はこの方針は良いと思います。ただ、条件分岐がないと、普通はライントレースのプログラムが作れなくなるので、最初からライントレースのブロックを作って使えるようにしたのでしょう。ブロックひとつでライントレースができるとなると、いろんな使い方ができますし、自分でコースを作って遊ぶような使い方が広がると思います。コマンド一発でライントレースさせるというのは、他ではあまり見たことがなかったのですが、これはけっこう気が利いてるなと思いました。
さて、Driveのコマンドの中に、こういうコマンドがあります。
このうち、懐中電灯の絵がある2つのモード。先のコマンドリファレンスを見ると、それぞれ Drive forward while a light is on the left side 、 Drive forward while on a black surface という解説が書いてあります。ところが、実際やってみると、この動作が?だったのです。不思議に思ってメーカーに問い合わせたところ、「仕様です」という返事をもらいました(笑)。
長くなりましたので、このコマンドとEdisonの「仕様」については、次回解説したいと思います。(つづく)
*当記事はEdisonV2についての記事です。Edisonは、2023年にV3にバージョンアップしております。EdisonV3についての記事はこちらをご覧ください。