This is an old revision of the document!


SafeDose

Introducere

SafeDose este un dispozitiv embedded care ajută utilizatorul să respecte corect programul de administrare a medicamentelor. Sistemul oferă notificări la orele stabilite și indică utilizatorului compartimentul corespunzător dozei care trebuie administrată.

Dispozitivul verifică dacă utilizatorul a accesat compartimentul corect, folosind contacte mecanice montate pe compartimente. Dacă utilizatorul deschide compartimentul potrivit, sistemul marchează doza ca fiind administrată corect. Dacă nu există nicio acțiune într-un anumit interval de timp sau este accesat un compartiment greșit, doza poate fi considerată ratată sau incorectă.

Ideea proiectului a pornit de la problema uitării sau administrării greșite a medicamentelor, mai ales în cazul persoanelor care urmează tratamente zilnice sau au mai multe doze programate. SafeDose propune o soluție simplă, accesibilă și locală, care nu depinde de telefon mobil sau conexiune la internet.

Scopul proiectului este construirea unui prototip funcțional de cutie inteligentă pentru medicamente, capabilă să combine notificarea utilizatorului cu verificarea fizică a compartimentului accesat.

Descriere generală

Sistemul este organizat în următoarele module:

Module hardware

  • Unitate de control – placa de dezvoltare ATmega328P Xplained Mini controlează întregul sistem și gestionează interacțiunea dintre componente.
  • Modul de timp real – modulul RTC DS3231 menține ora curentă și permite declanșarea notificărilor la orele programate.
  • Afișaj – display-ul LCD 1602 afișează ora curentă, starea sistemului și instrucțiuni pentru utilizator.
  • Feedback sonor – buzzer-ul activ avertizează utilizatorul atunci când trebuie administrată o doză.
  • Feedback vizual – LED-urile indică compartimentul din care trebuie luat medicamentul.
  • Detectare compartimente – microswitch-urile detectează deschiderea compartimentelor.
  • Intrare utilizator – butoanele permit navigarea prin meniu și configurarea programului de administrare.

Interacțiunea modulelor

Utilizatorul setează ora administrării și compartimentul asociat dozei. Modulul de timp real furnizează ora curentă către unitatea de control. Atunci când ora curentă coincide cu o doză programată, sistemul activează buzzer-ul și LED-ul asociat compartimentului corect. După deschiderea unui compartiment, contactul mecanic transmite starea către microcontroller, iar sistemul verifică dacă acțiunea utilizatorului este corectă.

Schema bloc

Schema bloc a sistemului SafeDose evidențiază modul în care placa ATmega328P Xplained Mini comunică cu modulele externe și coordonează funcționalitatea proiectului.

                         +----------------------+
                         |      Utilizator      |
                         +----------+-----------+
                                    |
                                    | Butoane / interacțiune
                                    v
+----------------+        +--------------------------+        +----------------+
| Modul RTC      | I2C    | ATmega328P Xplained Mini | I2C    | Display LCD    |
| DS3231         +------->|                          +------->| 1602 I2C       |
+----------------+        |                          |        +----------------+
                          |                          |
                          |                          | GPIO/PWM
                          |                          v
                          |                    +-------------+
                          |                    | Buzzer      |
                          |                    +-------------+
                          |
                          | GPIO
                          v
                    +-------------+
                    | LED-uri     |
                    | compart.    |
                    +-------------+
                          |
                          | indică doza corectă
                          v
                  +-------------------+
                  | Compartimente     |
                  | medicamente       |
                  +-------------------+
                          ^
                          | GPIO
                          |
                    +-------------+
                    | Microswitch |
                    | / senzori   |
                    +-------------+

Placa ATmega328P Xplained Mini reprezintă unitatea centrală a sistemului. Modulul RTC și display-ul LCD comunică prin interfața I2C, iar LED-urile, buzzer-ul, butoanele și microswitch-urile sunt controlate prin pini digitali. Partea software coordonează notificările, verificarea compartimentului accesat și actualizarea interfeței cu utilizatorul.

Hardware Design

Lista de componente

Componentă Cantitate Rol
ATmega328P Xplained Mini 1 Microcontroller principal
Modul RTC DS3231 I2C 1 Menținerea timpului real
LCD 1602, 16×2 1 Afișarea informațiilor
Modul interfață I2C pentru LCD 1602 1 Reducerea numărului de conexiuni pentru LCD
Buzzer activ 5V 1 Notificare sonoră
LED-uri 5mm 4 Indicator vizual pentru compartimente
Rezistențe 220Ω 4 Limitare curent pentru LED-uri
Microswitch / limit switch cu pârghie 4 Detectarea deschiderii compartimentelor
Butoane fără reținere 3 Interacțiune utilizator: UP, DOWN, SELECT
Rezistențe 10kΩ 3 Pull-up / pull-down pentru butoane, dacă nu se folosesc rezistențele interne
Rezistențe 4.7kΩ 2 Pull-up pentru magistrala I2C, opțional
Condensatori 100nF 2-4 Stabilizare alimentare, opțional
Breadboard 1 Platformă de prototipare
Fire Dupont tata-tata 1 set Interconectare pe breadboard
Fire Dupont tata-mamă 1 set Conectare module externe
Organizator medicamente 1 Structură fizică pentru compartimente

Conectare generală

Modulul RTC DS3231 și display-ul LCD folosesc aceeași magistrală I2C. Ambele module sunt conectate la liniile SDA și SCL ale plăcii ATmega328P Xplained Mini, împărțind aceeași magistrală de comunicație.

LED-urile sunt conectate la pini digitali prin rezistențe de 220Ω, pentru limitarea curentului. Fiecare LED corespunde unui compartiment și indică vizual doza care trebuie administrată.

Microswitch-urile sunt montate astfel încât să fie acționate de deschiderea sau închiderea compartimentelor. Fiecare microswitch este conectat la un pin de intrare al microcontrollerului. În implementare se poate folosi configurația INPUT_PULLUP, astfel încât intrarea să aibă o stare stabilă fără rezistențe externe suplimentare.

Butoanele sunt folosite pentru interacțiunea cu utilizatorul. Acestea permit navigarea prin meniu și selectarea opțiunilor. Buzzer-ul este utilizat pentru notificarea sonoră a utilizatorului atunci când este timpul pentru administrarea unei doze.

Metodă de implementare hardware

Prototipul este realizat pe breadboard, fără PCB, pentru a permite testarea rapidă și modificarea ușoară a conexiunilor în timpul dezvoltării. Firele sunt organizate astfel încât alimentarea, masa și semnalele digitale să poată fi urmărite ușor.

Această metodă este potrivită pentru etapa de prototipare, deoarece permite testarea individuală a modulelor înainte de integrarea completă. Pentru o versiune finală, circuitul poate fi mutat pe o placă PCB sau pe o placă de prototip cu lipituri pentru o fiabilitate mai bună.

Laboratoare utilizate

Proiectul folosește funcționalități din mai multe laboratoare:

Laborator Funcționalitate folosită Utilizare în proiect
Laboratorul 0 GPIO Control LED-uri, citire butoane și citire microswitch-uri
Laboratorul 2 Întreruperi Detectarea rapidă a apăsării butoanelor sau schimbării stării compartimentelor
Laboratorul 3 Timere / PWM Gestionarea alertelor și controlul buzzer-ului
Laboratorul 6 I2C Comunicare cu RTC DS3231 și LCD 1602 I2C

Astfel, proiectul înglobează cel puțin trei noțiuni din laboratoare și utilizează mai mult de trei componente periferice externe.

Bibliografie/Resurse

Resurse Hardware

  • ATmega328P Datasheet – Microchip
  • DS3231 Datasheet – Analog Devices / Maxim Integrated
  • LCD 1602 Datasheet
  • PCF8574 I2C LCD Backpack Documentation
  • Documentație ATmega328P Xplained Mini

Resurse Software

  • AVR Libc Documentation
  • Arduino Wire Library / I2C documentation
  • LiquidCrystal_I2C Library
  • DS3231 RTC Library
pm/prj2026/andrei.batasev/maria_alexia.balcan.1777929328.txt.gz · Last modified: 2026/05/05 00:15 by maria_alexia.balcan
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0