読者です 読者をやめる 読者になる 読者になる

シアトル生活はじめました

20年以上すんだ東海岸から西海岸に引っ越してきました。MicrosoftのUniversal Storeで働いてます。

micro:bit が簡単すぎて草生えたww

テクノロジー プログラミング 教育 電子工作

ハッカソンの季節です!

毎年恒例のMicrosoft社員向けのハッカソンですが、今回は日本人のチームに混ざってmicro:bitで遊ぶ機会を頂いた。

micro:bit とはなんぞや?

jp.techcrunch.com

 

一通り遊んでみて、micro:bitプログラミングの簡単さを伝える目的で動画を作成しました。

youtu.be

特徴

ざっくりいうと、Arduinoの小型版みたいなマイクロコンピュータ・ボードにセンサーやインプット用ボタン、アウトプットとしてのLED群、などがてんこ盛りになった、HTML5ブラウザーエディターで簡単に視覚的プログラミング出来る子供むけの学習用ハードウェアプラットフォーム。

内臓してある要素は

  • AとBというラベルが付いたプッシュボタンふたつ
  • 5x5の赤色LED
  • 温度計
  • 方位磁石
  • 加速度センサー
  • Bluetoothアンテナ

など。

ブロックスタイルの視覚的プログラミングではそれに対応するブロックが提供されている。

Aボタンが押された時に実行するハンドラー

f:id:watanabe_tsuyoshi:20160728133229p:plain

LED点灯関連

f:id:watanabe_tsuyoshi:20160728133413p:plain

LEDは個別に点灯・消灯、明るさ調整も出来る

f:id:watanabe_tsuyoshi:20160728133522p:plain

各種センサーは Input というグループに入っている

f:id:watanabe_tsuyoshi:20160728133648p:plain

エディター各種

まず、エディターはすべてブラウザベースなんでどこからでもエディット出来る。

言語や環境もいくつか選べる

BBCのmicro:bit ホームページからは以下の環境から選べる

 

www.microbit.co.uk

さらにMicrosoftのPXTからは

から選べる。

www.pxt.io

 

MicrosoftのPXTの場合、実は「選べる」といっても Block Editor も JavaScript Editor も全く同じエディター内で動作し、どちらかの表示形式を選べる、という形式をとっている。なので、ブロック・モードのプログラミングからJavaScriptモードの打ち込み形式のプログラミングにスムーズに移行できるわけだ。

例えばこのブロック形式のコードを・・・

f:id:watanabe_tsuyoshi:20160728140200p:plain

JavaScriptモードで読むとこうなる。

f:id:watanabe_tsuyoshi:20160728140304p:plain

 

ちなみに、ブロック形式だと変数に配列が使えないが、JavaScriptモードにすればJavaScriptの他のシンタックス(どのECMAScrptバージョンに準拠しているのかはまだ調べてない)をサポートするので、配列も問題なく使える。

もっとゴリゴリ書きたい人はPython。さらにもっとオタクな人はC言語レベルでも行けるそうです。

スマフォでもプログラミング出来る!

 iOSAndroid向けにアプリが出てる。

micro:bit

micro:bit

  • Laurence Rogers
  • Education
  • Free

 インストールして、手元の micro:bit とペアリングできる

f:id:watanabe_tsuyoshi:20160728140741p:plain

するとスマフォのブラウザーでプログラミングが出来る(iOSだとSafariしかサポートしてないようです)

f:id:watanabe_tsuyoshi:20160728141025p:plain

子供向けコンピュータ教育とその向こう側

もともとの目的がイギリスの11歳~12歳の子供たち全員に配ってコンピュータープログラミングに親しんで欲しいというのがあったので当然、対象の年齢の子供たちにとって使いやすい仕様になっている。

しかし!センサーの充実さや、Bluetoothによる通信サポートなどを考えると大きくなった子供たち(=大人)も十分楽しめるプラットフォームだといえる。温度センサーや加速度センサーがあるので実用的なツールも作れるし、ネットワークに繋げて本当の意味でのIoTデバイスも作れる。

プラットフォームはすべてオープンだそうで今後クローンが出てくればコストもさらに下がるだろうし、広まっていく可能性があります。

楽しくなってきました!!