Proiectul consta intr-un dozator de sucuri. Cu ajutorul unui ecran LCD pe care este afisata bautura curenta si a unui buton se poate cicla prin lista de bauturi disponibile. Odata selectata bautura, se va apasa pe alt buton,iar atat timp cat acesta va fi actionat, o pompa va turna suc din recipientul corespunzator.
Modul de functionare este destul de simplu. Vor exista 2 butoane de input, de la care Arduino va primi semnale. Outputul va fi dat de ecranul LCD si de semnalul de control al pompelor.
Lista de piese
Schema electrica
Am adaugat relee in Paint deoarece in Tinkercad trebuia inclus si un tranzistor de comanda, asa ca mi s-a parut mai usor doar sa le desenez. Principala problema pe care am intampinat-o la partea de hardware a fost faptul ca odata ce pompa era actionata, ecranul LCD arata valori random si nu isi revenea decat daca resetam placuta. Dupa putin sapat si reamintit despre circuitele RC, am adaugat condensatoare si diode la fiecare pompa, cat si un condensator la ecranul LCD, lucru care a rezolvat problema.
Implementarea este destul de simpla si usor de inteles. La apasarea unui buton se cicleaza printr-o lista de bauturi disponibile, optiunea curenta afisandu-se pe ecranul LCD. Cat timp este actionat celalalt buton, pompa pentru optiunea curenta este activata. Pentru controlarea constrastului LCD-ului am folosit pin-ul 9, iar pentru a evita debounce-ul butonului am folosit exemplul din laborator.
Pentru LCD-ului am folosit biblioteca LiquidCrystal.h, care a facilitat un control usor al ecranului. Mediul de dezvoltare folosit a fost Arduino IDE.
Proiectul isi indeplineste functionalitatiile, doar ca ar mai trebui lucrat pe partea de wire management si prezentare.
Un video unde sunt demonstrate functionalitatiile se gaseste aici: https://youtu.be/i34zmP70ik8
Cel mai probabil ar fi trebuit sa folosesc o alimentare externa pentru pompe, deoarece ecranul LCD isi pierde din intensitate atunci cand pompele functioneza. O alta idee ar fi folosirea unor valve si a unei singure pompe sau adaugarea unui cantar pentru a transforma dozatorul intr-un cocktail maker. De asemenea, ar mai trebui lucrat la wire management si prezentarea propriu zisa, dar eu unul sunt multumit ca am reusit sa il aduc pana aici.
A fost foarte interesant si mi-a placut sa lucrez la ceva ce presupune lipirea de componente, lucrul cu fire,lemn chiar, electronica pe alocuri, dar si programare. A fost primul proiect de acest tip si sper ca nu va fi ultimul pe care il voi realiza.
Codul sursa: cocktail.zip
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.
Laboratoarele de PM: https://ocw.cs.pub.ro/courses/pm/lab/lab1-2022
Tutorial LCD: https://create.arduino.cc/projecthub/hrsajjad844/lcd-display-without-potentiometer-and-resistor-0d1357
Tutorial cocktail maker: https://create.arduino.cc/projecthub/Seafox_C/cheap-portable-cocktail-maker-barbot-with-app-4f9079