Introduction: Arduino Robot Arm Bartender

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.

Ever wish you had a robot that could doll out the shots? The future of partying is here with the Robot Arm Bartender! Serve up drinks in style, and impress your guests with the press of a button! This project utilizes a RobotGeek Snapper Arm with a Pumping Station to move some delicious liquids from container to glass! We will be using the Arm Link Software to program the arm's movements.

Step 1: Project Parts List

Step 2: Assembly

Follow the guides for each of the components:

Snapper Arm Assembly Guide

Pumping Station Assembly Guide

Instead of attaching the gripper to the end of the snapper, we will be making a spout system and running the silicone tubing up the arm, from the pump to the spout. Pictured are just a couple of ways to make a spout. Get creative with this step, there are many ways to do this.

We will also be attaching the Arduino, Pump, a pushbutton, and the Snapper Arm to the Mega workbench. This is so that we have a place to clearly define where to set glasses of a certain size. Put the pushbutton somewhere it can be easily reached, out of the way of the other components.

Step 3: Wiring

Device Sensor Shield Port
Servos
Base Rotation RobotGeek Servo Digital 3
Shoulder RobotGeek Servo Digital 5
Elbow RobotGeek Servo Digital 6
Wrist RobotGeek Servo Digital 9
Relay RobotGeek Pumping Station Digital 13
Activation Button RobotGeek Pushbutton Digital 2

Make sure that the 6V power supply is running the pump, and the 7V power supply is plugged into the Arduino. The Power pins on the Sensor Shield should be set to VIN to supply the full 7V power to the servos in the Snapper Arm.

Step 4: Software Set Up

In order to use this arm, we're going to need to set up the Arm Link software. This isn't hard, but it is involved, so make sure to follow along carefully.

Download the Snapper Arm Sketches

  1. Download the Snapper Arm Sketches from Github.
  2. Unzip to your Arduino Sketches folder. You will need to know where this is later.

Setting up the Arm Link Library and Firmware

  1. Download the ArmLinkLibrary and Extract the ArmLink folder to your Arduino libraries folder.
  2. Open the Arduino IDE, and open
    File -> Examples -> ArmLink -> SnapperArmLinkSerial
  3. Uncomment one of the following lines:
    //#define GRIPPER_TYPE ROBOT_GEEK_9G_GRIPPER
    #define GRIPPER_TYPE ROBOT_GEEK_PARALLEL_GRIPPER

    It doesn't matter which, because we will not be using a gripper for this project

  4. Make sure your Robot Bartender is plugged into your PC via USB, and upload the firmware.

Setting up Processing

  1. Download and extract Processing 3 for your operating system
  2. Open
    Tools -> Add Tool...
    and in the window that pops up, click on the Libraries tab.
  3. Search the library for G4P and install it.
  4. Search the library for Video, and install the Video Library authored by the Processing Foundation

Setting up Arm Link

  1. Download and extract the ArmLink Software for Processing 3
  2. Make sure your Robot Bartender is plugged into your PC via USB and open ARMLink.pde. Processing 3 should open to a window with the InterbotiX Arm Link code.
  3. Press the Triangle button in the top left corner of the window. This will run the Arm Link Software.
  4. Select the COM port your Bartender is on and click Connect.

Step 5: Making the ArmSequence File

  1. Once you are connected to your Bartender, the Arm Link software will display the Control Panel, Sequence Panel, I/O Panel, and Mode Panel below the Setup Panel.
  2. Click on Cylindrical in the Mode Panel. This mode gives us easy to understand control with good reach. The Control Panel will change.
  3. Tick the Save Digital Outputs box.
  4. Click on New Pose. This will let us save each position we set the arm to.
  5. Tick the Auto Update box at the bottom of the control panel. This will move the arm as we adjust the sliders in real time.
  6. Once the arm is in a position you'd like it to be in, you can click the Save Pose button to save it to the active sequence.
  7. For each pose you want, hit new pose, adjust the sliders to move the arm to the position you want, and hit Save Pose. If you want to turn the pump on, tick box 13 in the Digital Output section of the I/O Panel. Mind the Pause (Ms) section of the control panel. This will be the amount of time your pump will stay on. Be sure that if you would like the pump to turn off before moving that the next pose you create has box 13 unchecked.
  8. Once you have all the poses you want, click the Save to File button in the Sequence Panel.
  9. Navigate to the
    SnapperArm -> SnapperArmPlayback
    folder that you downloaded earlier, and click Open to save.

Step 6: Upload Your Sequence!

Now that your sequence is complete, we can open the

SnapperArm -> SnapperArmPlayback
sketch and upload it to the arduino. Set it up, let it do a dry run, and then run the input tube from the pump to the liquid you'd like to serve up!

Step 7: You're Ready to Party!

Now that you've made a robot arm that can serve up drinks, what else can you do? What would happen if you swapped the input and output tubes on the pumps? Can you make a robot arm that mixes drinks to be served to one glass instead of sending one drink to many? What about adding sensors other than the button to initiate serving drinks? Maybe instead you'd like to use the robot arm to prank an unsuspecting interloper? There's so much you can do, we'd love to know what you come up with!