Difference between revisions of "Cocktail Maker"

From ESE205 Wiki
Jump to navigation Jump to search
Line 146: Line 146:
  
 
[[File:Overall Circuit hopefully.JPG|800px]]
 
[[File:Overall Circuit hopefully.JPG|800px]]
 +
 +
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.
 +
 +
[[File:PerfBoard Layout.JPG|800px]]

Revision as of 19:18, 18 April 2019

Links

Cocktail_Maker_Log

Trello

Proposal Presentation

GitHub

Photoresitor Level Detection

Overview

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.

Team Members

Cj Wilson

Tom Fare

Weronika Pach

Will Parkinson, TA

Jim Feher, Instructor

Objectives

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

Challenges

  • 3D printing

Learn Solidworks.

Design specific dimensions

Build models using Solidworks and 3D print them.

  • Arduino

Learn Arduino programming language.

Implementing the Arduino code with distance sensor and valve/pump.

Debugging code and adjusting parameters to control the measurements.

  • Hardware

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.

  • Safety

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.

Budget

Arduino [1]~ $19.80

Weight Sensor [2]~$9.54

3X Pumps[3]~$12.69

2 X Drivers [4]~$16.99

2mm Silicone Tubes [5]~$7.79

Silicone tape [6] ~$6.77

5 X Diodes [7]~$0.15

Attachment Cables [8]~$6.95

Sunfounder 4 channel 5V DC relay [9]~$6.99

3D Printed Parts

RGB LCD Shield [10]~$7.99

Power Supply [11]~$6.49

Hinges [12]~ $6.99

Wood~$20.00

Silicone Sealent [13] ~ $5

Ingredients~$20

Gantt Chart

https://docs.google.com/spreadsheets/d/1q1E3sI778M7ZXhlYbw2UPR73MOPXUoJnK3tvqi86UJ0/edit#gid=0 Gantt Chart 2.PNG

References

For Drink Codes:

https://makezine.com/projects/build-cocktail-drinkbot/

For Overall basis:

https://www.youtube.com/watch?v=Z7GkGeZrb2Y&t=275s

For LCD Display:

https://learn.adafruit.com/rgb-lcd-shield/using-the-rgb-lcd-shield

For Weight Sensor

https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide/all

Design and Solution

Design2.PNG

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. Relay schematic.JPG

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. 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

Screen Shot 2019-02-25 at 12.44.56 PM.png


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.


The internal circuitry will look similarly to what is below:

Overall Circuit hopefully.JPG

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.

PerfBoard Layout.JPG