The idea for this hack came from a very simple source: I was cooking one day and needed 3 1/3 cups of water, which required a two fillings with my 2 cup measuring cup, because I was using my 4 cup measuring cup for something else. I realized that I have filler nozzle on my sink that provides me a given temperature of water, so why can't have a filler nozzle that provides me a given amount of water?
What it does
The device is usable over Google Assistant. Simply ask Doctor Smart Tap for the amount of water you need, and the device will quickly and effectively deliver the exact amount of liquid desired.
How I built it
The main hardware component of the device is an Arduino with a GRBL shield to control a stepper motor. I filed a flat in the stepper shaft to fit into the peristaltic pump, which delivers the precise amount of fluid needed. The Arduino is controlled by a python script which listens to commands from a Linode cloud instance. The Linode cloud instance listens for web hooks from Google Dialogflow. Google Dialogflow interprets the commanded dispensing volume using Natural Language Understanding from any Google Assistant device.
Challenges I ran into
I originally tried to implement the stepper motor control on an IBM Thinkpad A20m from 2003, but Windows 2000 was not up to the task, after many hours of trying. The intent was to use the parallel port to drive the stepper motor.
Accomplishments that I'm proud of
I learned that Google Assistant Actions and Google Dialogflow are polished, effective applications for developing tools for Google Assistant.
What's next for Doctor Smart Tap
The core technology behind Doctor Smart Tap is widely applicable. In Bio Safety Level 2 or higher labs such as where I work, reducing contamination between the lab workers and the samples is essential to the safety of the lab workers and the quality of the results. A system for dispensing precision amounts of any type of fluid without touching anything keeps the lab worker clean and reduces the chance of a potentially dangerous spill. A digital dispensing system also has the advantage of logging each request for lab notebook development and process audit.