NHK for School ツクランカーのセミ型ロボットを「micro:bit」でこどもと一緒に作ってみた

NHK for School ツクランカー

 最近、小学一年生の娘が「NHK for School」という子供向けの教育コンテンツにハマって、子供用のタブレットでみています。

 STEAM教育もとりあげられていて、その中でも娘は「ツクランカー」という番組のmicro:bitを使ってロボットをつくるコンテンツに興味津々のようでした。鉄は熱いうちに打てといいますので、早速micro:bitを買うことにしました。

 実は、以前もmicro:bitが内蔵されたタミヤのロボットを作ったりしているのですが、ロボットを分解しようとしたら娘が嫌がったので、micro:bit単品で買うことにしました。

micro:bit購入

 購入は、いつも電子部品の購入でお世話になっているスイッチサイエンスさんです。

 Amazonでも買えますが、高いのと周辺部品買うこと考えると、スイッチサイエンスさんのような電子部品ショップで買ったほうが良いです(なのでAmazonリンクは貼りません)。

 というわけで、早速購入しました。

 価格をみると分かりますが、実はmicro:bit2台買っています。もちろん、1台は自分用です。結果論ですが、セミロボットは受信用と送信用の1台ずついるのでちょうど良かったです。

 なんとなくgroveコネクタ付きのLEDも一緒に買いましたが、micro:bit、直接groveコネクタがつながらないので、追加で部品購入か工作が必要です。買ってから気づきました(不覚…)

セミロボットをつくる

 micro:bit自体の使い方は簡単でした。起動すると同時に簡単なインストラクションが始まり、ユーザー体験的にはグッドですね。娘も、NHK for Schoolで予習していたらしく、micro:bitをふったり、手を叩いて音で反応させたりしていました。

 開発環境はクラウドにあるので、ブラウザさえあれば環境は整います。今どきで便利ですね。以下にアクセスすれば、コーディングからmicro:bitへの書き込みまでできます。

 ここで、LEDのパターンを変えたり、音を出したりと一通りmicro:bitの動かし方を理解します。

 一通り動作確認したら、いよいよセミロボットを作ります。娘は、紙コップと折り紙とカッターで、セミのわがままボディーを作りました(カッターを使うところは、私がやりました)。

 ボディーはあっさり完成です

 問題は、ソフトでした。作り方は以下の番組で解説しているのですが…

 わ、分からない…てっきりサンプルコードがネットにあるかと思ったら一切ないですし、動画を拡大しても細かいところがぼやけて見えません。なんというハードコアスタイル。

 なんとか、目を凝らしてコードを解読しつつ、よくわからないところは、自分で考えたり、省略してコーディングすることで、なんとか送信側、受信側の2台のmicro:bitソフトが開発できました。2台が近づくと受信側から音が出ます。送信側のmicro:bitを忘れ物にくっつけて、受信側のmicro:bitをセミに搭載することで、忘れ物を防止するセミが出来上がります。

 動いたコードをGitHubに置いておきます。

 micro:bitは、標準でブロック型のビジュアルプログラミング言語の他、javascriptとPythonが使えます。しかも全て同期していて、Pythonでコードを書いたら、ビジュアルプログラミング言語の方にブロックが追加されます。凄い。

 コードを管理しやすいので、GitHub上ではPythonで管理していますが、Pythonのコードをコピペした後、ビジュアルプログラミングでブロックを追加することもできます。

タブレットでの開発

 娘のタブレット(Kindle fire HD 10 キッズモデル)でも動かすことができました。micro:bitとは直接USBで接続して、Kindleの標準ブラウザでPCと同様MakeCodeで開発します。

 ただし、娘の制限されたアカウントでは、micro:bitに接続することができませんでした。これは、安全上仕方ないかなというところです。娘が自分でプログラミングするようになったら、運用を考えないといけないですね。

まとめ

 mico:bitでこどもと一緒にセミ型ロボットを作ってみました。micro:bit、興味はあったのですが欲しいときに在庫が切れていたりして縁がなかったのですが、実際使ってみるとなかなか良いですね。

 ディスプレイはないものの、LEDや音声の入出力、スイッチなど一通りのインターフェースが揃っているのが良いですね。ビジュアルプログラミング言語だけでなくPythonが使えるのも良いですね。

 ネットで調べたら、C++とかRustで開発している人もいるようなので、結構何でもできそうです。ただ、一番の良さはブラウザさえあれば、ビジュアルプログラミングで開発できちゃう手軽さですね。

 ちょっとしたLチカしたい場合は、micro:bitが一番便利で手軽なマイコンかも?と感じたりもしました。Lチカに関しては、今回試せなかったので、また別で記事書こうかなと思います。というわけでmicro:bitおすすめです。

関連記事