LensCare este un sistem portabil ce ajută purtătorii de lentile de contact să își monitorizeze timpul de purtare zilnic și să primească alerte vizuale și sonore când este timpul să le schimbe. Monitorizează și calitatea aerului din cameră (importantă pentru sănătatea oculară), afișând toate informațiile relevante pe un ecran LCD.
Scopul proiectului este de a oferi un dispozitiv de asistență personală accesibil și intuitiv care încurajează igiena corectă în utilizarea lentilelor și protejarea sănătății ochilor.
Ideea a pornit din nevoia personală și generală a utilizatorilor de lentile de a urmări durata purtării acestora și de a preveni uzura excesivă.
Este util atât pentru utilizatorii de lentile cât și pentru dezvoltatori interesați de aplicații embedded legate de sănătate personală.
Modul principal: Arduino Uno (ATmega328P)
Module hardware:
Interacțiune:
Schema Bloc:
Schema Electrica:
Componente:
Componenta | Rol in proiect |
ATmega328P (Arduino Uno) | Microcontrollerul principal. Gestioneaza senzorul, logica, LED-ul RGB, LCD, buzzerul si butonul. |
Senzor MQ135 | Masoara calitatea aerului si trimite o valoare analogica. |
LCD 16×2 cu interfata I2C | Afiseaza zilele ramase pana la schimbarea lentilelor, timpul purtat si calitatea aerului. |
LED RGB | Ofera feedback vizual: verde = OK, galben = aproape de termen, rosu = trebuie schimbate lentilele. |
Buzzer pasiv | Ofera alerte sonore cand expira perioada de utilizare a lentilelor. |
Buton tactil | Permite utilizatorului sa pornească sau sa oprească cronometrul zilnic. |
Rezistente | Limitare curent pentru LED-uri. |
Condensator 100nF | Reduce bouncing-ul mecanic al butonului. |
Breadboard + fire | Conectare fizica a componentelor. |
Componenta | Pin ATmega328P | Modul folosit |
MQ135 (AOUT) | PA0 / ADC0 | ADC |
LCD 16×2 I2C | PC4 (SDA), PC5 (SCL) | TWI/I2C |
LED R | PD5 (OC0B) | Timer0 - PWM |
LED G | PD6 (OC0A) | Timer0 - PWM |
LED B | PB1 (OC1A) | Timer1 - PWM |
Buzzer | PD3 (OC2B) | Timer2 - PWM |
Buton | PD2 (INT0) | GPIO + Interrupt |
VCC / GND | – | Alimentare |
Interactiunea componentelor
LCD 16×2 I2C:
Senzor MQ135:
Buton + debounce:
LED RGB:
Buzzer pasiv:
Codul a fost dezvoltat în mediul Arduino IDE. Biblioteca externă folosită este LiquidCrystal_I2C.h pentru afișarea pe LCD, în rest fiind folosite funcții standard precum pinMode, analogRead, digitalWrite, tone, noTone, analogWrite, delay.
Structura software:
Funcții implementate:
Afișaj corect al zilelor purtate și al valorii senzorului MQ135
LED RGB oferă feedback vizual în 3 stări: verde (OK), portocaliu (aproape de termen), roșu (alertă)
Buzzer activat automat încă de la ziua 14
Sistemul se resetează automat la ziua 0 după 15 apăsări
Proiectul este funcțional și a reușit să integreze senzori, semnale PWM, afișaj LCD și interacțiune cu utilizatorul prin buton. Este un exemplu practic de aplicație embedded pentru sănătate personală, iar implementarea lui a fost o experiență valoroasă de integrare software-hardware.
Etapa 1: Idee, documentare lentile + senzor MQ135
Etapa 2: Alegerea componentelor și testare individuală
Etapa 3: Construirea pe breadboard
Etapa 4: Scriere cod incremental (buton, LED, LCD)
Etapa 5: Integrare senzor calitate aer + buzzer
Etapa 6: Documentație, README, schemă bloc + electrică