WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
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」を使用しています。
クリックで開きます
- WRX micro:bitを車両で使う その1 micro:bitの購入
- WRX micro:bitを車両で使う その2 Microsot MakeCodeとスマホ用アプリ
- WRX micro:bitを車両で使う その3 micro:bitの仕様と購入したブレイクアウトボード
- WRX micro:bitを車両で使う その4 本体ファームウェアの更新とWebUSB
- WRX micro:bitを車両で使う その5 無線機能の利用
- WRX micro:bitを車両で使う その6 方位センサーの利用
- WRX micro:bitを車両で使う その7 加速度センサーの利用
- WRX micro:bitを車両で使う その8 micro:bitからSIドライブのモード切替
- WRX micro:bitを車両で使う その9 サーボモーターの利用(準備編)
- WRX micro:bitを車両で使う その10 サーボモーターの利用(動作編)
- WRX micro:bitを車両で使う その11 可動式雲台を作る(2軸編)
- WRX micro:bitを車両で使う その12 可動式雲台を作る(1軸編)
- WRX micro:bitを車両で使う その13 連続回転サーボモーターの利用
- WRX micro:bitを車両で使う その14 Bluetoothでスマホから操作(データ受信)を行う
- WRX micro:bitを車両で使う その15 LCDパネル(I2C LCD1602・2004)の利用
- WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
- WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
- WRX micro:bitを車両で使う その18 LEDのフォントとスクロールスピードを変える
- WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
- WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
- WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
- WRX micro:bitを車両で使う その22 7セグメントLEDの利用(TM1637ドライバ)
- WRX micro:bitを車両で使う その23 DCモーターを制御する(TB6612FNG・DRV8833)
- WRX micro:bitを車両で使う その24 ステッピングモーターを制御する(ULN2003ドライバ)
- WRX micro:bitを車両で使う その25 micro:bit バージョン2.0を購入(2021年12月 v2.2アナウンスあり)
- WRX micro:bitを車両で使う その26 バージョン2.0で追加されたMakeCodeブロック
- WRX micro:bitを車両で使う その27 バージョン2.0の初期状態と追加された機能
- WRX micro:bitを車両で使う その28 新バージョン(v2.0)のI2C通信
- WRX micro:bitを車両で使う その29 環境モニターを作る(気温・気圧・湿度編)
- WRX micro:bitを車両で使う その30 環境モニターを作る(二酸化炭素・有機化合物編)
- WRX micro:bitを車両で使う その31 環境モニターを作る(LCD表示・動作確認編)
- WRX micro:bitを車両で使う その32 環境モニターを作る(RTCモジュール追加編)
- WRX micro:bitを車両で使う その33 環境モニターを作る(ロギングモジュール追加編)
- WRX micro:bitを車両で使う その34 環境モニターを作る(ログデータ記録編)
- WRX micro:bitを車両で使う その35 車内のCO2濃度と換気について
- WRX micro:bitを車両で使う その36 新バージョン(v2.0)でのI2C通信の問題解決
- WRX micro:bitを車両で使う その37 Microsoft MakeCodeの新バージョン(v4)と新機能データロガー
- WRX micro:bitを車両で使う その38 mp3音声ファイルの再生(DFPlayer Mini)
- WRX micro:bitを車両で使う その39 車速パルス信号から速度を計算する
- WRX micro:bitを車両で使う その40 フルカラーLED(WS2812B)でメーターを作る
- WRX micro:bitを車両で使う その41 フルカラーLEDマトリックス(WS2812B)で時計を作る
- WRX micro:bitを車両で使う その42 フルカラーLEDマトリックス(WS2812B)でピクセルアートアニメーションを作る
「micro:bit+プラレール」も始めました。
その他
FA用PLCとELM327を使用した「OBD2」関連の記事は以下の記事から始まります。
注記
-
- このブログ内で書いている内容はあくまで私の利用する製品(アプリ含む)や機器での場合です。他メーカーの製品や機器をはじめ、同じメーカーの製品・機器であってもバージョン違い等の場合もあるので、記事内容の保証や責任を負う事は出来ません。
- 記事内で紹介している製品や、その他の類似製品を購入・利用する場合はそのメーカーや購入先で仕様等を確認し、自己判断と自己責任の下で利用して下さい。
- 記事内で公開しているmicro:bit用プログラムは自由に利用・改変して頂いて構いません。ただし不具合やバグもありますので、プログラムを利用した際の故障や事故等についての保証や責任を負う事は出来ません。自己判断と自己責任の下で利用して下さい。
- micro:bit製品やプログラミング、その他記事内容について個別の問合せや依頼を頂いても回答する事は出来ませんので、予め御了承下さい。
- BBC micro:bitは、micro:bit教育財団の登録商標です。その他のブランド名または製品名は各所有者の商標です。