Estación COVID-19
INTEGRANTES
Jesús Emilio Blanquer Carot
Aioub EL Ismaili Bouyeddou
Sergio Martín Hernández
INTRODUCCIÓN AL PROYECTO
El proyecto realizado, se basa en la construcción de una ‘Estación COVID-19’. El funcionamiento de esta “Estación COVID-19’” consiste en leer la temperatura corporal de una persona a través de la temperatura de la palma de la mano, medir la concentración de CO2 en un habitáculo cerrado y la temperatura ambiental de este.
Debido a la emergencia sanitaria actual, hemos decidido realizar este proyecto con la finalidad de mejorar la seguridad en sitios cerrados.
PRESUPUESTO
Nombre | Unidades | Precio |
Placa de Arduino uno | 1 | – |
Cables | 4€ | |
Portapilas | 1 | – |
Pilas de 1,5V | 4 | – |
Leds | 3 | – |
Sensor de temperatura mlx 90614 | 1 | 16,99 € |
Sensor de gas mq 135 | 2 | 8 € |
Sensor de movimiento PIR AM312 | 3 | 8,79€ |
Placas de conexiones | 2 | – |
Potenciómetro 1K | 1 | 0,5€ |
Pantalla lcd 16×2 | 1 | – |
Resistencias de 1KΩ | 3 | – |
Zumbador | 1 | – |
Interruptor | 1 | – |
Planchas de madera | 2 | 8 € |
Plancha de metacrilato | 1 | 2,99 € |
Pintura | 1 | 4,90 € |
Spray | 1 | 2,99 € |
Estaño | 1 | – |
Lija | 1 | – |
TOTAL | 57,16 € |
REPRESENTACION DEL CIRCUITO
CÓDIGO FUENTE
// LIBRERIAS #include <LiquidCrystal.h> #include <Adafruit_MLX90614.h> //DEFINICION DE VARIABLES const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; // constantes para los pines de la pantalla lcd LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // le damos los valores correspondientes a los pines de la pantalla Adafruit_MLX90614 sensorMlx = Adafruit_MLX90614(); // creamos la variable sensorMlx para obtener los valores del sensor de temperatura float valorTem = 0; // Variable que almacena el valor del sensor de temperatura float valorTem2 = 0; // Variable que almacena el valor del sensor de temperatura (segunda medicion) int sensorCo2 = 0; // pin analogico A0 int valorCo2 = 0; // Variable que almacena el valor del sensor de Co2 int ledRojo = 8; // pin 8 digital int ledAzul = 13; // pin 13 digital int ledVerde = 7; // pin 7 digital int zumbador = 9; // pin 9 digital int sensorPir = 10; // pin 10 digital int valorPir = 0; // Variable que almacena el valor del sensor de movimiento void setup() { lcd.begin(16, 2); // Configuracion filas y columnas del pantalla lcd sensorMlx.begin(); // Inicializacion y puesta en marcha del sensor de temperatura //PINES DE SALIDA pinMode(ledRojo, OUTPUT); pinMode(ledAzul, OUTPUT); pinMode(ledVerde, OUTPUT); pinMode(zumbador, OUTPUT); //PINES DE ENTRADA pinMode(sensorPir, INPUT); } void loop(){ valorCo2 = analogRead(sensorCo2); // lectura del sensor de Co2 valorCo2 = valorCo2 + 250.0; // AJUSTE: sumamos 250 unidades para contolar el desfase de nuestro sensor de gas valorPir = digitalRead(sensorPir); // lectura del sensor de movimiento lcd.setCursor(0,0); // Configuracion de columna y linea if (valorPir == HIGH){ // SE DETECTA MOVIMIENTO digitalWrite(ledAzul,HIGH); lcd.print("Temp: "); valorTem = sensorMlx.readObjectTempC()+8.7; // LECTURA sensor de temperatur y AJUSTE: sumamos 8.7 unidades para controlar el desfase de nuestro sensor de temperatura lcd.print(valorTem); lcd.print(" C"); delay(1000); if (valorTem>37.7){ //CASO DE MEDIR UNA TEMPERATURA ANOMALA lcd.clear(); lcd.setCursor(0,0); lcd.print("Temperatura alta "); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("Vuelva a meter"); lcd.setCursor(0,1); lcd.print("la mano"); delay(5000); lcd.clear(); if (valorPir == HIGH){ //SEGUNDA MEDICION digitalWrite(ledAzul,HIGH); lcd.setCursor(0,0); lcd.print("Temp: "); valorTem2 = sensorMlx.readObjectTempC()+8.7; lcd.print(valorTem2); lcd.print(" C"); if (valorTem2 > 37.7){ // CASO SEGUIR MIDIENDO TEMPERATURA ANOMALA tone(zumbador,2000,1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("ACCESO DENEGADO"); delay(1500); }else{ lcd.setCursor(0,0); lcd.print("ACCESO PERMITIDO"); delay(1300); } } } }else{ // CASO DETECTAR NINGUN MOVIMIENTO digitalWrite(ledAzul,LOW); lcd.print("T.Ambt.: "); lcd.print(sensorMlx.readAmbientTempC()); lcd.print(" C"); } lcd.setCursor(0,1); if (valorCo2<700){ digitalWrite(ledVerde,HIGH); lcd.print("CO2: "); lcd.print(valorCo2); lcd.print(" ppm (L)"); }else if((valorCo2>=700) and (valorCo2<800)){ digitalWrite(ledRojo,HIGH); lcd.print("CO2: "); lcd.print(valorCo2); lcd.print(" ppm (M)"); }else{ digitalWrite(ledRojo,HIGH); tone(zumbador,2000,1000); lcd.print("CO2: "); lcd.print(valorCo2); lcd.print(" ppm (H)"); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("ABANDONEN LA"); lcd.setCursor(0,1); lcd.print("SALA!!!"); } delay(3000); lcd.clear(); digitalWrite(ledRojo,LOW); digitalWrite(ledVerde,LOW); digitalWrite(zumbador,LOW); }
MEMORIA
VIDEO
POSIBLES MEJORAS
Una vez terminado el proyecto, consideramos que el mismo podría ampliarse:
- Incluyendo luces led en el interior de la caja que permitan ver el interior con mayor nitidez a través del plástico transparente.
- Conectándolo por Bluetooth a un dispositivo móvil con el que poder consultar los valores de los sensores.
- Utilizando una pantalla OLED que permita hacer una mejor representación de texto.