asondemita’s diary

micro:bit関連の事を書いていきたいと思います。CoderDojoつくばと守谷で子供達とプログラミングで遊んでいます。

micro:bit(マイクロビット)を使った「小学校プログラミング教育の手引(第一版)」A分類(区分)6年生理科の作成例

 去る5月20日に開催されたシンポジウム「東京大学情報学環プログラミング教育シンポジウム Micro:bitを使ったIoTプログラミング教育」に参加させて頂きました。

f:id:asondemita:20180527133257j:plain

この際、「小学校プログラミング教育の手引(第一版)」で言うところのA分類の作成例を幾つか展示をさせて頂いたのですが、御覧頂いた方より「ネット上には公開しないのですか?」と言われました。取り急ぎ、展示した6年生理科の作成例について、ここに記そうと思います。

 なお、私は学校教育は専門外になります。もし間違った事を書いていたら御指摘頂ければ幸いです。 

 

1.micro:bitが小学校の授業に適している9つの理由

私なりに理由をまとめてみました。

理由1. ビジュアルが学習にうってつけ

 「身の回りでプログラムで動いている物を分解すると基板という物が中にはいっていて、CPUと呼ばれる・・・」という仕組みを学ぶ中で基板剥き出でCPU搭載のmicro:bitはビジュアル的に説得力があります。

理由2.導入が簡単

 ブロックによるプログラミング環境が提供されているので「プログラミングはちょっと・・・」という先生でも1時間もあれば使えるようになります。また、先生が授業の前にハードウエアを組み立てたり、予めパソコンになにがしかの設定作業をしなくても、すぐに使う事が出来ます。

理由3.環境を選ばない

 多くの小学校のPCは、セキュリティ対策で先生と言えども勝手にソフトがインストール出来ないようになっていますが、そのような環境でも問題ありません。ブラウザとネットワークさえあればあらゆる環境からすぐに始められます。

理由4.授業中の想定外のトラブルが少ない

 各種センサー(加速度・地磁気・温度・明るさ)・入出力端子・25個のLED・Bluetoothが搭載されているので、特別な組み立てやブレッドボードを使わずに多くの事が出来ます。結果、授業中の想定外のトラブルを抑える事が出来ると思います。

理由5.少ない予算で導入が出来る

 各種センサー・LED・Bluetoothを搭載しているのに、定価2,160円という価格は、2020年に向けてプロモーションが行わている教育用デバイスの中では最もローコストな部類に入ると思います。

理由6.安心して導入が出来る

 国内では認知度が低いmicro:bitですが、既に世界で170万個が販売され多くの子供達がmicro:bitを使って学んでいます。さらに、オープンハードウエア(設計図が公開されており他の人が同じ物を作る事が出来る)且つマイクロソフトが関わっているという背景から、当面は「学校で導入してすぐに製品が販売終了になり入手ができなくなった」「ソフトの更新が止まりOSのアップデートが出来ない」「維持するために有料保守を受け続けなければならずコストがかかる」という心配は無さそうです。導入を決断した人が、後日、責められるような事は無いと思います。

理由7.micro:bit本体が無くても自宅で続きが出来る

 ブラウザベースのシミュレータが良く出来ており、micro:bit本体が無くてもブラウザだけで動作確認が可能です。すなわち、子供達が自宅に帰ってスマホ・PC・タブレット等からmicro:bit無しで続きをする事も出来ます。共有機能を利用すれば、URL(13桁の文字列)で宿題にした作品を提出してもらう事も可能です。

理由8.子供達や先生が混乱する事無く発展が期待出来る

 2018年5月の時点では正式リリースとなっていませんがScratch3.0もmicro:bitと同じくGoogleBlocklyで開発が進められています。そのためブロック操作については共通性があります。片方をマスターした子供達は、もう片方をマスターするのにさほど時間がかからないと思います。また、Scratch3.0は接続できる外部デバイスとしてmicro:bitが標準サポートされる予定です。単元毎に異なるプログラミング道具を使う事になってしまうと先生も大変になります。また学校裁量とはなっていますが、学校毎に異なるプログラミング道具を採用してしまうと、異動になる度に新しいプログラミング道具を覚えなければならなくなります。若い先生はなんとかなると思いますが、年配の先生は異動する度に苦労をする事になります。プログラミングの道具はなんでも良いと思いますが、個人的にはソフト系の道具はScratch3.0とハード系の道具はmicro:bitで統一すると、現場は混乱する事無くB,C,D分類へのスムーズな道筋が描けると思います。

理由9.興味のある子どもは、本格的なプログラミングへ

 micro:bitは、ブロックでのプログラミングだけでなく、本格的なプログラミング言語javascriptpythonへの動線が用意されています。興味のある子どもは、本格的なプログラミングへと進む事も可能です。

 

2.なぜ小学校の先生はmicro:bitを知らないのか?

 先日の東京大学越塚教授主催のシンポジウムで、お話をされた富谷市立富谷小学校の金洋太先生が実践されたお話(参考)は非常に参考になりました。おそらくあの会場にいらした方は「micro:bitの未来は明るい」と確信したと思います。
 ところが、実際の現場は全く異なるのが実状のように感じています。ある小学校に行ってみると、教材会社から届いている2020年に向けた大量のパンフレットの山の中にmicro:bitはありません。何人かの小学校の先生に「micro:bitを知っていますか?」と聞いてみたのですがみなさん知りませんでした。(教材会社の教材がダメという意味ではありません。micro:bit以外にも素晴らしい教材が一杯あります。)

 私は、micro:bitは安すぎてビジネス商材にならないのが原因の一つになっていると思っています。以前お伺いした輸入代理店の方のお話ではmicro:bit財団側の意向で金額が抑えられているとの事でした。

 どうしたら、多くの先生に、この素晴らしいmicro:bitの存在を知ってもらえるのか。。。良い知恵をお持ちの方、いらっしゃいましたらアドバイスを頂ければ幸いです。

 

3.導入にBlockly Games

 相手が数人ならプログラミングが完全に初めての子供達にいきなり触らせてもなんとかなるのがmicro:bitなのですが、30人以上になると先生1人では大変です。

  これはある先生から教わったのですが、先生・生徒の双方からBlockly Gamesが大好評なんだそうです。

f:id:asondemita:20180527034040j:plain

これは、ゲームをしながら「ブロックの操作」「ループ」「分岐」を学ぶ事ができるGoogleが開発したサイトです。

  • 先生は何もする必要は無い(よーいどんと言って、後は見てるだけ)
  • ブラウザさえあればOK(ソフトのインストール不要)
  • code.orgより短時間で出来る

等のメリットがあります。

もしプログラミングの導入としてBlockly Gamesを行う場合は、全部攻略する必要はありません。「迷路」の1~7を攻略してもらえればmicro:bitやScratchの導入としては十分です。

 注意点として、Windowタブレットで行う場合は、

  • タッチを使いたい場合は、ChomeもしくはFirefoxを使う
  • EdgeもしくはIEを使う場合は、マウスで操作してもらう

という形で実施していただいた方が良いようです。(誤動作の可能性アリ)

なお、 余談ですが、Blockly Games,micro:bit,Scrtach3.0,code.org、何れもGoogle Blocklyをベースとして作られています。

4. 第6学年 理科 物質・エネルギー 電気の利用

 私が教育の専門家で指導案がスラスラと書ければ良かったのですが、そうではありません。以下は、あくまで作成例止まりとなっています。単元としては、発電機で蓄電した電気を使って、豆球とLEDのどちらが省エネかを学んだ後の授業を想定しています。 

4.1.暗くなったら自動点灯(明るさセンサー+外付けLED)

 micro:bit本体の明るさセンサーを使い、街路灯(防犯灯)の様に、プログラムで暗くなったら点灯。明るくなったら自動的に消灯する節電装置を作ります

f:id:asondemita:20180527042351j:plain

f:id:asondemita:20180527042224j:plain

https://makecode.microbit.org/_YghEqoUtJLst

 手でmicro:bitを暗くするとLEDが自動点灯します。 

※抵抗入りLEDではない場合は330Ω程度の抵抗を直列に接続する必要があります
※実際の街路灯はプログラムではなく明るさセンサー+電子回路で実現をしています。

4.2.光る明るさを自動調整(明るさセンサー+内臓LED)

  液晶ディスプレイを持つ製品(テレビ、スマートフォン、他)には、回りの明るさに合わせて輝度を自動調整し、無駄な電力を抑え、見やすくする仕組みを持つ製品があります。micro:bit本体の明るさセンサーと内臓LEDを使い、まわりの明るさに合わせてLEDの輝度を自動調整する節電装置を作ります。

f:id:asondemita:20180527072655j:plain

f:id:asondemita:20180527072955p:plain

https://makecode.microbit.org/_7ar00aME5HMH

 常時ハートの表示が出ていますが、手をかざして暗くすると内蔵LEDも暗く光るようになります。 

4.3.一定時間操作が無ければ消灯(内蔵ボタン+内蔵LED)

  スマートフォン・パソコン・ゲーム機・自動販売機の夜間の商品照明などで、一定時間操作がなければ、節電のためにスリープ(消灯)する仕組みがあります。micro:bit本体のAボタンを使い一定時間ボタンが押されなければ、消灯する節電装置を作ります。

f:id:asondemita:20180527135537j:plain

f:id:asondemita:20180527135705p:plain

https://makecode.microbit.org/_JuLKHMKaciLo

このプログラムは、

  • 変数(値を覚えておく仕組み)の説明が必要となります
  • micro:bitの時間がミリ秒という単位なので子供達に教える時に補足が必要となります。

4.4.急加速をしたら警告(加速度センサー+外付けLED)

f:id:asondemita:20180527202218j:plain

 こちらは切り口を変えて電気の節約ではなく、ガソリンの節約装置になります。急加速は安全上の問題だけでなく燃費低下につながります。最近の多くの車に、エコ運転かどうかの表示機能が搭載されています。

 ここではmicro:bitの加速度センサーを使って急加速の場合はLEDで警告する装置を作ります。

f:id:asondemita:20180527155414j:plain

https://makecode.microbit.org/_AFD3ksi4KYjr

 1.5G以上の加速をすると警告ランプが点灯します。

4.5.ドアが開いた時だけ一定時間LEDが光る(地磁気センサー+外付けLED)

 ドアが開いた時だけ一定時間LEDが光る節電装置を作ります。micro:bit+磁石は様々な応用で使えるのですが、

キャリブレーションをしなければならない(サークルを描く初期化作業が発生)

・検出プログラムが多少トリッキーになる
になるので難易度は高めの作例になります。

 f:id:asondemita:20180527163230j:plainf:id:asondemita:20180527162405j:plain

この写真だと判りにくいですが、扉側にマグネット板が両面テープで貼り付けてあります。扉を開けた際の磁力変化を使って開閉を検知します。

 

f:id:asondemita:20180527162159p:plain

 https://makecode.microbit.org/_h3d0evREpf38

作成例として展示しておきながら申し訳ないのですが、このプログラムを子供達に説明するのは、難しいかもしれません。(なぜ磁力の値で判定してはいけないのか。絶対値とは何か。なぜ0.125を掛けるのではなく8で割っているのか。)

 アイディアとしては、「xxxセンサーの変化がxx%以上あったらば真」という判定を行うブロックを追加パッケージとして作れば、子供達も簡単にこの手の作例を悩まずに作れるようになると思います。

4.6. 暑くなったら送風を行う(温度センサー+ソーラーモーター)

 常時送風をするのではなく、micro:bit内蔵の温度センサーと連動させて暑くなった時だけ送風を自動で行う装置になります。

 ソーラーモーターは少ない電流で駆動できますが、それでもダイレクトに制御することは出来ません。どうしても回路が必要となります。こちらも、作成例として展示しておきながら申し訳ないのですが、ブレッドボードを使わなければならないので、短い授業時間の中では、難しいと思います。

 

 f:id:asondemita:20180527163224j:plain

f:id:asondemita:20180527163423j:plain

 

f:id:asondemita:20180527202651p:plain

https://makecode.microbit.org/_15CJ0tUgu2AD

 このプログラムは27度を超えるとモーターが回転します。展示ではドライヤーで温める形で体験していただきましたが、27度ぐらいだとCPUのところを手で暖める形でも達する事が出来ます。なお、マイクロビットの温度センサーはCPUの温度センサーをつかっているため、実際の気温より数度は高めの値となります。

4.7.人が来たらモーターを動かす(明るさセンサー+サーボモーター)

 エスカレーターや動く歩道で、人が来たのを検知すると一定時間だけ稼働するタイプがあります。これをLEDライト+明るさセンサーおよびサーボモーター(連続回転サーボ)を使って作ってみます。

 

 f:id:asondemita:20180527163217j:plain

連続回転サーボにはFEETECH FT90Rを使っています。電源は別の電池ボックスから供給します。(micro:bit本体の3V端子は定格では90mAとなっており、サーボモータを駆動するには不十分です。micro:bit財団の作例に3V端子を使っている例がありますが、財団のエンジニアも不十分である事を認めていました。)

f:id:asondemita:20180531044829j:plain

 

f:id:asondemita:20180527165349p:plain

https://makecode.microbit.org/_6e3MMfDtuVLf

 

LEDライトの光を遮ると5秒間モーターが回転します。

こちらも、作成例として展示しておきながら申し訳ないのですが、かなり工作に時間が取られてしまうので、短い理科の時間の中で行うのはお勧め出来ないかもしれません。

 

以上、このページが検索にひっかかり、一人でも多くの先生がmicro:bitの素晴らしさに気づいて頂けたら幸いです。