Arduino×Pybadge×LEGOを使って非接触式体温計を作ってみた

2021年08月30日 | ALL, Arduino

必要な部品

今回は、非接触式温度計を作ってみました。教室でPybadgeが余っていたため、PybadgeとArduinoで作っています。まず、今回使った部品を紹介します。非接触温度センサ(MLX90614搭載)とAdafruiteのPyBadgeです。どちらもスイッチサイエンスさんで購入しました。

M5Stack用非接触温度センサユニット

https://www.switch-science.com/catalog/5220/

Adafruit PyBadge for MakeCode Arcade, CircuitPython or Arduino

https://www.switch-science.com/catalog/6230/

つなげてみよう

配線はとても簡単です。温度センサもPyBadgeもGROVE互換と呼ばれる配線方式をもっていますのでお互いの端子をつなげるだけです。その他に電源として電池ボックスをつなげています。

PyBadgeの設定

今回はセンサの接続をしやすいことからArduinoでプログラミングをすることとしました。
Arduinoを入れるのに設定がいくつか必要ですので紹介いたします。

ArduinoのPC側の設定をしてみよう

Arduinoで開発をしたことない人は、まずPCにArduino開発環境をつくろう。

インストールしたArduino IDEの設定をしよう。以下、Adafruitが公開している手順に沿っています。
https://learn.adafruit.com/adafruit-pybadge/setup

以下の設定をAdditional Boards Managerに加えます。
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json

Arduino IEDでPyPadgeを使うために必要なライブラリをいれる

Adafruitが公開している手順にしたがってその他IDEに必要なライブラリ類をインストールします。
1. ArduinoIEDに以下のサイトの手順にそってSAMDをインストールする。
https://learn.adafruit.com/adafruit-pybadge/using-with-arduino-ide

Tool > Board: “Arduino/Genuino Uno” > Bords Manager を選択します。

以下、2つをインストールします。

PCとPyBadgeをUSBでつなげてから
Tool > Port でUSBポートを選択してください。

2. アーケード用のライブラリをインストールする。
https://learn.adafruit.com/adafruit-pybadge/arcada-libraries
Skeetch > Include Library > Manage Libraries を開き必要なライブラリをいれます。
厳密に必要なライブラリがわからないので上記サイトに挙げれている関係そうなライブラリすべて入れましょう。

3. テストプログラムを動かしてみよう
https://learn.adafruit.com/adafruit-pybadge/arduino-test

作ったプログラムをPyBadgeにダウンロードするには、PyBadgeのリセットボタンをタブルクリックするとダンロードできる状態になります。

プログラム

このプログラムは、センサーのみで手が近づいたことを検知するようにしています。もっと精度を確保したい場合は、距離センサーなどをつけて適切な距離まで近づいた場合に計測を始めるようにしましょう。
【プログラム説明】
1. センサの検出温度が一定上になった場合、検温開始
2.全部で5回数値をセンサから取得する
3.体温を取得するたびにディスプレイ下のLEDの色を一つづつ変更する
4. 取得した数値にソートをかけ真ん中3つのデータの平均値を画面に表示
5. 画面と表示と同時に音を流す

以下のサイトを参考にさせていただきました。
http://blog.livedoor.jp/ktkt_91st/archives/1020073547.html

Microbitで作りたい場合は以下のサイトが役立ちます
https://qiita.com/asondemita/items/0ddafceb2b8b4ac95c20