CookerBird
Published © GPL3+

Touchless Hand Sanitiser

An inexpensive way to kill germs instantly without spreading them first.

IntermediateFull instructions provided1,330
Touchless Hand Sanitiser

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
Can be used interchangeably with Arduino UNO
×1
Dual H-Bridge motor drivers L298
SparkFun Dual H-Bridge motor drivers L298
×1
9V battery (generic)
9V battery (generic)
×1
Rocker Switch, SPST
Rocker Switch, SPST
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
Submersible DC Pump
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

Touchless Hand Sanitiser

Code

Touchless Hand Sanitiser

Arduino
// Touchless Hand Sanitiser
// by CookerBird

int enA = 13;
int in1 = 12;
int in2 = 11;
int trigPin = 5;
int echoPin = 6;
int Speed = 255;
int onTime = 300;
long duration = 0;
long distance = 0;

void setup()
{
  pinMode(enA, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

void checkHands()
{
  distance = 0;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration*0.0343/2;
}

void pumpSanitizer()
{
  analogWrite(enA, Speed);
  digitalWrite(in1, HIGH);
  digitalWrite(in2 LOW);
  delay(onTime);
}

void pumpOff()
{
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
}

void loop()
{
  checkHands();
  if (distance > 0 && distance <= 10)
  {
    pumpSanitizer();
    pumpOff();
    delay(2000);
  }
  else
  {
    pumpOff();
  }
}

Credits

CookerBird
1 project • 1 follower
Contact

Comments

Please log in or sign up to comment.