Proiectul constă într-un automat de gustări interactiv, care permite utilizatorului să aleagă una dintre cele trei gustări disponibile, folosind un sistem cu butoane, LED-uri, servomotoare și un buzzer. Utilizatorul poate naviga manual prin opțiuni cu ajutorul unui buton de selecție, iar LED-urile indică vizual poziția curentă (albastru, verde sau roșu). La confirmarea comenzii, se declanșează o animație luminoasă, un semnal sonor din buzzer, iar servomotorul corespunzător deschide trapa pentru livrarea gustării.
Pe lângă selecția manuală, dispozitivul include și un al treilea buton pentru selecție aleatorie, care adaugă o componentă ludică sistemului. La apăsarea acestuia, una dintre gustări este aleasă în mod aleator și livrată instant, oferind un element de surpriză și amuzament.
Scopul proiectului este de a crea un sistem simplu, funcțional și intuitiv, care să ofere o experiență interactivă și plăcută în distribuirea gustărilor. Automatizarea parțială prin servomotoare adaugă un element practic și vizual, transformând un proces banal într-o activitate distractivă.
Proiectul poate fi utilizat în mediul casnic, la birou sau la evenimente, oferind o metodă inedită și simpatică de servire a gustărilor. Alegerea gustării devine astfel nu doar o acțiune utilitară, ci și un moment de interacțiune și divertisment.
Dispozitivul este alcătuit din următoarele componente principale:
Lista de piese:
Schemă electrică:
Conexiuni pini:
Pin Arduino | Tip | Conectat la | Descriere |
---|---|---|---|
D2 | Digital / INT0 | Buton dreapta | Confirmare selecție gustare. Folosește întrerupere externă INT0 cu debounce software. |
D3 | PWM software | Servomotor 3 (SG90) | PWM software generat manual. Deschide trapa pentru gustarea 3. |
D5 | Digital | LED albastru | Aprins când selecția este pe gustarea 1. |
D6 | Digital | Buton stânga | Navighează între cele 3 selecții (gustări). Folosește `INPUT_PULLUP` și polling. |
D7 | Digital | Buzzer activ | Bipuri scurte sau lungi în funcție de acțiune (confirmare sau schimbare selecție). |
D8 | Digital | LED roșu | Aprins când selecția este pe gustarea 3. |
D9 (OC1A) | PWM hardware | Servomotor 1 (SG90) | PWM generat de Timer1. Controlează trapa pentru gustarea 1. |
D10 (OC1B) | PWM hardware | Servomotor 2 (SG90) | PWM generat de Timer1. Controlează trapa pentru gustarea 2. |
D12 | Digital | LED verde | Aprins când selecția este pe gustarea 2. |
D13 | Digital | Buton random | Alege aleator o gustare și activează servomotorul corespunzător. |
A0 | Analog input | Zgomot random (ADC) | Valoare citită pentru seed-ul generatorului aleator (`srand(ADC)`). |
GND | Power | Masă comună | Conexiune de masă pentru toate componentele. |
5V | Power | Servomotoare, LED-uri, buzzer | Tensiune de alimentare distribuită prin breadboard pentru toate componentele de control. |
Dispozitivul este alcătuit din următoarele componente principale:
Arduino UNO (ATmega328P): Reprezintă unitatea centrală de control. Gestionează stările de selecție, controlează LED-urile și buzzerul, și acționează cele 3 servomotoare pentru eliberarea gustărilor.
Servomotoare (SG90):
LED-uri: Trei LED-uri semnalizează vizual selecția curentă. Fiecare LED corespunde unei gustări:
Doar un LED este activ la un moment dat, în funcție de selecție.
Buzzer: Emite semnale sonore pentru a confirma interacțiunile:
Butonul de selecție (D6): Permite navigarea ciclică prin cele trei gustări. La fiecare apăsare, starea curentă este incrementată, iar LED-ul activ se actualizează în consecință.
Butonul de confirmare (D2): Activează procesul de livrare. Este tratat printr-o întrerupere externă (INT0) cu debounce software. La apăsare, se declanșează:
Butonul de selecție aleatorie (D13): Permite alegerea aleatorie a unei gustări. La apăsare, se generează un număr aleator între 0 și 2 și se acționează servomotorul corespunzător, fără a modifica selecția curentă sau LED-ul activ.
Funcții auxiliare:
Securitate software: Pentru a preveni declanșarea multiplă accidentală:
• Sistemul permite selecția clară a uneia dintre cele 3 gustări, semnalizată prin LED-uri colorate.
• Confirmarea comenzii declanșează animația LED, bipuri din buzzer și acționarea servomotorului.
• Selecția aleatorie funcționează corect, fără a afecta selecția curentă.
• Servomotoarele sunt controlate eficient: 2 prin PWM hardware, 1 prin PWM software.
• Interacțiunile sunt însoțite de feedback sonor și vizual.
• Sistemul este stabil și responsiv, cu debounce software și mesaje UART de debug.
Proiectul a reușit să integreze cu succes conceptele studiate în cadrul laboratoarelor, precum GPIO, PWM, întreruperi, UART și ADC, într-un sistem embedded funcțional, intuitiv și bine structurat. Programarea low-level, realizată fără librării externe, mi-a oferit control total asupra componentelor hardware și o înțelegere clară a modului în care acestea colaborează în timp real.
Sunt mulțumit că am reușit să implementez de la zero un automat de gustări complet funcțional, parcurgând toate etapele dezvoltării — de la schițarea logicii și testarea componentelor pe breadboard, până la integrarea finală, debugging și realizarea unei interfețe simple și prietenoase pentru utilizator.
A fost o experiență practică și formativă, care m-a ajutat să înțeleg mai profund modul în care se proiectează și se implementează un sistem embedded complet, cu aplicabilitate reală.