micro:bitのセンサー

0. はじめに

micro:bit事始めとして、前回・前々回の投稿では、micro:bit単体でセンサーを使った測定と記録を試しました。 vivitelaeti.hatenablog.com vivitelaeti.hatenablog.com

前回・前々回の投稿から1年半以上が過ぎてしまいましたが、その間に発売されたv2も含めて、オンボードのセンサー関連の情報を簡単にまとめておきたいと思います。単体で使えるセンサーのほか、エッジコネクタを通じて外部センサーに接続することもできますが、それはまたどこかでまとめたいです。

1. v1.5のセンサー

micro:bitはセンサーが充実しており、v1.5でも標準で以下が使えるのは魅力的です。

  • 温度(プロセッサーの表面温度)
  • 光 (表示用の5x5のLEDマトリックス兼用)
  • 動き(モーションセンサーLSM303AGR)
  • 磁気(同上)
  • タッチ(エッジコネクタのP0/P1/P2)

2. v2のセンサー

さらに、前回・前々回の投稿後に販売開始されたv2には以下が追加されました。

  • 音 (マイク Knowles SPU0410LR5H-QB-7 MEMS)
  • タッチ(前面ロゴ)

タッチセンサーについては、静電容量方式の前面ロゴでの検出が追加されました。

また、エッジコネクタのP0/P1/P2での検出方法について、v1.5では抵抗膜方式のみでしたが、v2では、抵抗膜方式がデフォルト、静電容量方式への切り替えも可能となっています。

下記はmakecode blogのv2対応版リリース時の解説です(MakeCode for the micro:bit V2 Release)。

Set Pin To Touch Mode - by default, the logo is set to capacitive touch and the edge connector pins (P0, P1, P2) are set to resistive touch. The Set Touch Mode block enables you to change the current touch mode of the Pins and the Logo to either capacitive or resistive.

MicroPythonのウェブサイトにも分かりやすい説明がありましたので引用します(入出力端子 — BBC micro:bit MicroPython 1.1.0-beta.1 ドキュメント)。

エッジコネクタ端子のデフォルトのタッチモードは抵抗膜方式(resistive)です。 V2 のロゴ端子のデフォルトのタッチモードは静電容量方式(capacitive)です。
抵抗膜方式タッチ このタッチは、端子と接地(GND)の間にどれだけの抵抗があるかを測定することによって行われます。抵抗が少ないと True の判定を返します。指での検出を確実にするには、体の別の部分、たとえばもう片方の手で GND 端子に触れる必要があります。
静電容量方式タッチ このタッチは、指を電導体としてキャパシターの電界の変化を捉えることによって行われます。 静電容量方式タッチ は、回路の一部として接地(GND)に接続する必要がありません。

3. センサーの使い方や仕組み

各センサーの働きについては、microbit.orgの「はじめよう」>「センサー」( センサー | micro:bit)が分かりやすいです。

また、micro:bitを例にしながらも、センサーの仕組みまで解説してくれる動画に、makecode.microbit.orgの下の方にある「makecodeハードウェアの裏側」のリストからアクセスできます。英語のみですが面白いです。場所が分かりにくいのでリンクを貼っています(下記は、温度・光・動きについて。これ以外にもありますのでぜひ。)。

www.youtube.com www.youtube.com www.youtube.com

4. 技術面

技術面は、micro:bit developer communityとifinityのウェブサイトを参照。

今回はここまで。次回は、センサー測定のみの作例から少しステップアップして、センサーをトリガーに、何か「動かす」ことについて書いてみます。

編集履歴

2022/10/21 エッジコネクタの検出方式のデフォルトについて、記載訂正