Arduino×Pybadge×LEGOを使って非接触式体温計を作ってみた
必要な部品
今回は、非接触式温度計を作ってみました。教室でPybadgeが余っていたため、PybadgeとArduinoで作っています。まず、今回使った部品を紹介します。非接触温度センサ(MLX90614搭載)とAdafruiteのPyBadgeです。どちらもスイッチサイエンスさんで購入しました。
![e44bb0d8-5c69-450d-a773-1f677460bff9](https://digilab.tech/materials/wp-content/uploads/2021/08/e44bb0d8-5c69-450d-a773-1f677460bff9-1-150x150.jpg)
M5Stack用非接触温度センサユニット
![610525b4-5d04-4945-87b2-e5d5c20f7e59](https://digilab.tech/materials/wp-content/uploads/2021/08/610525b4-5d04-4945-87b2-e5d5c20f7e59-300x300.jpg)
Adafruit PyBadge for MakeCode Arcade, CircuitPython or Arduino
つなげてみよう
配線はとても簡単です。温度センサもPyBadgeもGROVE互換と呼ばれる配線方式をもっていますのでお互いの端子をつなげるだけです。その他に電源として電池ボックスをつなげています。
![DSC_7856](https://digilab.tech/materials/wp-content/uploads/2021/08/DSC_7856-1024x683.jpg)
PyBadgeの設定
今回はセンサの接続をしやすいことからArduinoでプログラミングをすることとしました。
Arduinoを入れるのに設定がいくつか必要ですので紹介いたします。
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-settei](https://digilab.tech/materials/wp-content/uploads/2021/08/arduino-settei.png)
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 を選択します。
![adafruit_products_boardmanager](https://digilab.tech/materials/wp-content/uploads/2021/08/adafruit_products_boardmanager.png)
以下、2つをインストールします。
![adafruit_products_arduinosamd162](https://digilab.tech/materials/wp-content/uploads/2021/08/adafruit_products_arduinosamd162.png)
![adafruit_products_adafruitsamd](https://digilab.tech/materials/wp-content/uploads/2021/08/adafruit_products_adafruitsamd.png)
PCとPyBadgeをUSBでつなげてから
Tool > Port でUSBポートを選択してください。
![adafruit_Blink_USB](https://digilab.tech/materials/wp-content/uploads/2021/08/adafruit_Blink_USB.png)
2. アーケード用のライブラリをインストールする。
https://learn.adafruit.com/adafruit-pybadge/arcada-libraries
Skeetch > Include Library > Manage Libraries を開き必要なライブラリをいれます。
厳密に必要なライブラリがわからないので上記サイトに挙げれている関係そうなライブラリすべて入れましょう。
![arduino_Library](https://digilab.tech/materials/wp-content/uploads/2021/08/arduino_Library.png)
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