Table of Contents

Automatic Pill Dispenser

Vasile Patricia 334CC

Introducere

Prezentarea pe scurt a proiectului meu: Acest proiect presupune implementarea unui automat pentru eliberarea unor pastile la un moment de timp prestabilit de catre utilizator. Acesta are optiunea de a seta timpul la care doreste sa ia o pastila si automatul ii va elibera la ora prestabilita pastila.De asemenea, utilizatorul are posibilitatea de a apasa un buton pentru a primi o pastila in acel moment. Timplul ramas pana la eliberarea unei pastile va fi afisat pe un ecran LCD.

Descriere generală

Functionalitatea proiectului: User-ul se foloseste de cele 3 butoane pentru a seta ora si minutul la care sa se elibereze pastila.Alegerea datei va fi intermediata de ecranul LCD, unde vor fi afisate optiunuile pe care utilizatorul le va alege. De asemenea, exista si un buton care declanseaza instant mecanismul. Pastilele se afla intr-un recipient tip palnie aflat atasat de componenta rotativa care se misca cu ajutorul motorului. In momentul in care o pastila trebuie sa fie eliberata, se declanseaza motorul care e atasat de componenta rotativa. Motorul va executa o rotire a componentei rotative intr-o directie pentru ca slot-ul pentru pastila sa se afle in dreptul paharului si va reveni ulterior in pozitia initiala, lasand pastila sa cada in pahar. Paharul se afla pe o langa un senzor PIR, care timp de cinci minute detecteaza miscarea din jurul paharului, daca nu este detectata nicio miscare, se va activa melodia de reminder din nou. Acesta exista pentru a verifica daca utilizatorul ia paharul, deci medicamentul. Atunci cand este eliberata o pastila, se vor activa atat buzzer ul cat si led-ul, iar ecranul LCD va afisa un mesaj corespunzator.

Scurta descriere a componentelor:

  • LED → O diodă emitatoare de lumină (LED) este o sursă de lumină semiconductoare

care emite lumină atunci când curge curent prin ea. Electronii din semiconductori se recombină cu găuri de electroni, eliberând energie sub formă de fotoni.

  • Rezistenta → Componenta pasiva cu doua terminale, folosita in cazul de fata pentru a

reduce debitul de curent pentru o mai buna functionalitate a circuitului.

  • LCD 16 x 2 → Ecran folosit pentru a scrie diverse mesaje. Este denumit astfel deoarece

are 16 coloane și 2 rânduri. Deci, va avea 32 de caractere în total și fiecare caracter va fi format din 40 pixeli pentru 32 de caractere vom avea (32 × 40) 1280 de pixeli.

  • Buzzer → Un dispozitiv de semnalizare audio, care poate fi mecanic, electromecanic

sau piezoelectric (piezo pe scurt). Utilizările tipice ale buzzerelor și semnalelor sonore includ dispozitive de alarmă, temporizatoare și confirmarea intrării utilizatorului, cum ar fi un clic de mouse sau o apăsare de tastă.

  • PIR senzor - Senzorii cu infraroșu pasiv (PIR) utilizează o pereche de senzori

piroelectrici pentru a detecta energia termică din mediul înconjurător. Acești doi senzori stau unul lângă celălalt și atunci când diferențialul de semnal dintre cei doi senzori se schimbă senzorul se va activa.

Hardware Design

Ma voi folosi de urmatoarele componente Hardware:

  • Arduino Uno x 1
  • Motor Servo 9 g
  • Ecran LCD(16×2) x 1
  • Led
  • Buton x 4
  • Buzzer x 1
  • Senzor de proximitate x1
  • Breadbord x 1
  • Rezistor 220 ohmi
  • Fire de legatura -

Schema Electrica

Software Design

Biblioteci utilizate

Servo.h - pentru motor

hd44780.h - pentru ecranul LCD

Structura codului:

Functia setup: Initializez ledul, senzorul pir,buzzerul,motorul,ecranul lcd

Functia music: Fac buzzer ul sa sune dupa o melodie

Functia drop pill: Afisez un mesaj corespunzator si dupa activez motorul pentru a cadea pastila, aprind led ul si pornesc melodia apeland music

Functia forgot pill: Daca senzorul PIR nu detecteaza nicio miscare dupa eliberarea pastilei timp de 5 minute, se apeleaza aceasta functie, care mai activeaza led ul si melodia.

Functia set_time: In functie de cele 3 butoane, de confirm, minut, ora si cu ajutorul ecranului LCD, utilizatorul seteaza peste cat timp doreste sa ia pastila. De asemenea, mai exista un buton care elibereaza pastila automat.

Functia loop: Intai setez cu ajutorul butoanelor ora si minutul, dupa incepe numaratoarea. Ecranul LCD va afisa cate minute au ramas in fiecare moment. Cand numaratoarea se termina, pastila e eliberata, si senzorul incearca timp de 5 minute sa detecteze miscare in jurul paharului.. Daca nu, se va reactiva alarma.

Rezultate Obţinute

Pasii de utilizare

Concluzii

Prin prisma acestui proiect, am reusit sa inteleg mai bine importanta si utilitatea Iot in viata de zi cu zi.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

20.04.2022

29.04.2022

23.05.2022

25.05.2022

26.05.2022

Bibliografie/Resurse

Laboratorul de pm

Forumul Arduino pentru diverse bug uri intalnite + gasire bibloteci

Stack Overflow ajutor bug fix -uri

Export to PDF