This shows you the differences between two versions of the page.
pm:prj2025:avaduva:george_matei.popa [2025/05/30 09:42] george_matei.popa [Software Design] |
pm:prj2025:avaduva:george_matei.popa [2025/06/01 19:09] (current) george_matei.popa [Software Design] |
||
---|---|---|---|
Line 7: | Line 7: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Proiectul meu constă într-un aparat automat de preparare a cocktailurilor, bazat pe placa Arduino Uno R3 și echipat cu patru pompe controlate prin relee, un LCD keypad shield pentru selectarea rețetelor și un buzzer care semnalizează și întreține atmosfera cu muzică. Scopul meu a fost să automatizez dozarea precisă a ingredientelor pentru a obține consistența băuturilor și să creez o experiență interactivă. Ideea mi-a venit la o petrecere, când încercam să îmi prepar o băutură și dozajul nu îmi ieșea corect, iar atunci m-am gândit că ar fi fost mult mai ușor dacă exista un automat care să facă asta pentru mine. Cred că proiectul este util atât pentru petreceri, cât și pentru baruri de acasă, oferind un mod interactiv și precis de servire a băuturilor. | + | My project consists of an automatic cocktail-making machine, based on the Arduino Uno R3 board and equipped with four pumps controlled via relays, an LCD keypad shield for selecting recipes, and a buzzer that signals and enhances the atmosphere with music. My goal was to automate the precise dosing of ingredients to ensure drink consistency and to create an interactive experience. The idea came to me at a party, when I was trying to make myself a drink and couldn't get the proportions right — that’s when I thought it would be much easier if there were a machine to do it for me. I believe the project is useful both for parties and for home bars, offering an interactive and precise way of serving drinks. |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
Schema bloc | Schema bloc | ||
Line 22: | Line 21: | ||
| R3 | | | R3 | | ||
| | | | | | ||
- | +--+--+--+--+--+--+ | + | +----+-------+----+ |
- | | | | | | | + | | | |
- | +----------------+ | | | | | +-------------+ | + | +-------------+ +-------------+ |
- | | Buzzer |<-----+ | | | +------>|Rele Module 1+-------------------------+ | + | | | |
- | +----------------+ | | | +-------------+ | | + | v v |
- | | | | +-------------+ | | + | +------------------+ +---------------------+ |
- | | | +--------->|Rele Module 2+------------------+ | | + | | Buzzer (via NPN)| | 74HC595 (SPI) | |
- | | | +-------------+ | | | + | +--------+---------+ +----------+----------+ |
- | | | +-------------+ | | | + | | | |
- | | +------------>|Rele Module 3+---------+ | | | + | | +-----+-----+ |
- | | +-------------+ | | | | + | | | | |
- | | +-------------+ | | | | + | | +--+--+ +--+--+ |
- | +--------------->|Rele Module 4| | | | | + | | |Rele1| |Rele2| |
- | +----+--------+ | | | | + | | +--+--+ +--+--+ |
- | | | | | | + | | | | |
- | +---------------------------------+ | | | | + | | +--+--+ +--+--+ |
- | | +--------------------------------+ | | | + | | |Rele3| |Rele4| |
- | | | +-------------+ | | + | | +--+--+ +--+--+ |
- | | | | | | + | | | | |
- | v v v v | + | | | | |
- | +--------------+ +--------------+ +--------------+ +--------------+ | + | | | | |
- | | Pompa YX 4 | | Pompa YX 3 | | Pompa YX 2 | | Pompa YX 1 | | + | | | | |
- | +--------------+ +--------------+ +--------------+ +--------------+ | + | v v v |
+ | +--------------+ +--------------+ +--------------+ | ||
+ | | GND | | Pompa YX 1 | | Pompa YX 2 | | ||
+ | +--------------+ +--------------+ +--------------+ | ||
+ | |||
+ | +--------------+ +--------------+ | ||
+ | | Pompa YX 3 | | Pompa YX 4 | | ||
+ | +--------------+ +--------------+ | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 54: | Line 60: | ||
* LCD keypad shield (x1) | * LCD keypad shield (x1) | ||
* Buzzer (x1) | * Buzzer (x1) | ||
+ | * NPN transistor | ||
+ | * 1k ohm resistor | ||
* Switch | * Switch | ||
* Type C Plug | * Type C Plug | ||
Line 89: | Line 97: | ||
* Used to produce a sound at the beginning/end of distribution, for error alerts and playing ambient music. | * Used to produce a sound at the beginning/end of distribution, for error alerts and playing ambient music. | ||
- | * Connected to a digital pin. | + | * Connected to a digital pin via an npn transistor. |
**Switch** | **Switch** | ||
Line 217: | Line 225: | ||
Analog Button Input: button_read() | Analog Button Input: button_read() | ||
+ | |||
Reads analog value from A0. | Reads analog value from A0. | ||
Maps the value to: | Maps the value to: | ||
- | RIGHT, UP, DOWN, LEFT, SELECT, or NONE (debounced). | + | * RIGHT, UP, DOWN, LEFT, SELECT, or NONE (debounced). |
Adds a delay to avoid bounce/misreads. | Adds a delay to avoid bounce/misreads. |