Got an Arduino? Like parties / alcohol? Can't be bothered to make your own bar quality cocktails? Make a Barduino!
Its back, with new features in v2.0:
- Facebook integration - Facebook registration Page to track and graph drink consumption
- Touchscreen with gesture support
- RFID user login - sync with Facebook profile photo
- SQL drink database
- After party drink stats
- Illuminated drink dispenser
The fully automatic bar uses simple solenoid valves, CO2, an Arduino Uno and a touch screen computer! CO2 and valves could be replaced with pumps but we found pressured drinks to be better.
It dispenses all sorts of cocktails from 4 different mixers and 4 different types of alcohol!
Construction is from an old ikea cabinet and the inner works are easily obtainable from ebay etc
- Arduino Uno
- 8 Solenoid Valves
- John Guest (or similar) push-fit fittings
- PVC pipe
- CO2 supply with pressure regulator
- 12v power supply
- Touch screen computer or similar interface
- RFID Reader + Tags
- 8 drink bottles with screw caps
- Cabinet of some sort - we used an Ikea cabinet
- Hot glue gun + glue
- Cooling Fan if your computer needs it
- Friends + Alcohol
danieljcooper + andyman5002
*UPDATE* - Our website is now up: Barduino.co.uk
Step 1: Choose / Make a Cabinet
First thing is to find a suitable enclosure for the valves, arduino, CO2 and computer. This will depend on where you want to use the bar etc.
The principals remain the same for all cabinets, valves with tubing controlled by an arduino with associated electronics. The cabinet will determine the length of tubing and connectors required to get the drink to dispense where you want it to. See our photos for an idea of the tubing and connectors.
We chose an Ikea cabinet to minimise the amount of wood work needed. The cabinet needed minor alterations and also a housing needed to be created to hold the touch screen computer.
Step 2: Wire the valves - tubing and electrical
The valves need to be powered by a 12v supply. The supply is controlled to each valve independently by the Arduino. The pattern in which they are turned on depends on the drink 'recipe' which is contained in the SQL database. The windows app reads this from the SQL database and sends the pattern to the arduino which in turn powers the relevant valves.
We are by no means electrical experts so the board we created is probably not best practice but it comprises of resistors and transistors ( high power ones ) which take a 5v input from the arduino to control the valves.
All the tubing we bought used push fit connectors to allow for easy disconnections and cleaning etc. The valves themselves were ordered from eBay at a cost of £3 each. The bottles are configured so they are under constant pressure from the regulated CO2 supply, when the valve opens this allows the liquid to exit.
The tubes from the valves terminate onto a standard 2L bottle. The tubes are passed through the threaded cap and sealed using hot glue.
The drinks are then dispensed from the tube which is illuminated when a user is logged in.
Step 3: Windows Code
The user interface for the bar was coded in C++ and runs on Windows 7. The software has numerous modes:
- User mode - Normal Operation when a user is logged in
- Admin Mode - Used for adding additional users and enabling other modes - cleaning and closed
- Closed Mode - No one can login apart from admin
- Cleaning - will clean the valves for 30 seconds at a time
The software connects to an SQL server which contains a user database and a drinks database.
When an RFID tag is presented to the reader the arduino notifies the windows code by serial. The barduino app then contacts the SQL server to check if the user exists and what privileges they should have. Admin user will be presented with the admin screen only. A normal user will be presented with the first drink in the database.
The App pulls a users Facebook profile photo using a URL stored in SQL and displays this in the bottom left if they have pre registered.
Source code will be available soon - all be it buggy.
Step 4: PHP / Website registration
The website is a front end for the SQL database.
It can be used for user registrations and also the after / during party stats. Who's drunk what etc.
Every time a drink is dispensed the Barduino App records what was dispensed and who drank it. It also updates their 'drunk level' or running total of consumed drinks.
Source available later.
Step 5: Arduino Code
The arduino code connects to the windows App. It communicates via serial.
The protocol is basic and could probably be improved. It basically sends the string of what valves need to be opened encapsulated in <> eg:
<4455> will open valve 4 twice and valve 5 twice. The valves are opened for a pre determined time which is based on a shot measure. This varies based on the pressure so you would need to time this based on your setup to get an accurate measurement.
Other commands exist for cleaning etc.
The source will be available soon.