わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

micro:bitの体験演習第1回

昨日5限は,実験室にて,1年生向け科目「メジャー体験演習」の授業を担当しました.
「IoT (Internet of Things,モノのインターネット)」をテーマとした授業2コマ分の,最初の1コマです.
使用するのは,micro:bitという,4cm×5cmのシングルボードコンピュータです.

この1枚に,CPUのほか,表面25個に裏面1個のLED,2個のボタンスイッチ,振動や傾きを検知できる加速度センサ,コンパスになる磁力センサ,明るさセンサに温度センサ,そしてUSBなどの入出力を登載しています.無線通信はWi-FiではなくBLE (Bluetooth Low Energy)です.電源供給はmicroUSB端子が手軽です(PCとつなげば,データ転送もできます).1個の値段は,2千円と少しです.
1人につき1個を使ってもらいました.ただし授業開始からではなく,はじめの50分ほどは,持参してもらったBYODのPCで,ブロックエディタ(https://makecode.microbit.org/)を使用するプログラミングに親しんでもらいました.後半に,1人1個の実機を受け取り,microUSBケーブルでPCとつなぎ,保存したhexファイルを転送して動かしました.
新テーマということもあり,準備にかなりの時間を費やしました.メジャー教員間の検討により,昨年度までの自分の担当(HTML体験)は,今年度実施しないことになり,同じように担当見直しとなった先生と検討の結果,micro:bitを使って遊んでもらおうとなりました.予算や納期*1にうまく対処ができ,学生1人1個分に予備を加えた数が,納品されました.
授業の内容ですが,先述の先生が,無線やシリアル通信を用いた,高度なものを事前に作成していました.そこで自分は,2コマ分の最初のコマの解説と課題を用意しますと宣言し,授業実施の3日前に第1案,その翌日に教員間のプレビュー版を完成させました.
教室は実験室で,隣どうしの2部屋です.1部屋に8つの机,1つの机に4つまたは5つの角イスがあります.同じ内容で,先述の先生と,自分による2部屋同時進行となります.
ブロックエディタのプログラミング課題から一つ:

5×5のLEDで表示できる漢字(「卍」など)をできるだけたくさん作り,順に表示させなさい.

この問題であれば,「基本」からパーツを取り出して,組み合わせれば(少しの根気と知恵もいりますが),実行できます.巡回していると,いろいろな漢字が,学生のブラウザ内で赤く表示されていました.
とはいえこの1件に,時間をかけすぎるのも,良くないので,上記を含め4問を,スライド1枚分にして提示し,実機使用に移るまでの30分ほどを,マウス操作によるプログラミングの時間としました.教員・TAが巡回して,困ったときの対応にあたりましたが,プログラミングに関しては,自力で,あるいは隣り合う学生どうしで,解決をしていました.
4問は,あとの番号ほど難しいものにしました.そして,すべてを解くことを目指さなくていいことを,口頭でアナウンスしました.この時間に,積み上げていってほしかったのは,「正答数」ではなく「経験」なのでした.
実機での活動になってからは,教員からの指示が多くなりました.ブロックエディタ内のサンプルの一つにStop watchがあり,これをロードしてブラウザ上で動作確認してから,ファイルに保存し,microUSBケーブルでPCとmicro:bitを接続して,保存したファイルを送るよう,指導しました.はじめは何も表示されません.Aボタンを1回押すと光りはじめ,もう1回押すと,「2」「.」「8」「0」「7」と,右から左にスクロールしながら,2回押した間が何秒だったかを,教えてくれました.
次に,指定のURLにアクセスしてもらいました.そこには,授業前にこちらで用意しておいたhexファイルをいくつか,ダウンロードできるようになっています.4問の課題の答えとなる,hexファイルもあります.ダウンロードし,micro:bitに入れて動かすことを指示しました.隣室で解説中の先生が1か月くらい前に作成した,加速度センサを用いた水平器の人気が,高かったように思います.

*1:夏休み前は,互換のchibi:bitで動かしていました.micro:bitの「技適」が通り,十分な数の調達ができるのを確認してから,発注したのでした.