この記事はmicro:bit Advent Calendarに気づいた 12/31 に執筆し、後から 「micro:bit Advent Calendar 2019 - Qiita」の 25日目 へと登録した記事です。
解像度は荒いですが、micro:bitでサーモグラフィーを作成してみました。
使用したセンサはこちら。
このセンサの測定エリアはセンサ正面(上下左右約60度)の四角錘で、このエリア内を8x8ピクセルに分割した2次元画像が得ることができます。
取得した温度をもとに色を決定し、8x8に配置したNeoPixel互換LEDテープを光らせることでサーモグラフィーとします。
ハード構成の詳細については次のツイートの動画にまとめています。
2019年3月に思いつきで作成し、最終的に次のプログラムに落ち着きました。
センサの初期化、値を取得する部分はArduino用のサンプルプログラムを参考に実装(移植?)しました。
LEDの色はHSL()使用し、温度から色相・彩度・輝度を操作して決定しています。
- 20度から30度は色相を変化させる。 20度:青-->水色-->緑-->黄色-->橙-->赤:30度
- 30度超は、赤色のまま彩度を操作し、35度で黒
- 20度未満は、青色のまま輝度を操作し、10度で白
(上のプログラムのコメントには誤りがありました)
センサを表向き、裏向きに入れ替えた場合、LEDの左右の並びを逆にする必要がありますが、Aボタンで切り替えできます。
また、色では10度から35度までしか区別できないため、Bボタンを押した際にはその時の計測温度の最大値・最小値をmicro:bit本体のLEDに表示します。