Skip to content

An Automated Bartender powered by Arduino

License

Notifications You must be signed in to change notification settings

cnov20/BarBot

 
 

Repository files navigation

Naomi Wu's BarBot

An Automated Bartender powered by Arduino
BarBot

Based on the work of Lukas Šidlauskas:
https://create.arduino.cc/projecthub/sidlauskas/barbot-cocktail-mixing-robot-0318aa
https://github.com/sidlauskaslukas/barbot

BarBot Build Video 1
BarBot Build Video 1

BarBot Build Video 2
BarBot Build Video 2

BarBot Build Video 3- Demo
BarBot Build Video 3

About

For my BarBot I wanted to make sure it was rock-solid reliable in a crowded bar environment so eliminated the touchscreen menus and wireless connectivity present in other versions of this project. Nearly any error can be dealt with by simply power cycling the device. Since there is no Raspberry Pi or SBC there is no risk of corruption when this is done.

16 popular drinks (15 alcoholic and 1 non-alcoholic for non-drinkers and so that children can participate with supervision) are available from 16 arcade style buttons. A printed menu lists what button number corresponds to which drink.

Since the BarBot is designed for a working bar- and yes even in Shenzhen we are subject to surprise health inspections I had to do without pumps or difficult to clean feed lines. All of the components that require nightly cleaning are the same that bar staff are already accustomed to cleaning- spirit measures and bar mats. All drive components and bearings have been moved from under the pour spouts to well above or behind so there is no risk of an accumulation of sugar-rich liquids gumming up hard to clean moving parts of the machine or attracting vermin.

This BarBot is a functional novelty- it's something fun for visitors to play with. Perfect for my home city of Shenzhen where a large number of patrons are tech professionals. It is not secured for true commercial use- and with a bar full of half-drunk hardware engineers it would be pointless to try. In this case, it's better to rely on good faith then pretend you could stop them if challenged. Patrons could still manually press their cups to the spirit measures to manually dispense alcohol if they wanted to- but they could also reach over the bar and steal liquor while the bartender's back was turned. So far none have because why ruin the fun when there's no "hack" in doing so? If you really wanted to, a clear acrylic panel could be added to the front to prevent any manual dispensing, but it's really a lot less fun that way.

Portion control and payment is handled via an inexpensive arcade token acceptor. A customer can pay the bartender for a cup of ice and a token. When the correct token is inserted into the BarBot a contact is momentarily closed. The customer then has 60 seconds to press a drink selection button. That same contact can be closed with the key switch, in which case no tokens are needed for any orders while the switch is in that position.

Barbots of this configuration typically use either a servo or a stepper motor with a lead screw to depress the spirit measure spout depending on the type of dispenser it is. My code changes allow for either as RAMPS boards can control both steppers and a servo.

In the build and demonstration videos, you'll see that the full 25ml "shot" the spirit measure contains is usually only partially dispensed. This is because the actual shot size is defined in the code as a function of how long the spout is depressed. This allows for finer tuning of the drink flavor and portion size which would not be possible if only 25ml increments were used.

This BarBot was designed to be easy to build with off-the-shelf OpenBuilds components, V-Slot aluminum extrusion, and low-cost 3D printer parts. The heart of the BarBot is a standard Arduino Mega, RAMPS 1.4/1.5 and A4988 stepper driver combination as used in many 3D printers.

BarBot
See Build Guide. Guide and SolidWorks CAD drawings courtesy of Vexelius.

BOM

1x Arduino Mega 2560
1x RAMPS 1.4/1.5
2x A4988 Stepper Driver
Available as a kit

1x RAMPS 1.4/1.5 SD Card Reader

10x10 Drag Chain
2 Meters

V-Slot® 20x80 Linear Rail
3x1200mm (Two vertical risers and one horizontal carriage rail)
2x1160mm (Lower brace, shelf for bar mat)

V-Slot® 20x40 Linear Rail
1x 1200mm (Horizontal rail for drag chain)
2x 600mm (Horizontal legs)

1x V-Slot® NEMA 17 Linear Actuator Bundle
500mm (400mm is better if you can get it or make it yourself)

1x V-Slot Gantry Set
20mm - 80mm (Universal)
Delrin Solid V Wheels

1x Motor Mount Plate - NEMA 17 Stepper Motor

1x Idler Pulley Plate

1x Smooth Idler Pulley Kit

GT2-2M Timing Belt
3 Meters

1x GT2-2M Timing Pulley - 20 Tooth

2x NEMA 17 Stepper Motor

30x Black Angle Corner Connector

Openbuilds Low Profile Screws
60x M5*8
4x M5*40
6x M5*25
4x M5*15

Aluminum Spacer
4x 3mm
4x 6mm

50x Tee Nuts

50x Drop In Tee Nuts

30x Nylon Insert Hex Locknut - M5

Slot Cover™ / Panel Holder
1250mm

2x Bar mat

Control Box

V-Slot® 20x20 Linear Rail
530mm x 4
165mm x 5
130mm x 4
(All with 5mm threaded ends)

8x Cube Corner Connector

25x M5*15 Openbuilds Low Profile Screws

1x Coin Acceptor
(Or similar if you modify the lower lasercut panel to fit)

16x 27x27 Illuminated Arcade Buttons

1x 22mm Emergency Stop Push Button Switch 12V DC LED Illuminated (or similar)

1x 22mm Key Selector Switch

1x Power Socket Switch IEC 320 C14

1x 12v Power Supply, 150w (Part No. MS-150-12 or similar)

1x Ribbon cable to 18 pin connector 40CM long (Optional but helpful)

About

An Automated Bartender powered by Arduino

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.3%
  • C 2.7%