Introduction: ShotBot - Arduino Powered Pump Project

About: The RobotGeek team is a 6-man operation that wants to make it even easier to use Arduino to make electronics and robots. Check out our instructables and robotgeek.com for all of our awesome kits.

This Arduino Pump Tutorial is known as the ShotBot Project, demonstrating an easy way to build a simple shot pouring robot. We use two RobotGeek Pumping stations and some quick code to create a dual shot pouring robot. This project uses buttons to trigger the pouring as a basic example, but the buttons could be replaced with more advanced sensors, such as switches, light sensors, or IR sensors. You can follow the directions here, or find this project on the RobotGeek Learn site in two parts: The RobotGeek Pumping Station Assembly Guide, and the Arduino Pump Tutorial.

Step 1: Project Parts List

The following parts are recommended if you'd like to build as we have in this guide. The idea of using a two separate types of button presses to activate a pump via relay in an arduino environment is applicable to other sets of parts, but the parts listed here will guarantee success.

Step 2: Wiring the Pumps

You can follow along in the RobotGeek Pumping Station Assembly Guide for this step.

Each pump will require its own power source, either by way of a single 6V Power Supply hooked to each, or by way of a 6V Power Supply with a Power Squid, splitting a single wall wart off to power multiple devices.

Pay attention to the wiring diagram above. We will be using the Normally Open (NO) side of the relay for regular operation. This means that the state of the circuit is broken, requiring that you activate the relay to close the circuit, activating the pump.

Step 3: Wiring the Project

You can find this information in the Arduino Pump Tutorial on the RobotGeek Learn site.

Device Sensor Shield Port
Pumping Station 1 Digital Pin 2
Pumping Station 2 Digital Pin 4
RobotGeek Push Button 1 Digital Pin 7
RobotGeek Push Button 2 Digital Pin 8

Not too hard to wire once you have the pumps assembled with their respective power supply, relay, and priming buttons. We recommend using the RobotGeek Sensor Shield with this project to keep the wiring clean, though it can be done with a breadboard with some effort and plenty of jumper cables.

Step 4: Hook Up Your Tubing

Liquid moves out of the center tube, in from the tube on the edge. Place your input tube in the drink you would like to serve, and make the output tube into a spout that you can place a drink cup under to deliver the shot!

Step 5: ShotBot Code

You can download the code sketch here:
https://github.com/robotgeek/shotBotDemo/archive/master.zip

Mind the lines:
//Time for pumping stations to turn on in milliseconds
#define PUMP_1_TIME 2500
#define PUMP_2_TIME 2500
2500 is the time in milliseconds that the pump will be activated, determining the amount of liquid in your shot. You might need to fine tune this for the perfect shot with your pumps.

Upload your code, get some liquid, and start pressing buttons!

Step 6: What's Next?

This instructable was fairly simple, we'll admit. In this section, we usually cover ideas for what you can do to have fun with and alter this project on your own, but this time, NextProjectAwesome has built what really amounts to a shining (oh gosh, literally with that neopixel ring) example of how to take a simple idea to the next level. Check out the Drinkinator, it's really stellar, and if you like to party, you might just need to make one. Don't let us tell you what to do with your life, but we highly recommend it.