ハッカソンの季節です!
毎年恒例のMicrosoft社員向けのハッカソンですが、今回は日本人のチームに混ざってmicro:bitで遊ぶ機会を頂いた。
micro:bit とはなんぞや?
一通り遊んでみて、micro:bitプログラミングの簡単さを伝える目的で動画を作成しました。
特徴
ざっくりいうと、Arduinoの小型版みたいなマイクロコンピュータ・ボードにセンサーやインプット用ボタン、アウトプットとしてのLED群、などがてんこ盛りになった、HTML5ブラウザーエディターで簡単に視覚的プログラミング出来る子供むけの学習用ハードウェアプラットフォーム。
内臓してある要素は
- AとBというラベルが付いたプッシュボタンふたつ
- 5x5の赤色LED
- 温度計
- 方位磁石
- 加速度センサー
- Bluetoothアンテナ
など。
ブロックスタイルの視覚的プログラミングではそれに対応するブロックが提供されている。
Aボタンが押された時に実行するハンドラー
LED点灯関連
LEDは個別に点灯・消灯、明るさ調整も出来る
各種センサーは Input というグループに入っている
エディター各種
まず、エディターはすべてブラウザベースなんでどこからでもエディット出来る。
言語や環境もいくつか選べる
BBCのmicro:bit ホームページからは以下の環境から選べる
- Microsoft Block Editor
- Microsoft Touch Develop
- MicroPython
- Code Kingdom JavaScript
さらにMicrosoftのPXTからは
- Block Editor
- JavaScript Editor
から選べる。
MicrosoftのPXTの場合、実は「選べる」といっても Block Editor も JavaScript Editor も全く同じエディター内で動作し、どちらかの表示形式を選べる、という形式をとっている。なので、ブロック・モードのプログラミングからJavaScriptモードの打ち込み形式のプログラミングにスムーズに移行できるわけだ。
例えばこのブロック形式のコードを・・・
JavaScriptモードで読むとこうなる。
ちなみに、ブロック形式だと変数に配列が使えないが、JavaScriptモードにすればJavaScriptの他のシンタックス(どのECMAScrptバージョンに準拠しているのかはまだ調べてない)をサポートするので、配列も問題なく使える。
もっとゴリゴリ書きたい人はPython。さらにもっとオタクな人はC言語レベルでも行けるそうです。
スマフォでもプログラミング出来る!
インストールして、手元の micro:bit とペアリングできる
するとスマフォのブラウザーでプログラミングが出来る(iOSだとSafariしかサポートしてないようです)
子供向けコンピュータ教育とその向こう側
もともとの目的がイギリスの11歳~12歳の子供たち全員に配ってコンピュータープログラミングに親しんで欲しいというのがあったので当然、対象の年齢の子供たちにとって使いやすい仕様になっている。
しかし!センサーの充実さや、Bluetoothによる通信サポートなどを考えると大きくなった子供たち(=大人)も十分楽しめるプラットフォームだといえる。温度センサーや加速度センサーがあるので実用的なツールも作れるし、ネットワークに繋げて本当の意味でのIoTデバイスも作れる。
プラットフォームはすべてオープンだそうで今後クローンが出てくればコストもさらに下がるだろうし、広まっていく可能性があります。
楽しくなってきました!!