工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視

必要な部品と材料

部品数量備考
Panasonic Grid-EYE (AMG8833等)18×8ピクセル サーモパイルアレイ
PIRセンサー(検知距離7m)1人体検知トリガー用
ブザー1高温警報用
RGB LED1温度帯表示用
Arduino Nano 33 IoT1Wi-Fi/Bluetooth内蔵
LiPoバッテリー 3.7V1
プラスチックジャンクションボックス1筐体用

使用アプリ・オンラインサービス

プロジェクト概要

背景:パンデミック下での体温スクリーニング

WHOは感染拡大防止として「手洗い、咳エチケット、十分な加熱調理、呼吸器症状者との接触回避」を推奨。空港等でのサーマルスキャナー設置が一般化する中、自宅/オフィス/研究室の入り口に簡易導入できる体温検知デバイスを自作しました。

入力センサー

Grid-EYE(非接触8×8サーモパイルアレイ)

従来の単点温度センサーと異なり、MEMS技術で非接触でエリア全体の温度分布を測定。64ピクセル、視野角60°、I²C通信、1/10fps、割り込み機能搭載。1.5mで人体検知、5-7mでターゲット捕捉可能。

PIRセンサー

約10m(実測5-12m)で人体動作を検知。Grid-EYEの測定トリガーとして併用します。低消費電力、広角レンズ、簡単インターフェースが特長。

出力:視覚・音響フィードバック

筐体への組み込み

センサー類をジャンクションボックスに収め、窓から検知面を露出させます。
CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視

テスト結果

正常時は緑LED点灯。スチームアイロンで擬似高温テストを行い、赤LED点灯とブザー警報を確認。
CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視 CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視

データ可視化・拡張

Node.jsターミナルアプリでシリアル経由の温度マップをリアルタイム表示可能。将来的にはDasDataプラットフォームと連携し、データ蓄積・モデリングを予定。
ライブストリーム:https://dasdata.co/camera/

ソースコード

#include <Wire.h>
#include <SparkFun_GridEYE_Arduino_Library.h>

GridEYE grideye;
String heatData;
int ledState;
unsigned long meetime;
uint16_t seconds = 3142;
int bluePin = 8, greenPin = 9, redPin = 10, buzzPin = 11;
int inputPin = 12;  // PIR入力
int pirState = LOW, val = 0;
float tempC;

void setup() {
  pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT); pinMode(buzzPin, OUTPUT);
  pinMode(inputPin, INPUT);
  Wire.begin();
  grideye.begin();
  Serial.begin(115200);
}

void loop() {
  // シリアルコマンドでLED有効/無効切替('1'で有効)
  if (Serial.available() > 0) {
    char c = Serial.read();
    ledState = (c == '1') ? 1 : 0;
  }

  val = digitalRead(inputPin);
  if (val == HIGH) {
    if (pirState == LOW) {
      meetime = millis();
      Serial.println("Motion detected!");
      pirState = HIGH;
      getHeatmap();
      // 温度帯別LED制御
      if (tempC < 16) setColor(0, 0, 255);
      else if (tempC < 20) setColor(0, 255, 255);
      else if (tempC < 24) setColor(0, 255, 0);
      else if (tempC < 28) setColor(255, 255, 0);
      else if (tempC < 37) setColor(255, 20, 20);
      else { setColor(255, 0, 0); tone(buzzPin, 1000); }
      Serial.println(heatData);
      delay(1500);
    }
  } else {
    if (pirState == HIGH) {
      noTone(buzzPin);
      Serial.println("Motion ended!");
      setColor(0, 0, 0);
      meetime = 0;
      pirState = LOW;
    }
  }
}

void getHeatmap() {
  heatData = "";
  float previousVal = 0;
  for (unsigned char i = 0; i < 64; i++) {
    if (previousVal > 37) {
      Serial.println("High temperature!");
      setColor(255, 0, 0);
      tone(buzzPin, 1000);
    }
    tempC = grideye.getPixelTemperature(i);
    heatData += String(tempC) + ",";
    previousVal = tempC;
  }
  Serial.println();
}

void setColor(int r, int g, int b) {
  #ifdef COMMON_ANODE
  r = 255 - r; g = 255 - g; b = 255 - b;
  #endif
  analogWrite(redPin, r);
  analogWrite(greenPin, g);
  analogWrite(bluePin, b);
}

完全版コード・Node.js可視化アプリ:GitHub

回路図

CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視

製造プロセス

  1. 名刺サイズPCBで作る4×4三目並べゲーム - 設計・製作・プログラミングガイド
  2. スマートホーム連携向けマルチポジション温度センサーシステム
  3. 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
  4. MotionSense: ArduinoとESP8266で作るスマート侵入検知システム
  5. 3Dプリンター火災予防:スマートセンサーセーフティシステム
  6. Arduino、Yaler、IFTTTでWeb対応IoTゲージを構築する
  7. Arduinoで作る斥力式磁気浮上装置: シンプル回路とDIYガイド
  8. 高度なリモートコントロールグリッパーロボット: 精密ハンドリング向け
  9. 高性能 Arduino 気象観測気球データロガーの製作ガイド
  10. ArduFarmBot Part 2:リモートIoT制御ステーションの構築
  11. Arduino Nanoで作る8×8 LEDマトリックスのフリップクロック - 自作リアルタイムクロック