Android連携の低コスト携帯型非接触体温計(MLX90614+Arduino Nano)
必要なパーツと材料
| パーツ | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| MLX90614 非接触赤外線温度センサー | 1 | I2C通信 |
必要なツール
- はんだごて、鉛フリーはんだ
使用アプリ
- Portable Thermometer(Google Playストア)
ダウンロードリンク
プロジェクト概要
市販のサーモガンが高騰したため、低予算で自作する非接触体温計。Arduino NanoとMLX90614をOTGケーブルでAndroidスマートフォンに接続し、専用アプリで測定・表示します。
ハードウェア接続
MLX90614はI2C通信のため、Arduino NanoのA4(SDA)、A5(SCL)に接続。3Dプリントケース(GrabCADで公開)に収納し、OTGアダプター(Micro USBオス - Mini USBオス自作可)でスマホ接続。
ソフトウェア準備
- Arduino IDEでライブラリマネージャーから「Adafruit MLX90614 Library」をインストール
- サンプルスケッチ「mlxtest」で動作確認(シリアルモニターで周囲温度と物体温度が表示されるか確認)
- 本番用スケッチを書き込み
Androidアプリの使用方法
- OTGケーブルでデバイスをスマホに接続
- スマホのOTG設定を有効化
- アプリ起動 → 「Check Now」で測定開始
Arduinoコード
/* MLX90614 OTG送信プログラム
* sekolahrobot@gmail.com
*/
#define LED 13
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
unsigned long previousMillis;
int interval = 50;
char cmd;
int data = 0;
void setup() {
Serial.begin(9600);
mlx.begin();
pinMode(LED, OUTPUT);
}
void loop() {
// スマホからのコマンド受信('1'で測定開始、'0'で停止)
if (Serial.available() > 0) {
cmd = Serial.read();
switch (cmd) {
case '0':
digitalWrite(LED, LOW);
data = 0;
break;
case '1':
digitalWrite(LED, HIGH);
data = 1;
break;
}
}
// 測定モード時、50ms間隔で温度送信
if (data == 1) {
if (millis() - previousMillis >= interval) {
previousMillis = millis();
Serial.print(mlx.readAmbientTempC()); // 周囲温度
Serial.print(";");
Serial.println(mlx.readObjectTempC()); // 物体温度(体温)
}
}
}
3Dプリントケース

本体ケースと蓋の2ピース構成。GrabCADからSTLダウンロード可能。
回路図

注意事項
このデバイスは医療機器認証を受けていません。緊急時の代替手段として、または予防的モニタリング用途に限定してご使用ください。測定精度は医療用機器ほど高くありません。
製造プロセス
- 携帯トイレの歴史、設計、環境への影響
- 温度計:ガリレオの温度スコープから現代デジタルセンサーまで
- Node-REDで作るDIY Nest風スマートサーモスタット(Raspberry Piベース)
- アナログセンサー搭載・高精度圧力&気流測定デバイス
- デバイス管理:スマートメーターを数百万台規模で展開
- E3.cableでコネクタ挿入部品を最適配置:パフォーマンス向上の極意
- 1325 マルチヘッド 8スピンドルCNCルーター(カスタム旋盤装置付き)
- Bluetooth Mesh向け適切なデバイス選定:ハードウェア、ソフトウェア、アプリ要件の実践ガイド
- 携帯デバイスで食品中の有害大腸菌を現場検出:バイオルミネセンス活用
- C言語のmalloc()完全ガイド:実践例で理解する動的メモリ割り当て
- C言語のcalloc():ゼロ初期化メモリ割り当てと実践例