Friday, August 20, 2021

Automatic Gate Circuit using Thermal Sensor for Covid19

AUTOMATIC THERMAL GATE CIRCUIT IDEA FOR COVID19 SYMPTOMATIC PATIENT DETECTION.
    Today Showing you an idea to use an Arduino based circuit to check temperature of people coming via a gate and allowing and restricting them on basis of their body temperature. If Body Temperature is more than 98 Degree Fahrenheit the person is supposed to be having Covid Symptoms and his entry is restricted and a buzzer is sounded. If his body temperature is less than 98 then he is allowed by opening the motorised gates for 5 secend.
    This is just an idea to implement a thermal sensor to use in a gate to check temperature and allow or disallow someone from entering as per his body temperature. It needs a gate structure and a non contact Thermal Sensor too.
    Using LM35 as thermal sensor will not help in measure body temperature without contact and only used for demo purpose.
Youtube Video Link- https://youtu.be/fplIV-XQrTY



Parts used - Arduino Uno, LM35 Temperature Sensor, IR Proximity sensor, Buzzer, LCD 16x2 Alphanumeric Display, 12 V Power Supply, 6-12V Gear DC motor, L298 Motor Driver, Jumper Wires. Tools - Soldering Iron and Solder, Cutting and Stripping tool, Digital Multimeter. Software used - Arduino IDE, Fritzing.



Arduino Code, Copy and Paste from below line- 

 #include <LiquidCrystal.h>

int val,prox, ir=2, buz=4, mot1=13,mot2=12;

int tempPin = A0;

LiquidCrystal lcd(6, 7, 8, 9, 10, 11);//(rs,en,d4,d5,d6,d7)

//Code is written by gurudattapanda www.youtube.com/tutorialsguru

// All rights reserved

void setup()

{

  Serial.begin(9600);

  pinMode(ir,INPUT);

  pinMode(buz,OUTPUT);

  pinMode(mot1,OUTPUT);

  pinMode(mot2,OUTPUT);

  digitalWrite(mot1,LOW);

  digitalWrite(mot2,LOW);

  lcd.begin(16,2);

  lcd.clear();

  lcd.setCursor(0,0);

  lcd.print("WELCOME 2 UCPES");

  delay(2000);

}

void loop()

{

  lcd.clear();

  lcd.print("   AUTOMATIC");

  lcd.setCursor(0,1);

  lcd.print("  THERMAL GATE");

  delay(500);

  prox=digitalRead(ir);

  Serial.println(prox);

  if(prox==1){

  val = analogRead(tempPin);

  float mv = ( val/1024.0)*5000;

  float cel = mv/10;

  float farh = (cel*9)/5 + 32;

    // uncomment this to get temperature in farenhite

      Serial.print("TEMPRATURE = ");

      Serial.print(farh);

      Serial.print("*F");

      Serial.println();

      lcd.clear();

      lcd.print("Temperature");

      lcd.setCursor(0,1);

      lcd.print(farh);

      lcd.print(" F");

      delay(2000);

      

  delay(1000);

    if(farh>=98){

     digitalWrite(buz,HIGH);

      lcd.clear();

      lcd.print("No Entry");

      delay(2000);

      digitalWrite(buz,LOW);

      lcd.clear();

      }

      else{

        lcd.clear();

        lcd.print("    WELCOME");

        digitalWrite(mot1,HIGH);

        digitalWrite(mot2,LOW);

        delay(50);

        digitalWrite(mot1,LOW);

        delay(5000);

        digitalWrite(mot1,LOW);

        digitalWrite(mot2,HIGH);

        delay(50);

        digitalWrite(mot2,LOW);

     }

      }

 else{

    lcd.clear();

    delay(100);

     }

}

No comments: