Help us understand the problem. What is going on with this article?

来場者非接触検温装置 micro:bit+Scratch

はじめに

 先日、作った「micro:bitとMLX90614で非接触体温計」。測定結果を音と共にPCのディスプレイに大きく表示する装置をScratchと組み合わせて作ってみました。
sokutei.jpg

注意事項

あくまでも試作になります。
実際に運用して、誤検出によりクラスターが発生しても責任は取れません。

仕様

  • 補正
    • 初めにだけ1度行います
    • 予め一般の体温計で自身の体温を測定します
    • センサーを自身の額に当てます(1cm程度離す)
    • micro:bitのBボタンを押すと体温を測定した上で一般の体温計で測った値を質問します
    • 一般の体温計で測った値を入力し、誤差を補正値として記憶します
  • 測定
    • センサーを被験者の額に当てます(1cm程度離す)
    • micro:bitのAボタンで測定開始
    • 補正を加えた上で37.5度以上の場合は×。未満の場合は○を効果音と共に表示します。 体温測定結果.jpg

仕組み

 Scratch3.0標準のmicro:bit拡張では、I2Cで取得した値をScratchに渡す事が出来ません。そこで、Yengawa LabのMicrobit Moreを使います。
 Micro:bit More にはslotという機能があり、MakeCode上で、独自の計測値をScrachに渡すプログラムを書く事が出来ます。ただ、前回使ったMakeCode用機能拡張 https://github.com/DoraLC/pxt-MLX90614 は、入れようとするとMicrobit Moreが必須としているBluetooth拡張とコンフリクトを起こすようです。対策として今回は、pxt-MLX90614は使わずに直接I2Cを叩きます。
 また、体温を小数点第一位まで表示したかったので、温度を10倍してslotに渡し、Scratch側で1/10にする事にしました。

用意する物・配線・ボディ

 micro:bitとMLX90614で非接触体温計を参照願います。なお、コードレスにしたい場合はmicro:bit用の電池ボックスが必要となります。

micro:bit側のプログラム

  1. Microbit Moreのファームウェア scratch-microbit-more-0.3.2 をMakeCodeで開きます。
  2. MLX90614の値をslot0に書き込むプログラムを作成します。500msの一時停止は無くても動作しますが、長時間運用すると動作が不安定になるケースがあったため入れてみました。 microbit-画面コピー.png https://makecode.microbit.org/_FLie6gTkih9U
  3. 作ったプログラムをmicro:bitにダウンロードします。

Scartch3.0側のプログラム

  1. Micro:bit More専用のScratch3.0サイト https://yokobond.github.io/scratch-ext/microbit-more/ にアクセスします
  2. Scratch Link(Scratch3.0がmicro:bit拡張用として標準で提供されている物)を起動し micro:bitをBluetoothで接続します。
  3. 仕様に従い、以下のようなプログラムを組みます。

scratch検温.jpg
https://www.dropbox.com/s/i6tvbktb89mewe2/noncontact_thermometer.sb3

動作確認

  1. まずは補正を行います
  2. 被験者の額に当てて検温を行います

非接触体温計の宿命だと思いますが、実測値はかなりずれる事が判ります。

おわりに

繰り返しになりますが、あくまでも試作になります。
実際に運用して、誤検出によりクラスターが発生しても責任は取れません。
仮に運用する場合は、自己責任でお願いします。
また、新型コロナウイルスは発熱の無い感染者も多くいるそうなので、測定する事自体がどこまで意味があるかは不明です。
やらないよりやった方がマシという事ですね。

asondemita
CoderDojo守谷、CoderDojoつくばで子供達にプログラミングの楽しさに気づいてもらう活動をしています
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした