非接触温度スクリーニングゲート:Arduino MKR1000で迅速・高精度な検温
必要な部品と用品
| Arduino MKR1000 | ×1 |
| DFRobot非接触IR温度センサー(MLX90614) | ×1 |
| SG90マイクロサーボモーター | ×1 |
| ジャンパーワイヤー | ×1式 |
必要な工具
- グルーガン
- はんだごて
使用アプリ・オンラインサービス
- Arduino IDE
- Microsoft Visual Studio Code Extension for Arduino
プロジェクト概要
ゲートを通過する人の体温を非接触で測定し、37.2℃(99°F)以上の場合は自動的にゲートを閉じて入場を拒否し、警告ブザーを鳴らすシステムです。

説明
通常時はゲートを開放。高温(99°F以上)を検知するとサーボモーターでゲートを閉鎖し、ブザーで警告します。COVID-19対策として、バス停、病院、レストラン、空港、スーパー、ショッピングモールなどでの導入に適しています。サーマルカメラに比べ実装コストが安価です。

部品表(BOM)
- IR温度センサー(MLX90614)
- サーボモーター
- マイクロコントローラ(Arduino MKR1000)
- PVCシート/ボード
- ジャンパーワイヤー
- カッターナイフ
- 接着剤
プロトタイプはPVCシートで制作。ゲート上部中央に温度センサーを設置、マイコンとブザーは横に配置。サーボモーターでゲートの開閉を行います。
回路図

デモ
(動画デモは元記事参照)
結論
自動温度スクリーニングゲートを提案しました。人体温度のチェックに有用です。
スケッチ(コード)
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include <Servo.h>
Servo myservo;
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
double temp;
int b = 2; // ブザーピン
void setup() {
Serial.begin(115200);
Serial.println("Adafruit MLX90614 test");
pinMode(b, OUTPUT);
myservo.attach(5); // MKR1000のピン5
myservo.write(0); // ゲート開放位置
mlx.begin();
}
void loop() {
digitalWrite(b, HIGH); // ブザーOFF
myservo.write(0); // ゲート開放
temp = mlx.readObjectTempF(); // 華氏で読み取り
if (temp > 90) { // 閾値(実際は99°F推奨)
Serial.println("HIGH TEMPERATURE");
digitalWrite(b, LOW); // ブザーON
myservo.write(95); // ゲート閉鎖
delay(1000);
}
Serial.print(temp);
Serial.println("*F");
Serial.println();
delay(500);
}
回路図(詳細)
製造プロセス
- Raspberry PiとDS18B20によるプロフェッショナルな温度監視
- Raspberry Piでサーバークローゼットの温度を正確に監視
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- Arduinoで温湿度ロガーを作る – DHT11とEthernetシールドでSDカード記録
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
- ゲーム用カスタムArduinoジョイスティックハンドルの製作
- 学校向けスマート体温監視システム: 正確、リアルタイム、安全