Ever hosted a party and had to play bartender the entire time? Well, we have your solution! We have created an easy to use cocktail maker. This cocktail maker will be able to make at least 2 mix drinks at the click of a button! This guarantees a delicious cocktail every time. We will do this by coding an Arduino to control pumps/valves that are attached to the ingredients. Our machine is based off of a weighted plate. Once you have selected their drink, the machine will zero the scale and start pouring the beverage. We will ensure that each drink will have the proper proportions by zeroing the scale after each ingredient is added.
Will Parkinson, TA
Jim Feher, Instructor
Our objective is to create a machine that will generate at least one mixed drink, with correct ratios, at the push of a button.
Using a YouTube video detailing the construction of a similar project, we:
- Modify the design of this crude cocktail maker to allow for more features and a more elegant look.
- Employ an Arduino program to automate the composition of a cocktail, as well as a force sensor to measure changes in weight as the glass is filled.
Modifications to the original design include:
- A light indicating a need for supply replacement
- User ability to choose strength of beverage from three options (non-alcoholic, regular, strong)
- Full automation in dispensing all ingredients of cocktail.
- Use a photosensor to detect empty bottles
- 3D printing
Design specific dimensions
Build models using Solidworks and 3D print them.
Learn Arduino programming language.
Implementing the Arduino code with distance sensor and valve/pump.
Debugging code and adjusting parameters to control the measurements.
Design a circuit that connects the pump and valves, push button and weight sensor to the Arduino.
Assuring the pumps dispense the correct amount of liquid.
Electricity hazard when circuit interacts with liquids
Leakage from the tubes.
Use of food-safe materials.
Age restriction on alcohol pertaining to demonstration and audience.
Arduino ~ $19.80
Weight Sensor ~$9.54
2 X Drivers ~$16.99
2mm Silicone Tubes ~$7.79
Silicone tape  ~$6.77
5 X Diodes ~$0.15
Attachment Cables ~$6.95
Sunfounder 4 channel 5V DC relay ~$6.99
3D Printed Parts
RGB LCD Shield ~$7.99
Power Supply ~$6.49
Hinges ~ $6.99
Silicone Sealent  ~ $5
Design and Solution
This is the basic look that we are going for. You will put your drink into the cubby onto the weight plate and the drink will be made.
To do this we have implemented a relay to control the motors with the following set up. This will help us control when and how long the motors will run. We decided to implement a relay because then we would be able to use less pins on the Arduino, and also we would only need to use one driver to control all of the motors instead of two drivers. This will also simplify the code for our machine.
We decided to use an Arduino because an Arduino board is best used for simple repetitive tasks. A raspberry pi is more of a full blown computer and is more complex then we need it to be.
With the motors we are using a two way motor attached to food friendly tubes.
This will take the liquids out of the bottles and into the cup that has been placed on the weight sensor.This weight sensor will then give continuous readout to the Arduino. Each time the readout hit a certain number it will turn on or off the corresponding motors.
Once these bottles start to run low on ingredients we have implemented a photoresistor to detect the low liquid levels. To see how that works please refer to the tutorial. Photoresitor Level Detection
The internal circuitry will look similarly to what is below:
Instead of using a bread board we decided to use a perf board. The layout of our perf board is below. This will secure the wires and shrinks the size.
This is the basic flow of how our machine will work. The user will start by selecting which drink they want. After this it will take you to a menu that will have you pick the strength of your drink. Once you do this the machine will clarify that you have selected to correct choice. Once you agree to that drink then it will send the drink order to the Arduino. Once the Arduino receives the code it will run the premade code for that drink order. This code is based on the weight sensor. Once you confirm your drink selection the weight sensor will zero the scale. It then will run the correct ingredients until they reach a certain weight on the scale. Once it reaches a certain weight, the Arduino will tell the Relay to switch which motor is running. This process repeats until the drink reaches the final weight of 320g. Once this happens all the motors will turn off and the drink will be made.
This video shows our final project running through making a singular drink. We completed all of our objectives for this project. We created a machine that will create a drink with a few button clicks. We also implemented photo resistors to tell when the drink bottles were running empty. We used super bright white LED lights across from photo resistors on the bottom three inches of the bottle. Fortunately we completed all of our goals but we had some hiccups along the way. We had to adjust the power sources. Originally we would have a singular 12 volts power supply. This worked well on a breadboard, but once we soldered everything our machine was crashing every time we ran it. With Jim's brilliance we discovered that the relay was causing a bunch of noise, therefore we had to separate the motor relay and the driver from everything else.
One of the things to improve is the tube size. The small size off the tube made it so the cocktail maker would pour extremely slow. Bigger tubes would fix this problem as it can absorb more liquid. Another thing is adding labels that explain what each buttons do as well as a blackboard that states which drink is drink 1, drink 2 and drink 3. Another improvement is to make the box smaller and stain it to make it more aesthetically pleasing.
For Drink Codes:
For Overall basis:
For LCD Display:
For Weight Sensor