This is an old revision of the document!
This Arduino-based system offers a convenient and customizable way to make delicious cocoa milk drinks at home. The project contains a smart liquid dispenser with a keyboard that allows the user to input the desired quantity of milk and a distance sensor that detects the presence of a cup to activate the powder dispensing mechanism. The idea behind this project was to simplify and automate the process of making these drinks and ensure consistent quality every time. MilkyWay Maker is a project that was born out of a love for milk-coffee beverages, such as Nescafe and Nesquik thus I strongly believe that this project is not only useful for coffee lovers, but also for those interested in learning about electronics and programming.
The user can input the desired quantity of milk using the keyboard, and the system dispenses the milk accordingly. The distance sensor detects the presence of a cup, activating the powder dispensing mechanism to add the cocoa powder. This ensures that the drink is prepared accurately and consistently every time.
The project is not only aimed at coffee lovers but also at those interested in learning about electronics and programming. It combines the functionality of Arduino, the convenience of automation, and the enjoyment of delicious milk-coffee beverages. The provided code includes various functionalities, such as reading the keypad inputs, controlling the servo motor, calculating the flow rate of milk, displaying information on an LCD screen, and playing beep sequences for notifications.
Below is the overall flow and explanation of the code. It combines input from the keypad, measurements from the ultrasonic sensor and flow sensor, and control of the water pump and servo motor to automate the process of dispensing milk based on the desired volume.
setup()
function to initialize the settings and configurations of the Arduino board and connected components. Set pin modes, attach interrupts, and initialize the LCD display.loop()
function, which is the main execution loop of the program. It continuously checks for inputs from the keypad and performs actions based on the input. It also checks for the presence of a cup using the ultrasonic sensor and controls the servo motor accordingly.loop()
function and accumulate them to form a volume value. Display the entered volume on the LCD display.pulseCounter()
function, which is an interrupt service routine that increments a pulse count variable. It is triggered by the falling edge of the pulse from the flow sensor, indicating the flow of liquid.resetProcess()
function to reset the variables and settings related to the flow measurement process. Clear the LCD display, set it to the initial state, and initialize the necessary variables.getDistance()
function to measure the distance using the ultrasonic sensor. Send a trigger pulse and calculate the duration of the echo pulse to determine the distance. Return the distance value in centimeters.playBeepSequence()
function to generate a beep sound using a buzzer. Play a sequence of three short beeps with a delay between them.
Looking forward, the project holds immense potential for customization and expansion. The Arduino platform allows for further enhancements and the addition of new features. For instance, I could explore incorporating temperature control to ensure the perfect brewing temperature or create programmable recipes to cater to different coffee preferences. This adaptability and room for growth make the Milky Way Maker a truly versatile and dynamic coffee maker machine.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.