Automatic sanitizer dispenser using Arduino

Last Updated on December 30, 2020 by technoreview85

It is an automatic hand sanitizer dispenser circuit & Arduino code for making an automatic sanitizer dispenser machine.

automatic sanitizer dispenser circuit
automatic sanitizer dispenser circuit

How it works

For making this circuit I used Arduino Nano & HC SR 04 Ultrasonic sensor.

when any object detected by the ultrasonic sensor within 15cm then the Arduino Nano digital pin 8 became high. this D8 pin is connected to an NPN transistor’s base via a resistor so when an object is detected near sensor the transistor flow negative voltage to relay & the 5v relay turn on the 12v dc pump & the liquid sanitizer flows from the spray nozzle. please check the circuit diagram given below.

You need to make

  • Transistor 548b
  • 5v relay
  • 5 volt DC Regulator IC7805
  • Capacitor 470mf/25v
  • Resistor – 1 k, 220E
  • Led
  • Diode IN4007
  • 5v mini buzzer ( Active buzzer)
Arduino nano
Arduino nano
  • Arduino nano
  • Hc sr 04 ultrasonic sensor
  • Female header
  • Terminal block 2 pin
  • Female to male jumper 4 wire
  • Vero board or Pref board
automatic sanitizer dispenser pump
automatic sanitizer dispenser pump
  • DC12V Self-Priming Diaphragm Pump
  • Low pressure spray nozzle (6mm)

Making circuit

Insert all components on pref board & connect asper circuit diagram

automatic sanitizer dispenser circuit
automatic hand sanitizer dispenser circuit diagram

HC sr 04 trig pin connect to Arduino D2

HC sr 04 Echo pin connect to Arduino D3

connect buzzer + to Arduino D9 & D8 will be connected to the transistor base via 1K resistor.

automatic sanitizer dispenser circuit
automatic sanitizer dispenser circuit

Automatic sanitizer dispenser Arduino code

Now upload the code to Arduino Nano using Arduino IDE

//Ultasonic Sensor
// sanitizer dispenser arduino code by
//Pins connected to the ultrasonic sensor
#define trigPin  2
#define echoPin 3

#define pump 8
#define buzzer 9

int range = 7;//range in inches

void setup() {
  // initialize serial communication:
  //initialize the sensor pins
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  pinMode(pump, OUTPUT);
   pinMode(buzzer, OUTPUT);
  digitalWrite(pump, LOW);
  digitalWrite(buzzer, LOW);
void loop()
  // establish variables for duration of the ping, 
  // and the distance result in inches and centimeters:
  long duration, inches, cm;

  // The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  digitalWrite(trigPin, LOW);
  digitalWrite(trigPin, HIGH);
  digitalWrite(trigPin, LOW);

  // Take reading on echo pin
  duration = pulseIn(echoPin, HIGH);

  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);
  Serial.print("in, ");
  if(inches < 7) {
    Serial.println("hand puted");
    digitalWrite(pump, HIGH);
    digitalWrite(buzzer, HIGH);
    digitalWrite(pump, LOW); 
  } else {
    Serial.println("no hand");
     digitalWrite(pump, LOW);

long microsecondsToInches(long microseconds)

  return microseconds / 74 / 2;

long microsecondsToCentimeters(long microseconds)
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;

You can copy the code form above or Download INO file from hear

automatic sanitizer dispenser circuit
Working of automatic sanitizer dispenser

The video tutorial for this project

More interesting projects

Leave a Reply

Your email address will not be published. Required fields are marked *