EdisonとmyThingsを使ってプログラミングを学ぶ
- 火星の基地と通信しよう -
記事元:探究型プログラミング学習

7月9日、Yahoo!LODGEにてプログラミングロボEdisonを使ったワークショップが開催されました。主催はプログラミングをツールに子供たちに深い学び教えるワークショップを開催するtanpro-lab。
楽しくプログラミングやテクノロジーについて学ぶ、ワークショップのレポートを紹介させていただきます。
学習テーマは「インタフェース」
「インタフェース」とは、モノやサービス同士を繋げ、情報を正しく伝えるための仕様でありつなぎ目のことです。
通常のプログラミング教育の中では、子ども向けのプログラミング環境を使ってプログラムコードを組み立て、モノやサービスを動かす体験をするのですが、その中でインタフェースを意識することはあまりありません。
なぜなら、自分の作るプログラムだけでモノゴトが完結することがほとんどだからです。
一方で私たちが生きている社会は、製品やサービス、そして人までもが様々な形で繋がっています。
その関連を読み解き、お互いがうまく連携し合うためには双方が繋がり方を知っていなければいけません。
社会の仕組みも、プログラミングの仕組みも、根底は同じ考え方に基づいています。
IoT が広まる中では、子どもたちにとってモノやサービスの”繋がり”は私たち大人世代
よりもっと身近なものになるはずです。
しかし、目に見えないものが増えることでより複雑にもなります。
だとすれば、そうした複雑なものを読み解き、他者と協力しながら問題に向き合う力はこれまで以上に求められるはずです。
そこでこのプログラムでは、子どもたちが
「モノゴトを正しく伝えるためにはインタフェースが大事」
さらに
「間をつなぐものが増えれば増えるほど、インタフェースはもっと大事」
ということを学べるように作りました。
myThingsで地球と火星の間を通信しよう!
地球と火星の間はどれくらい離れているか知っていますか?
軌道の関係で一定ではないのですが、約5400万km〜1億kmほどの距離があるそうです。
Edisonはリモコンを使った赤外線通信で操作することができるのですが、リモコンの赤外線が届く距離は10mくらいだそうです。
火星にEdisonがあるとして、近くにいればリモコンでも動かせるけど、地球から火星にあるEdisonを動かすのはちょっと難しそうですよね。
じゃあどうするか。
本当に火星と通信できたら素敵ですが、さすがにそれは難しいので...
今回はいろいろなツールを駆使して火星との通信を擬似体験してもらいました。
そのうちの1つが、Yahoo! JAPANのサービスであるmyThingsです。
Edisonであそんでみよう!
1人1台のEdisonを使って、はじめにEdisonの簡単な使い方を学びます。
Edisonにプログラムを読み込ませる方法は2つあって、1つはバーコードを読み込ませる方法。
音や光に反応したり、ライントレースしたり。
既に用意されているバーコードを読み込ませるだけで、何通りもの動きを確認することができるんです。
スイッチを入れて、バーコードを読み込んで、すぐに動かせる。
このお手軽さが教育には向いています。
もう一つはEdwareというプログラミング環境からプログラムを転送する方法。
ワークショップ用に用意したサンプルプログラムをEdisonに読み込ませます。
ミッションにチャレンジ
ひとしきりEdisonの使い方に慣れたところで、いよいよ火星との通信にチャレンジします。
このワークショップでは子どもたちにあるミッションを与えました。
それは
「火星にいる仲間を救え!」
というもの。
火星で稼働するEdisonを地球から操作して、火星にいるはずの仲間の無事を確認します。
そのための地球-火星間通信なのです。
今回のプログラムでは、最初からネットワーク通信を体験してもらうのではなく、赤外線通信から少しずつステップアップする形をとりました。
まず赤外線を使ったリモコン操作でEdisonを動かすところからスタートします。
そして、地球から赤外線を飛ばすには距離が遠すぎることから、別の手段が必要であること、また、あまりに遠すぎる場合には通信を中継する仕組みが必要であることを知ってもらいます。
中継として使ったのは、Yahoo! JAPANのmyThingsというサービスと、Raspberry Piを使って手作りしたアンテナです。
myThingsやアンテナを経由して、地球からの司令を火星にあるEdisonに送る体験を通じて、ネットワークを通じて情報を伝えるにはずいぶん手間がかかるんだな、ということを実感してもらえたのではないかと思います。
中継地点がたくさんあるということは、送信と受信のやりとりがたくさん発生するということ。
だからその都度、間違いなく情報が伝わるようにインタフェースをちゃんと決めておくことが重要になります。
距離が遠くて、中継地点が多ければなおさら重要になります。
これがつまり
「モノゴトを正しく伝えるためにはインタフェースが大事」
さらに
「間をつなぐものが増えれば増えるほど、インタフェースはもっと大事」
ということです。
ちなみに、このインタフェースの話は例によって人間同士にも言える話です。
火星にいるEdisonはいつの間にかこんな姿に変身していました。
もともと車輪がついていたところに設置されているのは、スタッフが手作りしたEdison側のアンテナです。
最初は個別のテーブルでEdisonを操作していた子どもたちが、火星の基地にEdisonを集合させると途端に賑やかになりました。
タイヤで動くだけじゃないEdisonの姿をみて、自分なりの工夫で面白い動かし方を発見した子もいましたよ。
司令を送るとこんな感じでみんなのEdisonが一斉に動きます。
プログラミングを学ぶのではなく、プログラミングで学ぶ
Edisonを使ったtanpro-labのワークショップ、Edisonでプログラミングを体験することが目的ではなく、プログラミングはあくまでインターフェースを学ぶためのツールである、というところが、プログラミングトイの理想的な使い方だと感じました。
tanpro-labでは、8月にもEdisonを使ったプログラミングワークショップを開催される予定です。
【ワークショップ情報】
Edison, littleBitsを使った探究型プログラミング学習ワークショップ
>>詳細はこちら!
【tanpro-labについて】
社会を通じて“プログラミングの考え方”を学び、実践を繰り返しながら未来を創る力を身につける学習手法「探究型プログラミング学習」を提唱する
不定期でワークショップを開催