When it comes to cleaning your hands, [Arnov Sharma] is not messing around. He built an automatic soap dispenser using ultrasonic sensors, a stepper motor for activating the pump, and 3D printed components for housing a bottle of soap – a spectacular display of over-engineering. At least he won’t be needing to stand in line at the supermarket for motion detection soap dispensers anytime soon.
Initially, he had the idea to build the dispenser using a common servo motor-based method. This would involve activating motors to push down on the plunger for the soap bottle to dispense soap. Instead, he for a different approach that ended up being fairly straightforward in theory, although the execution is pretty involved.
He started off by 3D printing the compartment where the soap bottle would sit and the structural support for the Z-axis rail that would be pushing down on the soap bottle. It’s similar to the type of linear actuator you might find in a 3D printer or PCB mill, where a motor controls a rotating screw that moves the carriage across a belt. (We presume the linear rail came first, and the ultrasonic soap dispenser second.)
In this build, there are two additional rods added to help support the lever pressing down on the soap dispenser.
The setup is controlled by an Arduino, which triggers the movement from the linear actuator if it receives a signal from an ultrasonic sensor. He’s added the model files and Arduino code for other makers curious about building a similar project. Check out his video for the soap dispenser in action – the stepper motor definitely makes for a much more powerful plunge than you might expect.