Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

CoroFence Detector Térmico: Sensor PIR Avançado & Integração IoT

Componentes e Materiais

ComponenteQuantidade
Panasonic GridEye (AMG8833/AMG885x)1
Sensor PIR (alcance ~7 m)1
Buzzer1
LED RGB1
Arduino Nano 33 IoT1
Bateria Recarregável 3.7V (LiPo)1
Caixa Plástica (Junction Box)1

Aplicativos e Serviços Online

Sobre o Projeto

Crise Global de Pandemia

A OMS recomenda lavagem de mãos, etiqueta respiratória, cozinhar bem carnes/ovos, evitar contato próximo com sintomáticos. Em aeroportos, scanners térmicos detectam possíveis infectados.

Detector Térmico Caseiro

Para continuar trabalhando remotamente com segurança, construa um detector térmico implantável na entrada de casa/lab/escritório para proteger sua zona segura.

Sensores de Entrada

Grid Eye (Panasonic)

Diferente de sensores térmicos pontuais, o Grid-EYE (baseado em tecnologia MEMS da Panasonic) mede a temperatura de uma área inteira sem contato – um array termopilha de 64 pixels (8x8) com lente de silício (60° FoV). Interface I²C, 1 ou 10 frames/s, função de interrupção.

PIR

Gatilho de movimento: detecta pessoa em movimento até ~10 m (5-12 m real). Baixo consumo, lente ampla, fácil interface.

Saídas Visual e Sonora

Testes Finais

Temperatura normal + presença detectada → LED verde.

Mapeamento de cores (exemplo):


if (tempC < 16) setColor(0, 0, 255);       // azul
else if (tempC < 20) setColor(0, 255, 255); // aqua
else if (tempC < 24) setColor(0, 255, 0);   // verde
else if (tempC < 28) setColor(255, 255, 0); // amarelo
else if (tempC < 37) setColor(255, 20, 20); // magenta
else if (tempC < 38) setColor(255, 0, 0);   // vermelho + buzzer

Teste do alarme: use ferro de passar a vapor (descoberto acidentalmente).

Integração IoT

Visualize temperatura em interface NodeJS via serial. Plano futuro: integração com plataforma DasData para modelagem.

Stream ao vivo: dasdata.co/camera

Código: coronafence


#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() {
  char receiveVal;
  if (Serial.available() > 0) {
    receiveVal = Serial.read();
    ledState = (receiveVal == '1') ? 1 : 0;
  }
  val = digitalRead(inputPin);
  if (val == HIGH) {
    if (pirState == LOW) {
      meetime = millis();
      Serial.println("Movimento detectado!");
      pirState = HIGH;
      getHeatmap();
      // Mapeamento de cores (similar ao acima)
      if (tempC < 16) setColor(0, 0, 255);
      else if (tempC < 16) setColor(80, 0, 80); // duplicado no original
      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);
      Serial.println(heatData);
      delay(1500);
    }
  } else {
    if (pirState == HIGH) {
      noTone(buzzPin);
      Serial.println("Movimento finalizado!");
      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("Temperatura alta!");
      setColor(255, 0, 0);
      tone(buzzPin, 1000);
    }
    tempC = grideye.getPixelTemperature(i);
    heatData += String(tempC) + ",";
    previousVal = tempC;
  }
  Serial.println();
}

void setColor(int red, int green, int blue) {
#ifdef COMMON_ANODE
  red = 255 - red; green = 255 - green; blue = 255 - blue;
#endif
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);
}

Código também disponível para Arduino IDE, Visual Studio 2019, NodeJS: GitHub

Esquemático

Imagem da ligação (GridEye I²C, PIR, LED RGB, Buzzer, Arduino Nano 33 IoT, bateria).

Processo de manufatura

  1. Cartão de Visita PCB 4×4 Jogo da Velha Personalizado – Guia de Design, Montagem e Código
  2. Sistema Multi-Posição de Sensores de Temperatura para Integração em Casa Inteligente
  3. Controlador DIY para Ferro de Solda 862D+ — Precisão e Confiabilidade
  4. MotionSense: Detecção Inteligente de Intrusão com Arduino e ESP8266
  5. Prevenção de Incêndio em Impressoras 3D: Sistema de Segurança com Sensor Inteligente
  6. Crie um Medidor IoT Web com Arduino, Yaler e IFTTT
  7. Levitação Magnética Repulsiva com Arduino: Circuito Simples e Guia DIY
  8. Robô Garra Controlado Remotamente para Manipulação de Precisão
  9. Registrador de Dados de Balão Meteorológico Arduino de Alto Desempenho
  10. ArduFarmBot Parte 2: Construindo uma Estação de Controle IoT Remota