WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能

micro:bit,社外部品・DIY

micro:bitの新バージョン(v2.0)では本体にマイクとスピーカー、ロゴマークにタッチセンサーが追加されました。今回は購入した新バージョンのmicro:bitに電源を入れて、これらの機能を見てみます。

スポンサーリンク

電源投入(初期状態)

購入したばかりのmicro:bitをUSBでPCに接続したり、電池ボックスを繋いで電源を入れると、予めmicro:bitに入っているデモプログラムが動作します。micro:bit(v2.0)ではLEDに模様がアニメーション表示され、同時にスピーカーからも音が流れます。その後はABボタンを押したり、振るや傾けるのデモ動作もあります。

この予め入っているデモプログラムを「Out Of the Box experience」と言い、1度プログラムを書き込んで使用したmicro:bitを再び購入時の初期状態(Out Of the Box experience入り)にしたい場合は、micro:bitの公式ページからデモプログラム(hexファイル)をダウンロード出来ます。注意点としてこのhexファイルは、Microsoft makecode等では開けず、micro:bitをUSBでPCに接続して直接micro:bitフォルダーにコピーする必要があります。コピーすると自動的にmicro:bit本体に書き込まれ、hexファイルはmicro:bitフォルダー上から消えます。

デモプログラムが必要でない場合は、単純にMicrosoft makecodeで新しいプロジェクトを作成し、そのままの状態(「最初だけ」と「ずっと」のブロックのみ)でmicro:bitに書き込んでしまえば、次回電源投入時には動作するプログラムが無い(何も起きない)状態になります。

またこれまでの古いmicro:bit(~v1.5)にも同じデモプログラムが使用出来ます。ただしスピーカーは搭載されていないので音は出ません。このデモプログラムでタッチスイッチのデモが無いのは、古いmicro:bitを考慮している為でしょうか。

スピーカー

micro:bitで出せる音はビープ音ですが、予め用意されているメロディーや音階とテンポで自由に作る事も出来るので、表現はかなり豊かに出来ます。v2.0でデモプログラムを動作させると、少々うるさい程度の音量で音が出ます。

スピーカーからの音量は「音量を設定する」で0~255の間で変更出来ますが、基準は無いので実際に音を出して確認してみるしかありません。そこで上記プログラムを作りました。最初は音量「32」にしていて、Aボタンを押す毎に「-16」、Bボタンを押す毎に「+16」にして音を鳴らしながら、LEDにその時の音量も表示します。「0」以下「255」以上にはなりません。

古いmicro:bit(~v1.5)でも使用する場合(要、別途スピーカー)は、「play sound」のブロックを音楽ブロックメニューにある、従来からの「メロディー」に置き換えます。またこちらはv2.0でも使用出来ます。

マイク

マイク入力は他のセンサー類と同様に0~255の間で音量を測定出来ます。マイクと言っても録音や再生機能は無いので、あくまで音量センサーとなっています。音量の数値も基準が無いので、「大きな音」や「静かな音」でのしきい値を決める際にも、実際にマイクに音を入力させながらその時の数値を確認するしかありません。

スピーカー同様にマイクに入力される音量を確認するプログラムを作りました。通常は音量に比例してLEDが点灯し、Aボタンを押すと現在までの最大音量値(0~255)を表示します。Bボタンを押すと最大音量値をクリア(0にする)します。欠点としてはボタンを押す音もマイクに反応してしまうので、折角のv2.0であればロゴマークのタッチスイッチの方が良かったのかもしれません。またクリアはBボタンではなく、単純にリセットでも可です。

マイク入力が有効の場合、micro:bit上のマイクLEDが点灯しています。

タッチスイッチ

古いmicro:bit(~v1.5)でもP0~P2端子をタッチスイッチとして利用する事が出来ました。ただし抵抗膜方式(Resistive touch)なので、片手でGND部分を持ちながらもう一方でP0~P2端子に触れるという方法です。

新しいmicro:bit(v2.0)ではロゴマークのタッチスイッチは静電容量式(Capacitive touch)となっていて、GNDに触れている必要はありません。またP0~P2端子を静電容量式に変更する事も可能になっています(「高度なブロック-入出力端子-その他」にある「set ~ to touch mode ~」)。

上記のプログラムは新しいmicro:bit用で、ロゴマークを触るとハートマーク、P0~P2端子のそれぞれで0~2の数値を表示します。GNDに触れている必要はありません。「最初だけ」でP0~P2端子の仕様を変更すれば、従来の抵抗膜方式にも出来ます。

上記は古いmicro:bit用です。こちらは常にGNDに触れている必要があります。ただしGNDに触れてなくても基盤上の他の部分(USB端子の金属部分など)に触れていると、反応してしまう事があるので注意が必要です。

タッチスイッチについての仕様は公式サイトのこちらに記載されています。

その他

リセットスイッチ

古いmicro:bit(~v1.5)ではリセットスイッチを押すと、実行中のプログラムを停止して再び最初から開始していましたが、新しいmicro:bit(v2.0)では5秒間リセットスイッチを押し続ける事でスリープまたは電源OFFにもなります。スリープと電源OFFの違いはmicro:bitをPCにUSBで繋いでいる場合はスリープで、micro:bitを裏から見てUSB端子の左にあるLEDが点滅します。micro:bitをバッテリー端子に繋いでいる場合は電源OFFで、同じくUSB端子の左にあるLEDは消灯になります。スリープや電源OFFはエネルギー消費の節約になるとあります。

※USB端子にモバイルバッテリー(推奨されていません)を繋いだり、充電専用のUSBケーブル(PCでmicro:bitは認識されない)を使用すると、バッテリー端子に繋いだ場合と同じく電源OFFになります。USB端子とリセットスイッチの間にあるLEDは、PCでmicro:bitが認識されている状態を示す物(データ送受信を行うと点滅する)なので、このLEDが点灯であればスリープ、消灯であれば電源OFFになるという判断も出来ます。

スリープや電源OFFから復帰する場合はもう1度リセットスイッチを押すか、USBやバッテリーを繋ぎ直して電源を再投入します。ただしスリープからの復帰といっても、プログラムはスリープになった状態から再開されるのではなく、再び最初からの開始となります。

次回

次回はv2.0で強化されたプロセッサーとメモリが、従来とどの程度違うのか見てみたいのですが、それを確認出来る術が思い付きません。メモリーは単純にプログラム量や拡張機能を多く入れてしまえば良さそうですが、プロセッサーの処理能力は・・・?以前のRS232CでELM327から車両OBD2のデータ受信が、少しは早くなるのだろうか?

「micro:bit」関連記事

以下は「micro:bit」タグの記事一覧です(投稿順)。現在の記事とこれ以降に投稿した記事も含みます。「その24」までの記事ではmicro:bit本体のバージョン「1.5」を使用しています。

その他

FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。

注記

    • このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
    • 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
    • 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
    • micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
    • BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。