Week 17
Introduction
This page outlines the steps followed during week 17 of the Fab Academy assignments.
The tasks for this week involved Applications and Implications and the following assignments:
- Plan a final project masterpiece that integrates the range of units covered, answering:
- What will it do?
- Who's done what beforehand?
- What sources will you use?
- What will you design?
- What materials and components will be used?
- Where will they come from?
- How much will they cost?
- What parts and systems will be made?
- What processes will be used?
- What questions need to be answered?
- How will it be evaluated?
- Your project should incorporate:
- 2D and 3D design
- Additive and subtractive fabrication processes
- Electronics design and production
- Embedded microcontroller design, interfacing, and programming
- System integration and packaging
- Where possible, you should make rather than buy the parts of your project.
- Projects can be separate or joint but need to show individual mastery of the skills and be independently operable.
Assignment:
Let's start.....................
Assignment
Questions about final proyect
What will it do?
My final project will be a Smart Bartender that automates the process of making cocktails. It will be able to mix different ingredients, measure them accurately, and serve the drinks with precision. The project will integrate various technologies such as microcontrollers, sensors, and actuators to create a fully functional machine. The main idea is to provide a user-friendly interface that allows users to select their desired cocktail, and the machine will prepare it automatically. I decided to create this project because I am passionate with technology and enjoy experimenting with different flavors and combinations in cocktails. The Smart Bartender will not only enhance the cocktail-making experience but also showcase my skills in electronics, programming, and design.
Who's done what beforehand?
Some Ideas I found of previous students in the Fab Academy that are similar to my project are:
- Mayra Alejandra Mamani López's Drink Mixing Machine
- The Gang Makes a Drinking Machine
- Drink Mixing Machine by EECS Shop Section
Mayra's project focuses on creating a drink mixing machine that automates the process of combining two different liquids. something really interesting about her project is that she used a MDF sheet of 12mm thickness to create the structure of the machine, which is a great choice for stability and durability.
This project involves a group of students who collaborated to create a machine that can mix drinks. Something I liked about this project is that they used a gravity-fed system to dispense the liquids, also they incorporated servo motors to control the valves that release the liquids, however, they used a moving platform to move the cups into position, somethin that I would like to avoid in my project.
This project like the previous one, involves a movile platform that moves the cups into position, however, they used pumping system to dispense the liquids, which is a different approach compared to the gravity-fed system used in the previous project. Using a pumping system can provide more control over the flow rate and volume, however, it can also increase the cost and complexity of the machine.
What sources will you use?
To define the electronic circuit of my project, I will use the following sources:
- Arduino Forum - Here some users dicussed the components and schematic of a relay board, which is essential for my project because I will use the same circuit to manage the coils of the solenoid valves, because has the same functionality as a relay, being both coils devices that can be controlled by a microcontroller.
- Raspberry Pi documentation - This documentation provides detailed information about the Raspberry Pi, including its hardware specifications, software setup, and programming guides. The main idea is to use the Raspberry Pi as the main controller for my project, allowing me to control a touch screen interface and manage the cocktail recipes.
- thecocktaildb - This is a website that provides a comprehensive database of cocktail recipes. I will use this resource to gather information about different cocktails, including their ingredients and preparation methods.
What will you design?
In my project, I will design the following components:
- Electronic Circuit: I will design the electronic circuit that will control the solenoid valves.
- Interface: I will design a user-friendly interface that will allow users to select their desired cocktail.
- 3D Models: I will create 3D models of the machine's components, including the structure, solenoid valve holders and rest of the parts that will be fabricated.
- MDF Sheet 5mm
- Bolts and nuts
- 3D Printing Filament
- Hose Tube
- Solenoid Valves
- Raspberry Pi
- Touch Screen Display
- DC-DC converter
- DC power supply
- Limit Switch or light sensor
- Wires
- SMD Electronic components: Resistors, transistors, optocouplers, connectors and LEDs
- La Mundial & Larach: I will purchase the MDF sheet, bolts, nuts, and hose tube from differents local hardware stores such as La Mundial and Larach, which are well-known suppliers in my area.
- C&D TecHNologia: I will purchase the solenoid valves, Raspberry Pi, touch screen display, DC-DC converter, DC power supply, limit switch or light sensor from this store is the only option in my city that sells these components.
- FabLab: I will also use the resources available at the FabLab like the 3d filament, wires and SMD electronic components.
- Frame: I will fabricate the frame of the machine using MDF sheet.
- Bottle and Solenoid Valve Holders: I will 3D print holders for the bottles and solenoid valves to ensure they are securely mounted and aligned.
- Cup Holder: I will design and 3D print a cup holder that can also detect when a cup is placed in position using a limit switch or light sensor
- Screen Enclosure: I will design and 3D print an enclosure for the touch screen display to protect it and integrate it into the machine.
- PCB: I will design and manufacture the PCB that control the solenoid valves.
- 3D Printing: I will use 3D printing to create the holders for the solenoid valves, cup holder, screen and joins for the frame.
- Laser Engraving: I will use laser engraving to create decorative elements and labels for the machine.
- CNC Machining: I will use CNC machining for the frame of the machine, and also for the PCB production.
What materials and components will be used?
The list of materials and components I will use in my project includes:
Frame
Electronics
Where will they come from?
The materials and components for my project will be sourced from the following places:
How much will they cost?
The estimated budget for my project is as follows:
| Component | Price (Lempiras) | Price (USD) |
|---|---|---|
| MDF Sheet 5mm | L.550.00 | $22.00 |
| Bolts and Nuts | L.300.00 | $12.00 |
| 3D Printing Filament | L.1200.00 | $47.00 |
| Hose Tube | L.400.00 | $67.00 |
| Solenoid Valves (6 units) | L.900.00 | $35.00 |
| Raspberry Pi | L.1,560.00 | $60.00 |
| Touch Screen Display | L.1850.00 | $72.00 |
| DC-DC Converter | L.300.00 | $12.00 |
| DC Power Supply | L.850.00 | $33.00 |
| Limit Switch or Light Sensor | L.200.00 | $8.00 |
| Total | L.9,310.00 | $380.00 |
Something important to consider is that the prices of the components may vary depending on the supplier and the availability of the components, also part of the components I will use will be provided by the FabLab, such as the 3D printing filament, wires and SMD electronic components, Raspberry Pi and the touch screen display, which will help to reduce the overall cost of the project.
What parts and systems will be made?
The parts and systems that I will fabricate or assemble for my project include:
What processes will be used?
The processes I will use in my project include:
Programming
In the interface I'm creating, I'm using a Raspberry Pi CM4, so I set up a simple OS provided by the same branch. This is really helpful because it is a Linux-based OS and allows us to control all the registers or simply use the kernel or libraries to interact with the outputs and inputs of the module.
For this project, I'm using Python because it's a simple language, and Raspberry Pi has a lot of libraries to interact with the hardware directly. Some disadvantages of this are that if the program is too complex or large, the system could be slow compared to using C++. However, for our requirements, using Python is more than enough.
I'm going to use the Python library RPi.GPIO to interact directly with the GPIOs. This is a very helpful library because we don't need to work directly with the registers. It allows us to set a specific pin as OUTPUT or INPUT to sense something or control a valve, as in our case. For the interface and to create buttons on the screen and interact with the touch, I'm using tkinter and PIL. These two libraries let us create graphic interfaces and process images, for example, adding a background image or a button to select a valve.
Example of how to use the libraries on a Raspberry Pi with Python
import tkinter as tk # To create graphic interfaces
from PIL import Image, ImageTk # To manage or manipulate images
import RPi.GPIO as GPIO # To interact with the Raspberry Pi GPIOs
# You can also add more libraries depending on your algorithmic needs
Source: Github Repository
Tasks Completed
- Tested the electronic components and parts.
- 2D frame designed.
- 3D parts designed.
- Hydraulic design completed.
- Set up the OS for the Raspberry Pi, in this case, Linux.
- Touch screen tested and working.
Tasks Remaind
- I need to complete the PCB control module.
- I need to cut the final frame; I already have all the materials.
- I need to print the remaining 50% of the 3D parts.
- Once assembled, I need to test the hoses and how the liquids move through the hydraulic system.
- I need to finish the interface and test the outputs.
What has worked and what hasn´t?
At this point, almost 60% of the system works as expected, including the solenoid valves, the Raspberry Pi, and the test PCB. However, something I am unsure about is whether the hoses I selected will work effectively. The main idea is to use gravity to move the liquids, but the internal diameter of the hoses is small, which could make the system slow. In that case, I have the option to add a pump to create vacuum in the system, but this is just a backup plan, and we need to test everything assembled first. Additionally, something that is not working right now is the cocktail database, which is incomplete and requires a lot of work. As a backup, I plan to create a manual interface that allows users to select the liquid manually and then dispense it.
What questions need to be answered?
- How can I ensure the solenoid valves operate reliably and accurately?
- How can I ensure the machine is safe to use, especially when dealing with liquids and electronics?
- What testing methods can I use to evaluate the accuracy of liquid measurements?
- How can I make the machine user-friendly and intuitive?
How will it be evaluated?
The project will be evaluated if:
- The machine operates reliably without errors or malfunctions.
- The user interface allows users to select cocktails easily.
- The solenoid valves dispense liquids with precision, ensuring accurate measurements for cocktails.
- The machine can detect the presence of a cup using a limit switch or light sensor before dispensing liquids.
What have I learned?
Things I have learned throughout this process include time management and the importance of documentation. Proper documentation helps avoid repeating past mistakes and provides a clear overview of progress and remaining tasks. This is crucial for identifying issues or problems during integration more quickly and making prompt changes to resolve them.
Conclusion
In conclusion, my final project integrates the skills and knowledge acquired throughout the Fab Academy course. It also allows us to utilize the technologies and processes learned in the course, such as 3D printing, laser cutting, electronics design, and programming, to create a functional and innovative machine. One important aspect to consider is the documentation we need to include as we work on the assignment or project to avoid forgetting important details or steps. This also helps us manage our time and resources more effectively.