CoroFence - Detector Térmico🖖
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
| ||||
|
Sobre este projeto
Crise Pandêmica Global Atual
Como a Organização Mundial da Saúde (OMS) recomenda, para prevenir a propagação da infecção, inclui "lavar as mãos regularmente, cobrir a boca e o nariz ao tossir e espirrar, cozinhar bem a carne e os ovos. Evite o contato próximo com qualquer pessoa que apresente sintomas de doenças respiratórias, como tosse e espirros".
Tornou-se prática comum, ao viajar pelos aeroportos, ter scanners térmicos para descobrir possíveis viajantes infectados.
Detector térmico caseiro
Embora sejamos desafiados a continuar nosso trabalho remotamente como camada de proteção na situação atual, devemos evitar entrar em contato com outras pessoas até que a situação esteja sob controle.
A ideia principal é construir um detector de câmera térmica que possa ser facilmente implantado fora de sua casa / laboratório / escritório / lançadeira ... para que você possa estar protegido em sua zona segura.
Sensores de entrada
- Grid Eye
"Ao contrário dos sensores térmicos convencionais que medem apenas a temperatura de um determinado ponto de contato, o Grid-EYE, com base na tecnologia MEMS da Panasonic, pode medir a temperatura de toda a área especificada sem qualquer contato ; em outras palavras, é um “sensor de matriz de termopilha sem contato”. 64 pixels fornecem medição de temperatura precisa em um ângulo de visão de 60 ° fornecido por uma lente de silicone. O Grid-EYE usa uma interface de comunicação I²C, permitindo medições de temperatura em velocidades de 1 ou 10 frames / seg. Uma função de interrupção também está disponível. "
- Dimensões:11,6 x 4,3 x 8,0 mm (C x A x L)
- Tensão de operação:3,3 V ou 5,0 V (depende do P / N)
- Faixa de temperatura do objeto de medição:-20 ° C a 100 ° C (depende do P / N)
- Campo de visão (FoV):60 °
- Número de pixels:64 (vertical 8 x horizontal 8)
- Interface externa:I²C (modo rápido)
- Taxa de quadros:10 quadros / s ou 1 quadro / s
O que torna este sensor perfeito para detecção humana a partir de 1,5 metros e tem um alvo em até 5/7 metros.
- PIR
Precisamos também de um gatilho porque também queremos ativar a câmera térmica quando o movimento for detectado. Portanto, um sensor PIR é a escolha perfeita.
"O sensor PIR detecta um ser humano se movendo a aproximadamente 10 m do sensor. Este é um valor médio, já que a faixa de detecção real está entre 5m e 12m. Os PIR são fundamentalmente feitos de um sensor pirelétrico, que pode detectar níveis de radiação infravermelha . Para vários projetos ou itens essenciais que precisam descobrir quando um indivíduo saiu ou entrou na área. Os sensores PIR são incríveis, são de controle plano e esforço mínimo, têm um amplo alcance de lentes e são simples de interface. "
Adicione as coisas conforme abaixo:
Quando a conectividade for concluída (consulte o diagrama abaixo), prepare a caixa para os sensores de entrada da seguinte forma:
Saída visual e sonora
- RGB LEED
Gostaríamos de obter feedback instantâneo de temperatura com um LED RGB básico que será programado para mostrar algumas cores conforme entrarmos na câmera térmica.
- Campainha
Quando a temperatura ultrapassa os 37 ° C normais, iniciamos um alarme sonoro para notificá-lo sobre possíveis perigos.
Testes finais:
Enquanto a temperatura está normal e a presença é detectada, então mostramos uma luz verde
// cores diferentes podem ser estabelecidas
if (tempC <16) {
setColor (0, 0, 255); // azul
} else if (tempC <15) {
setColor (80, 0, 80); // ciano
} else if (tempC <30) {
setColor (0, 255, 255); // aqua
} else if (tempC <36) {
setColor (0, 255, 0); // verde
} else if (tempC <38) {
setColor (255, 255, 0); // amarelo
} else if (tempC <39) {
setColor (255, 20, 20); // magenta
}
Para acionar o alarme sonoro e a cor vermelha, teste-o adequadamente usando um ferro a vapor para roupas, como descobriu acidentalmente mais tarde ao fazer algumas coisas domésticas.
Viva muito e prospere
Alternativamente, você pode visualizar a temperatura em uma interface NodeJS e obter os dados do seu Arduino na conexão serial com este aplicativo de terminal.
O plano adicional é estender a integração de dados com a plataforma das e iniciar a modelagem.
Siga a transmissão ao vivo em @dasData
https://dasdata.co/camera/
Espero que você esteja seguro onde quer que esteja neste período da Galáxia!
Código
- coronafence
coronafence C / C ++
#include#include GridEYE grideye; String heatData; int ledState; unsigned long meetime; uint16_t segundos =3142; // max ==65535int bluePin =8; int greenPin =9; int redPin =10; int buzzPin =11; // escolha o pino para o LEDint inputPin =12; // escolha o pino de entrada (para sensor PIR) int pirState =LOW; // começamos, assumindo que nenhum movimento foi detectadoint val =0; // variável para ler o pino statusfloat tempC; void setup () {pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); pinMode (buzzPin, OUTPUT); // declara LED como saída pinMode (inputPin, INPUT); // declara o sensor como entrada // Inicie seu objeto I2C preferido Wire.begin (); // A biblioteca assume "Wire" para I2C, mas você pode passar outra coisa com begin () se desejar grideye.begin (); Serial.begin (115200); } void loop () {char receiveVal; if (Serial.available ()> 0) {receiveVal =Serial.read (); if (receiveVal =='1') {ledState =1; } else ledState =0; } val =digitalRead (inputPin); // ler o valor da entrada if (val ==HIGH) {// verificar se a entrada é HIGH // digitalWrite (ledPin, HIGH); // liga o LED if (pirState ==LOW) {meetime =millis (); Serial.println ("Movimento detectado!"); // Queremos apenas imprimir na alteração da saída, não no estado pirState =HIGH; getHeatmap (); if (tempC <16) {setColor (0, 0, 255); // azul} else if (tempC <16) {setColor (80, 0, 80); // ciano} 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} // lê os bytes que chegam do cliente:// char thisChar =client.read (); // echo os bytes de volta para o cliente:// char msg [10] =""; Serial.println (heatData); atraso (1500); }} else {// digitalWrite (ledPin, LOW); // desligue o LED if (pirState ==HIGH) {// acabamos de desligar o noTone (buzzPin); // Parar o som ... Serial.println ("Movimento finalizado!"); setColor (0, 0, 0); // nenhum encontro =0; // Queremos apenas imprimir na alteração da saída, não no estado pirState =LOW; }}} void getHeatmap () {// Imprime o valor da temperatura de cada pixel em graus Celsius de ponto flutuante // separado por vírgulas heatData =""; float previousVal =0; for (unsigned char i =0; i <64; i ++) {if (previousVal> 37) {// acabamos de ligar Serial.println ("Alta temperatura!"); setColor (255, 0, 0); // tom vermelho (buzzPin, 1000); // Envia sinal de som de 1 KHz ...} tempC =grideye.getPixelTemperature (i); heatData + =tempC + String (","); anteriorVal =tempC; } // Termina cada quadro com um avanço de linha Serial.println (); // Dê tempo de processamento para mastigar} void setColor (int vermelho, int verde, int azul) {#ifdef COMMON_ANODE red =255 - red; verde =255 - verde; azul =255 - azul; #endif analogWrite (redPin, vermelho); analogWrite (greenPin, verde); analogWrite (bluePin, azul); }
coronafence
Código para Arduino IDE, Visual Studio 2019, NodeJS https://github.com/dasdata/coronafenceEsquemas
Processo de manufatura
- Cartão de visita do jogo Tic Tac Toe
- Sensor de temperatura múltipla
- Controle de ferro de solda DIY para 862D +
- MotionSense
- Impressora 3D Segurança contra incêndio
- IoT Gauge com Arduino, Yaler e IFTTT
- Levitação eletromagnética repulsiva Arduino
- Controle Remoto Gripper Bot
- Registrador de dados do balão meteorológico Arduino
- ArduFarmBot - Parte 2:Estação Remota e Implementação IoT