Project tutorial
Touchless faucet with door control system for COVID-19

Touchless faucet with door control system for COVID-19 © CC BY

A cheap, safe and effective way to prevent the spread of coronavirus. It only costs $11 to build, and it could save lives of many people,

  • 4,732 views
  • 6 comments
  • 24 respects

Components and supplies

Necessary tools and machines

Apps and online services

About this project

COVID-19 is a serious pandemic at this moment. The coronavirus is spreading quickly and easily between humans. There are ways to curb the spread of this virus and one way is to wash hands using soap for at least 20 seconds. Sometimes, if the person carelessly touches the faucet - which could be contaminated - after washing his/ her hands, he/she has a higher chance of contracting this coronavirus disease. If you go out, it is safe to wash your hands before entering your premises. You do not have to touch the door handle because the door lock system is automated. In my project, a person will only be granted access once he/ she washes his/ her hands.

The person could be wearing face masks when they go to public places but their hands may not be clean. Even if he/ she cleans their hands, they could touch the surface which was touched by a virus carrier. The virus carrier's hands would be contaminated. Coronavirus could last on a contaminated surface from several hours to days depending on the environmental conditions such as humidity and temperature. By washing your hands before entering the premises, this way of spreading coronavirus could be prevented.

In this project, I have made a prototype to wash hands safely with automatic door control system. I have made an touchless faucet so that you do not have to touch the surface of the faucet and is automatic. The prototype is cheap - only costs around $11 to build - and easy to make. This faucet is automatic and could also prevent wasting water when not in use.

I made this prototype using the resources at my home as I could not go out due to the lockdown in my country. You are allowed to remake this project or even improve it, but you could also try to convert any container of water into a faucet. I would suggest you to use a solenoid water valve instead of the submersible water pump. The tube is modelled as the faucet in this prototype. This model could be used in malls, offices and your home. This model could be used in places with automatic sliding doors or automatic door system, by replacing the single channel relay module with solid state relay module.

This prototype could also be used as an automatic alcohol-based hand sanitizer dispenser, but when using the hand sanitizer, the container should be closed as the alcohol could evaporate.

Here is a video showing how this prototype works:

How it works

If you want to wash your hands, place your hands within 15 cm from the ultrasonic sensor. According to my Arduino program, this will switch on the relay module. The submersible water pump is connected to the relay module and an external power supply. The external power supply can be adjusted to provide the appropriate voltage. The water pump is switched on and the water is pumped from the container to your hands through a tube, which is modelled as the faucet in this prototype.

After washing your hands, place your hand in front of the IR tracking sensor. The IR sensor sends a LOW signal when an object is detected within 2cm. The LOW signal makes the servo motor to rotate 90° and open the door (in this model). The door will automatically close after 10 seconds.

If you place your hand in front of the IR tracking sensor without washing your hands, the door will not open and the LCD display module will show a message asking you to wash your hands.

Code

Touchless Faucet with Door control systemArduino
The code which you will need to make this project work successfully
// TOUCHLESS FAUCET WITH DOOR CONTROL SYSTEM
// ARDUINO PROJECTS BY R
// AUTHOR: RUCKSIKAA RAAJKUMAR
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define trig 5
#define echo 4
Servo servo;
const int sensor = 3; 
const int Relay = 6;
int state;
int value; 
long duration;
int distance;
void setup() {
  lcd.begin();
  lcd.print("Wash your hands");
  lcd.setCursor(0,1);
  lcd.print("before you enter");
  servo.attach(9); // The servo motor is connected to D9
  pinMode(trig, OUTPUT); // Set the trigger pin as OUTPUT
  pinMode(echo, INPUT); // Set the echo pin as INPUT
  pinMode(sensor, INPUT); // Configure the pin of the IR sensor as INPUT
  pinMode(Relay, OUTPUT); // Configure the pin of the relay module as OUTPUT
  Serial.begin(9600); // Set baud rate as 9600
}
void loop() {
  digitalWrite(trig, LOW); 
  delayMicroseconds(5);
  digitalWrite(trig, HIGH); // Set the trigger pin HIGH to send the ultrasonic wave (pulse)
  delayMicroseconds(10);
  digitalWrite(trig, LOW); 
  value=digitalRead(sensor); // Read the digital signal sent by the IR sensor and store it in the 'value' variable
  duration = pulseIn(echo, HIGH); // Calculate time taken (in microseconds) for the pulse emitted by the trigger pin to reach the echo pin.
  distance = (duration/2) * (331.3/10000); // Calculate the distance from the sensor to the obstacle in cm, using the speed of sound in air(m/s) and the time taken (stored in duration variable)
  Serial.println(distance);
  if(distance>1 && distance<15){ // If you place your hands within 15 cm
    lcd.clear();
    lcd.setCursor(1,0);
    lcd.print("Hands detected");
    lcd.setCursor(0,1);
    lcd.print("Wash hands - 20s");
    digitalWrite(Relay, HIGH); //Turns on the submersible water pump or solenoid water valve
    state=1; // Assign state variable to 1
    delay(1000); // Delay period of 1 second must be used to prevent clicking of the relay module
    lcd.clear();
    lcd.print("You are safe now");
  }else{
    digitalWrite(Relay, LOW); //Turns off the submersible water pump or solenoid water valve
   }
   if((state==1)&&(value==LOW)){ // If you place your hands in front of the IR sensor after washing your hands
    lcd.clear();
    lcd.setCursor(1,0);
    lcd.print("You may go in");
    lcd.setCursor(1,1);
    lcd.print("10 seconds left");
    servo.write(90);
    delay(10000); // The door will be opened for 10 seconds
    servo.write(0);
    lcd.clear();
    lcd.print("Wash your hands");
    lcd.setCursor(0,1);
    lcd.print("before you enter");
    state=0;
   } else if((state==0)&&(value==LOW)){ // If you do not wash your hands before you enter
    lcd.clear();
    lcd.print("Wash your hands");
    lcd.setCursor(0,1);
    lcd.print("to grant access");
   }  
}

Schematics

Schematic
Schematic vnru6nyhdf

Comments

Similar projects you might like

Coronavirus Live Updator

Project tutorial by Sai Chakradhar

  • 9,982 views
  • 17 comments
  • 43 respects

Open Source Pulse Oximeter for COVID-19

Project tutorial by Arduino “having11” Guy

  • 28,658 views
  • 15 comments
  • 95 respects

Touchless Washing Hands Timer

by rjconcepcion

  • 3,371 views
  • 1 comment
  • 15 respects

Health Kit: Humidity and Temperature Control

Project tutorial by Diana Khalipina

  • 10,936 views
  • 2 comments
  • 51 respects

RFID Based Automatic Door System

Project showcase by Robodia Technology

  • 61,277 views
  • 31 comments
  • 144 respects

Simple and Smart Air Purifier System

Project tutorial by Aaron Kow

  • 20,895 views
  • 5 comments
  • 49 respects
Add projectSign up / Login