This is an old revision of the document!
În viața de zi cu zi, sarcinile simple pot deveni poveri copleșitoare pentru anumite persoane, mai ales pentru cele care se confruntă cu probleme de sănătate sau cu limitări cognitive. Administrarea medicamentelor la ore fixe, o rutină banală pentru unii, devine pentru bolnavi o provocare constantă, o luptă tăcută cu timpul. Această dificultate este resimțită cu atât mai acut de pacienții care suferă de afecțiuni precum boala Alzheimer, unde uitarea administrării tratamentului poate avea consecințe grave.
Pornind de la această nevoie reală, proiectul propus urmărește realizarea unui dispenser automat de pastile. Acesta va fi capabil să depoziteze pastilele și să le elibereze automat la orele programate. Pentru a asigura notificarea eficientă a utilizatorului, dispozitivul va utiliza semnalizare vizuală prin LED-uri și semnalizare auditivă printr-un buzzer. Scopul acestui proiect este de a oferi un sprijin esențial pacienților care trebuie să urmeze tratamente medicamentoase stricte, reducând astfel riscul uitării sau al administrării incorecte.
2) Arduino Uno preia inputul si il salveaza, folosind modulul RTC pentru a verifica constant ora curenta.
3) La ora programata:
4) Eliberare automata:
Componente
Proiectul este complet funcțional și a fost testat integral în condiții reale. Interfața permite programarea a până la 3 compartimente, fiecare cu ora și minut de activare, cu opțiune de repetare. Se utilizează un ecran LCD I2C pentru afișare, o tastatură 4×4 pentru introducerea datelor, și un modul RTC DS3231 pentru timp real. Sistemul deschide automat compartimentul potrivit folosind un servomotor, și oferă feedback sonor și vizual prin buzzer și LED.
1. Wire.h
2. LiquidCrystal_I2C.h
3. Servo.h
4. Keypad.h
5. RTClib.h
FSM (Finite State Machine) pentru logica de interactiune:
Starea ASTEPTARE
Aceasta este starea implicita, in care dispozitivul:
A
: Afiseaza numarul de compartimenre libere.B
: Afiseaza programarile existente pentru compartimentele ocupate.C
: Afiseaza ora curenta de la modulul RTC.INTRO_HHMM
), daca mai sunt compartimente disponibile.
Starea INTRO_HHMM
In aceasta stare:
#
finalizeaza introducerea si trece in starea INTRO_RECURENTA
.
Starea INTRO_RECURENTA
1
) sau unica (0
).compartimente[]
, iar sistemul deschide compartimentul temporar pentru plasarea medicamentelor.ASTEPTARE
sau se incheie daca toate cele 3 compartimente sunt programate. Loop-ul principal:
Debouncing software pentru tastatura si buton:
Manipulare directa a registrelor (PORTC, PINC, DDRC) pentru:
Programare cu RTC:
Servo control secvential:
struct Programare { int ora; int minut; bool recurent; };
Este folosit pentru a stoca programarile fiecarui compartiment. Vectorul :
Programare compartimente[3];
reprezinta cele 3 compartimente ale sistemului.
loop()
.DEMO: [Link](https://www.youtube.com/watch?v=778pTGQ6WSM&ab_channel=AlexandraElena)
Github: [Link](https://github.com/alexandra200312/Dispenser_medicamente)
A fost un proiect solicitant. Am constientizat ca am nevoie neaparat de o surubelnita in casa.
[Link](file:/C:/Users/Lenovo/Downloads/Guide.pdf) [Link](https://www.youtube.com/watch?v=zvCdkV52cis&ab_channel=RosieResearch) [Link](https://www.google.com/search?q=how+to+connect+a+buzzer+on+arduino&num=12&sca_esv=4ab96c2739f14cca&rlz=1C1GCEU_roRO1161RO1161&udm=7&biw=1536&bih=695&sxsrf=AE3TifP1Sdg0J9Zoe_LY571M1TmJAfM-RQ%3A1748352510644&ei=_r01aJODJ_a9i-gP65LGkQ4&ved=0ahUKEwiT-trS4MONAxX23gIHHWuJMeIQ4dUDCBA&uact=5&oq=how+to+connect+a+buzzer+on+arduino&gs_lp=EhZnd3Mtd2l6LW1vZGVsZXNzLXZpZGVvIiJob3cgdG8gY29ubmVjdCBhIGJ1enplciBvbiBhcmR1aW5vMgYQABgWGB4yCBAAGBYYChgeMgYQABgWGB4yBhAAGBYYHjIIEAAYFhgKGB4yBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yBhAAGBYYHjIGEAAYFhgeSO42UJ0BWPM0cAJ4AJABAJgBoQGgAYIdqgEEMC4zMbgBA8gBAPgBAZgCFqACohTCAggQABiABBiiBMICBRAAGO8FwgIEECMYJ8ICBRAAGIAEmAMAiAYBkgcEMi4yMKAH8OMBsgcEMC4yMLgHmBTCBwYwLjEuMjHIB2M&sclient=gws-wiz-modeless-video#fpstate=ive&vld=cid:45f83c70,vid:gj-H_agfd6U,st:0) [Link](https://www.youtube.com/shorts/9kcwwIKglWU?feature=share) <html><a class=“media mediafile mf_pdf” href=”?do=export_pdf”>Export to PDF</a></html>