The ultrasonic hand sanitizer circuit detects the presence of human hand through reflected ultrasonic waves, and triggers a relay solenoid pump momentarily for dispensing the sanitizing liquid on the hands of the user.
The project uses the popular HC-SR04 ultrasonic sensor module for the required sensing function.
The HC-SR04 ultrasonic sensor module is built usng a couple of specialized ultrasonic transducers rated to work and respond at a frequency of around 40 kHz.
The module has 4 pinouts for configuring into the intended driver circuit.
The supply pinouts are indicated with Vcc and Gnd pins. Where Vcc is the positive 5V input for the module, and the Gnd is supposed to be connected with the negative line of the input power supply.
The trigger pin works with a 10 us pulse which activates the two transducers for transmitting and receiving the reflected ultrasonic wave.
When a series of reflected signals is detected, the "Echo" pin becomes high for initiating the external relay or the solenoid or any preferred load.
Interfacing HC-SR04 with Arduino
In order to process the HC-SR04 module, and enable it to work as a precision ultrasonic proximity detector, we need a microcontroller unit such as an Arduino for the task.
When appropriately programmed with the code as given below, the Arduino becomes compatible with the HC-SR04, for the intended hand proximity detection and activation of sanitizer dispensing mechanism.
The interfacing wiring diagram of the Arduino with HC-SR04 and the relay stage can be seen in the following diagram:
The operational procedure of this ultrasonic hand sanitizer circuit is simple, and can be understood with the following points:
The Arduino provides the 10 us activation pulse to the HC-SR04 modules trigger pulse, which enables the module to send and receive the reflected pulse train from the target, which is the hand of the user.
This reflected data is sent to the rduino from the Echo pin of the HC-SR04 module.
The Arduino process the signal and enables stable DC output at pin7 of the board, which is connected with the relay driver stage via a 10k resistor and a 100uF capacitor.
The pin#7 of Arduino is supposed to stay high as long as the HC-SR04 modules continues to detect the users hand within the set proximity.
This mean the re;ay will also stay switched ON during this period, which we don't want.
To make sure that the relay and the attachwd dispensing mechnaism or pump is actated only for a few seconds, a capacitor is placed in series with the base of the BC547.
When pin#7 becomes high due to the presence of a human hand, the BC547 conducts only for so long as its base 100uF is fully charged, which happens within a couple of seconds.
Once the 100uF is fully charged, the BC547 base is inhibited from the base drive, and it stops conducting, switching OFF the relay and disabling the attached hand sanitizer dispensing mechanism.
When the hand is removed, the HC-SR04 stops sending the Echo signal to the Arduino, which flips its pin#7 to logic zero.
At this point, the 100uF base capacitor starts getting discharged via the Arduino pin#7 and the right side 10k ground resistor.
The entire program code for the above discussed ultrasonic hand sanitizer circuit using HC-SR04 and Arduino is given below:
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
float distance = 15; // set threshold distance in cm
Warning: The proposed ultrasonic hand sanitizer circuit has not been tested practically by the author. The idea was inspired from this article, and modified appropriately for enabling the required momentary ON/OFF function for the dispenser pump, or the solenoid.