当サイトは広告が表示されます。

WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用

micro:bit,社外部品・DIY

micro:bitの基本的な機能として、光センサーと温度センサーをこれまでに扱っていなかったので、今回試してみます。これまでに試した方位センサーと加速度センサーはmicro:bitに専用でセンサーが搭載されていますが、光センサーと温度センサーについては、それぞれLEDとメインプロセッサーに含まれる機能で代用する形になっています。

スポンサーリンク

ちなみに方位と加速度センサーについては当初(micro:bitの本体バージョン1.3Bまで?)、別々にセンサー(IC)が搭載されていましたが、バージョン1.5でモーションセンサーの変更が行われていて、現在は方位と加速度センサーは1つに集約されています。

光センサー

LEDは光を当てると電圧が発生します。micro:bitではこの特性を利用して光センサーとしていますが、実際に使用する場合でも特に難しい事は無く、Microsot MakeCodeで用意されているブロックで簡単に使用出来ます。

Microsot MakeCodeでは「入力」の中に「明るさ」のブロックがあります。またLEDは光センサーとしての利用時でも「表示」の機能も同時に使用出来るので、上記の様な簡単なプログラムで現在の明るさの数値をLEDに表示出来ます。

「明るさ」のブロックで取得される数値の範囲は「0~255」となっていますが、私の環境(室内)では20程度までしか上がりません。数値に基準は無いので、しきい値(ON-OFF判定)を設ける場合は実際にmicro:bitで表示される数値で確認する必要があります。

またLED全体を手で覆ってもなかなか0にはならず、そもそもLEDの数値が見えなくなってしまいます。従って上記の様にmicro:bitを2個使用して無線で通信を行い、明るさを検出する側とその数値を表示する側に機能を分けて確認もしてみました。

micro:bitには25個のLEDが搭載されていますが、25個のLED全てで明るさを検出しているのではなく、9個(25個の内、行列とも奇数となる位置のLED)で検出している様(リンク先はMicrosot MakeCodeの解説Youtube)です。さらに「表示」の機能も同時に利用出来るという事は、少なからずLED自らの発光の影響も考えられるのですが、そこまで厳密に計測出来る物でも無いと思います。

温度センサー

温度センサーについてはメインプロセッサーの温度(ダイ温度)を利用しています。PCで言えばCPUの温度によってCPUファンの回転数が変化しますが、micro:bitではそれほどプロセッサーの温度は上がらずにその影響も無いとされています。逆に極端な温度や直接何かの温度を測る事には向いていません(別途温度センサーモジュール等を使用すれば可能)。

Microsot MakeCodeでは「明るさ」のブロックと同様、「入力」の中に「温度(℃)」のブロックがあります。単位が「℃」なので明るさと異なり基準がありますが、やはり厳密に計測出来る物では無いのである程度の正確性を必要とする場合は、他の温度計と比較して「補正」出来るプログラムを組んだ方が良いと思います。

私の場合は室内にある温度計と見比べた所、3℃ほどmicro:bitで表示される温度の方が高い状態でした。上記の様に補正を行って正しい値にします(変数を使用する必要はありませんが)。補正値を正の値にして、温度から「引いても」同じです。これでメインプロセッサーを指で触れるとLEDに表示される温度も変化しますが、数値はあまり大きく変化しません。

micro:bit 新バージョン「2.0」について

2020年11月25日より、Micro:bit本体の新バージョン「2.0」が発売になっています。従ってこれまでの古いmicro:bitを使用した記事(~その24)と新しいmicro:bitでは記事内容に相違がある場合があります。ただしこれまでのプログラムは基本的には新しいmicro:bitでも動作し、古いmicro:bitも引き続き使用する事が可能です(ハード的に新たに追加された機能は、拡張ボード等が必要ですが)。

なお新しいmicro:bitについては実際に1つ購入し、micro:bit関連記事「その25」から扱っています。

2022年4月追記

2021年12月にmicro:bit本体のバージョンが「2.2」になるとのアナウンスがありましたが、「2.0」との機能上の違いは無いとされています。

「micro:bit」関連記事

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

micro:bit関連記事
クリックで開きます

「micro:bit+プラレール」も始めました。

プラレール関連記事

その他

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

注記

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