社員技術ブログ

【社員技術ブログ】micro:bit(マイクロビット)でプログラミング、デバイス試作、注意点など

何故かハードウェア工作担当になっているT.Kです。

はい…今回もハード絡みです…が、内容は薄いです。予めご了承下さい。

作れるかー?

ある日の事、チャットで上長から「こんなの作れる?」とURLが送られてきました。

そこには個人?がArduinoベースで製作した、とあるデバイスが紹介されていました。

「模倣という意味でなら作れるとは思いますけど…」と答えると

「じゃあ、お願い」

という事で情報収集開始です。

真似っこはちょっと…

件のサイトを眺めて使われているパーツを調べていると、無線関連の部品がちょっと正体不明。
型番で検索するとロシアの部品販売サイトにたどり着きました。

…さすがにロシア通販は利用した事が無いぞ。何が書いてあるかも分からないし。

そもそも、無線関連の部品なので技適が通っていないモノは使いたくない。
失礼ながら元々の構造もスマートでは無いと思ったので、無理に真似をしなくても良いかと判断。
オリジナルのモノを製作する事にしました。

そこで、まずはベースになるシングルボードコンピュータを何にしようか考えてみました。
入手しやすい事を考慮して…

Arduino…ありふれている。そこそこお手軽。情報/周辺機器等が豊富。

Raspberry Pi…ありふれている。お手軽とは言い難い。情報/周辺機器等が豊富。

micro:bit…価格と機能のバランスが良さげ。お手軽。他に比べると情報/周辺機器等は少なめ。

※上記はあくまで個人の感想です。

今回は無線必須で小さく、安く、お手軽にという命題があったのと、良く知らないという理由(笑)でmicro:bitを選んでみました。

micro:bitとは

英国放送協会(BBC)が中心となって情報教育の為に開発した、シングルボードコンピュータです。
プログラミングに関しては、PCにmicroUSBケーブルで接続しブラウザで編集するという、随分とハードルの低い方法で行えます。

表側には

プッシュボタンA
プッシュボタンB
LED 25個(明るさセンサーも兼ねている)

裏側には

SoC(プロセッサ及び周辺回路)
温度センサー(SoCの温度)
磁気センサー
加速度センサー
無線通信機能(BLE)
miniUSBコネクタ
リセットボタン
電源コネクタ

が実装されています。

他のシングルボードコンピュータと違い、単体である程度の事が出来るようになっています。
また、教育向けという事でヘッダーピンが無いのも特徴ですね。うっかり指を「ぷすっ」とする事もありません。
ヘッダーピンの代わりにカードエッジの端子で各種信号を取り出せるようになっています。

どうせならOLEDディスプレイを載せて欲しかったと思うのは欲張りですかね。

カラーバリエーションは4色(赤、青、黄、緑)あるようですが、発注時には選べないです。4枚注文したら全て青色が届きましたよ…

試作してみた

本来なら、ここで試作品の回路図やら画像を載せたいところなのですが、色々な大人の事情でストップが掛かってしまいました。
簡単な事例を…とも思ったのですが、ネタに使えそうな部品は既に使い切ってしまったので、試作の際に気付いた事などを紹介したいと思います。

画像出展:https://microbit-micropython.readthedocs.io/ja/latest/pin.html

アナログ入力…P0,P1,P2はタッチセンサーとして利用する為に10MΩでプルアップされているとあるが、P3,P4を利用する場合、こちらを10MΩでプルアップする必要は無さそうです。
P0~P4まで同じセンサーを接続して試してみましたが、P3,P4のプルアップ抵抗の有無で有意な差は見られませんでした。回路によるのかも知れません。

LED Col*…LEDの制御用に共用されている端子(P3,P4,P10,P9,P7,P6)はLEDを「非表示状態」では無く「無効」にしないと入力も出力も正しく動作しない。値が不正になりました。

MakeCode…16進文字列が上手く取り扱えないので工夫する必要がある。PCのjavascriptだと簡単なのですが。数値を16進文字列に変換したい場合は以下のようなコードで可能です。

Python…リソースを沢山使用するのでBLEが扱えませんとの事。残念。

また、試作の際には以下のような基板を利用すると便利です。カードエッジから信号線を取り出すだけのもの、予めモーター/サーボの駆動回路が組み込まれたもの等、色々とあるようです。
何かの残骸も写っていますが、見なかった事に…
接続は基板に設けられたスロットに挿すだけなので簡単。初代ファミコンやMSXと同じですね。例えが古いですか?

ちなみに、このような機能拡張の為の基板はArduinoでは「~シールド」、Raspberry Piでは「~ハット」と呼ばれていますが、micro:bitの場合の呼称はあるのかな?

今後の展望

今回初めてmicro:bitに触れてみましたが、予備知識無しの私でもPC←→micro:bit間、micro:bit←→micro:bit間の連携も、試作デバイスの制御も比較的簡単に出来ました。
開発のハードルが低いのに加えて、特にハードウェアの部分に関してはコストパフォーマンスが良いと感じました。

「教育向け」との事で正直期待していなかった部分もあったのですが、ちょっとしたモノを組むにはこれで十分な気がします。こういうのが好きな子供さんには良い「オモチャ」だなと。
もうちょっと理解を深めて、色々と面白いモノを作ってみたいですね。

その為にも「社長!工具(+予算)プリーズ!」

関連記事

TOP