R1.8.3 使いまわしを楽にするために
マイクロビットとセンサーやLED等の機器を使っていろんなことをするときに、いちいち5本のネジ止めを開放して締め直す、というような煩雑さを取り除きたい。もちろん、マイクロビット本体を10枚前後持っていればいいんだろうけど。なかなかそうもいかない。
そこで、7セグ3連表示と心拍センサーとの連携をしたときに作成したエッジコネクター群の細工を進めてみた。
I2C端子を使う場合に対応するエッジコネクター群。センサーと表示基板を差し込むエッジコネクターとマイクロビットを入れるエッジコネクター。その後ろに電源基板のエッジコネクターと、3個のエッジコネクターを連結した。どのピンかが分かるように不要なピンを取り去っている。右から大まかに、GNDピン・I2C端子・SPI端子・3V・P2・P1・P0としている。ネジ止めをしないので、特にマイクロビットを簡単に外すことができるのは、私の使い方では便利だと思う。
さらに、最前面のセンサーと表示基板を他のものに取り換えれば、すぐに他用途に使えることも利点だ。
ということで、今のところmicro:bitCubeは下の3セットになった。
H30.9.1 導入から始まる
ラズベリーパイが一息ついたところで(あんまり進展なく停滞気味なので)、マイクロビットに手を出してみた。きっかけは、近いところで活用が始まるとの情報を得たので、先行してお手伝いできればと考えた。
そう高くないので早速注文。これが、英国では子供達に無償で配布したというマイクロビット。日本と考え方と行動力が違うな。
電源がA(USB5V)とB(乾電池など3V)の2つから選べる。Aはパソコンから取っても、5Vアダプターからでもモバイルアダプターからも取ることができる。Bの方は単3でも単4でも2本で使うので取っ付き易くて便利。ボタン電池を使うアダプターも販売していた。
LED(これは光センサーにもなっているらしい)が5×5の25個。とりあえずこれだけで遊べる。
他に、地磁気センサー・加速度センサー・温度センサーが内蔵されている。ただ、温度センサーはCPU内蔵でCPU温度を測定するので、正確な気温測定は別途センサーが必要だ。
端子は、0・1・2・3V・GNDと大きな穴と幅広の接触面を持っているので、わに口クリップで直接挟んだり、バナナクリップで接続するようにターミナル端子をネジ止めできるようになっている。この5つの端子でかなりのことができそうだ。マナログ入力にも対応しているし。
さらに、沢山の小さな端子がある。大小21個の端子群なのだ。小さい方には、SPIやI2Cなどもあるので、素人が深く取り組むにも余裕がありそうだ。
PCと接続してプログラミング
このマイクロビットは、最初だけはPC等と接続する必要がある。私の環境はwindows10タブレットなので、これにUSB接続し、ネットワークでhttps://makecode.microbit.org/#にアクセスした。1回だけつなげば、あとはネットワーク無しでもプログラムはできるようだ。ネットワークがないときはPCのキャッシュ(?)を利用するからだろうか。ただ、タブレットはwindows10なので、windowsアプリをBBCからダウンロードして利用している。これも、始めはネットワークがいるのだろうが、2度目以降はネットにつながなくてもプログラムできる。このへん詳しくはわからないのだが、できているので深くは考えない。
PCの画面では、javascriptブロックを利用している。すぐにjavascriptにも変えられるのは素晴らしい。
実はすべてのブロックが画面上には現れてはいないからだ。javascriptでやったほうが速いこともある。プログラムが間違っていると警告されるばかりだが...
ブロックはscratchをやっていたので扱いやすい。もっとも初めてでも簡単なのだが、こういうビジュアルプログラミングにどれか一つでも慣れていると、別のビジュアルプログラミングにもすぐ移行できるということが利点なのだと思う。
さらに慣れてきた学習者は、自然にjavascriptに移行していくのではないかとも思う。
PCの画面上にはシミュレーターも出ているので、ブロック通りに動いてくれる。自分の意図が実現できていれば、画面上でダウンロードする。ダウンロードフォルダに入るので、そのhexファイルを右ボタンでクリックし、microbitに「送る」してやればいい。windowsアプリだと、PC画面上でダウンロードすると直接USB接続したマイクロビットに入ってくれるから便利だ。
ダウンロードされた、自作のプログラムはマイクロビット上で再現されているはずだ。USBケーブルを外しても、マイクロビットの電源は落ちるが、別の電源で動作させると、忘れずにダウンロードしたプログラムが動いてくれる。新しいプログラムがロードされるまでそのプログラムが動き続けるのだ。
外部センサーとつなぐ
ネットでいろいろ調べると、小さな端子のI2CやSPIを使ってラズベリーパイでやってきた様々なセンサーを使った工作が再現できるようなので、手持ち品が無駄にならない。
ラズベリーパイの時は、本体だけで音声合成ができたが、さすがに軽量のマイクロビットではできない。それでも、音声合成LSIがあるので、それを利用すればかなりたやすく実現できそうだ。なかなか面白そうで、しばらくはこれに没頭するかも。
ただ、細かな電子部品などを揃えていくと、金欠になるかもしれない。