CoroFence - Detector térmico🖖
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicaciones y servicios en línea
| ||||
|
Acerca de este proyecto
Crisis pandémica mundial actual
Como recomienda la Organización Mundial de la Salud (OMS), para prevenir la propagación de infecciones se incluye "lavarse las manos con regularidad, cubrirse la boca y la nariz al toser y estornudar, cocinar bien la carne y los huevos. Evitar el contacto cercano con cualquier persona que muestre síntomas de enfermedades respiratorias como tos y estornudos".
Se convirtió en una práctica común al viajar por los aeropuertos tener escáneres térmicos para descubrir posibles viajeros infectados.
Detector térmico casero
Si bien tenemos el desafío de continuar nuestro trabajo de forma remota como capa de protección en la situación actual, debemos evitar el contacto con otros hasta que la situación esté bajo control.
La idea principal es construir un detector de cámara térmica que se pueda implementar fácilmente fuera de su casa / laboratorio / oficina / transporte ... para que pueda estar protegido en su zona segura.
Sensores de entrada
- Grid Eye
"A diferencia de los sensores térmicos convencionales que solo miden la temperatura de un determinado punto de contacto, Grid-EYE, basado en la tecnología MEMS de Panasonic, puede medir la temperatura de toda el área especificada sin ningún contacto ; en otras palabras, es un "sensor de matriz de termopila sin contacto". 64 píxeles producen una medición de temperatura precisa en un ángulo de visión de 60 ° proporcionado por una lente de silicona. Grid-EYE utiliza una interfaz de comunicación I²C, que permite mediciones de temperatura a velocidades de 1 o 10 fotogramas / seg. También está disponible una función de interrupción. "
- Dimensiones:11,6 x 4,3 x 8,0 mm (largo x alto x ancho)
- Voltaje de funcionamiento:3.3V o 5.0V (depende de P / N)
- Rango de temperatura del objeto de medición:-20 ° C a 100 ° C (depende del P / N)
- Campo de visión (FoV):60 °
- Número de píxeles:64 (vertical 8 x horizontal 8)
- Interfaz externa:I²C (modo rápido)
- Velocidad de fotogramas:10 fotogramas / seg. o 1 fotograma / seg.
Lo que hace que este sensor sea perfecto para la detección humana desde 1,5 metros y tiene un objetivo de hasta 5/7 metros.
- PIR
También necesitamos un disparador porque también queremos activar la cámara térmica cuando se detecta movimiento. Por lo tanto, un sensor PIR es la elección perfecta.
"El sensor PIR detecta un ser humano que se mueve dentro de aproximadamente 10 m del sensor. Este es un valor promedio, ya que el rango de detección real está entre 5 my 12 m. Los PIR están hechos fundamentalmente de un sensor piroeléctrico, que puede detectar niveles de radiación infrarroja. . Para numerosos proyectos o elementos esenciales que necesitan descubrir cuándo una persona se ha ido o ingresado al área. Los sensores PIR son increíbles, tienen un control plano y un esfuerzo mínimo, tienen una amplia gama de lentes y son fáciles de conectar. "
Suma las cosas como se muestra a continuación:
A medida que se completa la conectividad (consulte el diagrama a continuación), prepare la caja para los sensores de entrada de la siguiente manera:
Salida visual y sonora
- RGB LEED
Nos gustaría obtener información instantánea sobre la temperatura con un LED RGB básico que se programará para mostrar algunos colores a medida que ingresemos a la cámara térmica.
- Zumbador
Cuando la temperatura supera los 37 ° C normales, activamos una alarma sonora para avisarle de posibles peligros.
Pruebas finales:
Mientras la temperatura es normal y se detecta presencia, mostramos una luz verde
// se pueden establecer diferentes colores
if (tempC <16) {
setColor (0, 0, 255); // azul
} else if (tempC <15) {
setColor (80, 0, 80); // cian
} else if (tempC <30) {
setColor (0, 255, 255); // agua
} else if (tempC <36) {
setColor (0, 255, 0); // verde
} else if (tempC <38) {
setColor (255, 255, 0); // amarillo
} else if (tempC <39) {
setColor (255, 20, 20); // magenta
}
Para activar la alarma sonora y el color rojo, pruébelo correctamente con una plancha de vapor para la ropa, como se descubrió más tarde mientras hacía algunas cosas domésticas.
Viva mucho y prospere
Alternativamente, puede ver la temperatura en una interfaz NodeJS y obtener los datos de su Arduino en una conexión en serie con esta aplicación de terminal.
El plan adicional es extender la integración de datos con la plataforma das y comenzar a modelar.
Siga la transmisión en vivo en @dasData
https://dasdata.co/camera/
¡Espero que estés a salvo donde sea que estés en este período en el Galaxy!
Código
- corona cerca
corona cerca C / C ++
#include#include GridEYE grideye; String heatData; int ledState; tiempo de reunión largo sin firmar; uint16_t segundos =3142; // max ==65535int bluePin =8; int greenPin =9; int redPin =10; int buzzPin =11; // elige el pin para el LEDint inputPin =12; // elija el pin de entrada (para sensor PIR) int pirState =LOW; // empezamos, asumiendo que no se detecta movimientoint val =0; // variable para leer el pin statusfloat tempC; configuración vacía () {pinMode (redPin, SALIDA); pinMode (greenPin, SALIDA); pinMode (bluePin, SALIDA); pinMode (buzzPin, SALIDA); // declara LED como salida pinMode (inputPin, INPUT); // declara el sensor como entrada // Inicia tu objeto I2C preferido Wire.begin (); // La biblioteca asume "Wire" para I2C pero puede pasar algo más con begin () si le gusta grideye.begin (); Serial.begin (115200); } bucle vacío () {char ReceiveVal; if (Serial.available ()> 0) {ReceiveVal =Serial.read (); if (ReceiveVal =='1') {ledState =1; } else ledState =0; } val =digitalRead (inputPin); // lee el valor de entrada if (val ==HIGH) {// comprueba si la entrada es HIGH // digitalWrite (ledPin, HIGH); // enciende el LED if (pirState ==LOW) {meetime =millis (); Serial.println ("¡Movimiento detectado!"); // Solo queremos imprimir en el cambio de salida, no en el estado pirState =HIGH; getHeatmap (); si (tempC <16) {setColor (0, 0, 255); // azul} else if (tempC <16) {setColor (80, 0, 80); // cian} 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); // amarillo} else if (tempC <37) {setColor (255, 20, 20); // magenta} // lee los bytes entrantes del cliente:// char thisChar =client.read (); // enviar los bytes al cliente:// char msg [10] =""; Serial.println (heatData); retraso (1500); }} else {// digitalWrite (ledPin, LOW); // apaga el LED if (pirState ==HIGH) {// acabamos de apagar noTone (buzzPin); // Detener el sonido ... Serial.println ("¡Movimiento finalizado!"); setColor (0, 0, 0); // ninguna hora de encuentro =0; // Solo queremos imprimir en el cambio de salida, no en el estado pirState =LOW; }}} void getHeatmap () {// Imprime el valor de temperatura de cada píxel en grados Celsius de coma flotante // separados por comas heatData =""; float previousVal =0; for (unsigned char i =0; i <64; i ++) {if (previousVal> 37) {// acabamos de activar Serial.println ("¡Alta temperatura!"); setColor (255, 0, 0); // tono rojo (buzzPin, 1000); // Enviar señal de sonido de 1KHz ...} tempC =grideye.getPixelTemperature (i); heatData + =tempC + String (","); previousVal =tempC; } // Termina cada cuadro con un salto de línea Serial.println (); // Dar tiempo de procesamiento para masticar} void setColor (int red, int green, int blue) {#ifdef COMMON_ANODE red =255 - red; verde =255 - verde; azul =255 - azul; #endif analogWrite (redPin, rojo); analogWrite (greenPin, verde); analogWrite (bluePin, azul); }
corona cerca
Código para Arduino IDE, Visual Studio 2019, NodeJS https://github.com/dasdata/coronafenceEsquemas
Proceso de manufactura
- Tarjeta de visita del juego Tic Tac Toe
- Sensor de temperatura múltiple
- Control de cautín de bricolaje para 862D +
- MotionSense
- Seguridad contra incendios de la impresora 3D
- Medidor de IoT con Arduino, Yaler e IFTTT
- Levitación electromagnética repulsiva Arduino
- Bot de agarre de control remoto
- Registrador de datos de globos meteorológicos con tecnología Arduino
- ArduFarmBot - Parte 2:Estación remota e implementación de IoT
- Reloj Flip Arduino de matriz de un solo LED