Table of Contents

Smart Desk Companion

Introducere

Ce face proiectul:

Dispozitivul monitorizeaza conditiile ambientale ale spatiului de lucru al utilizatorului, masurand:

Atunci cand un parametru depaseste un prag prestabilit:

Timer-ul Pomodoro integrat:

Scopul si ideea de la care am pornit:

Mi-am propus sa construiesc un dispozitiv accesibil care sa ajute utilizatorii sa mentina un mediu de lucru sanatos si productiv, printr-un sistem care:

De ce cred ca este util:

Descriere generala

Diagrama Bloc

Dispozitivul este format din urmatoarele componente:

Interactiuni intre module

Senzorul MQ-135 trimite un semnal analogic continuu pe pinul A0 al microcontrollerului. ATmega328P citeste valoarea prin ADC si o compara cu un prag prestabilit. Daca valoarea depaseste pragul, se activeaza alertele (buzzer + LED rosu) si se afiseaza un mesaj de avertizare pe LCD.

ATmega328P:

DHT11:

LCD-ul:

Buzzer-ul:

Butonul normal:

Hardware Design

Bill of Materials (Lista Pieselor)

Nr. Componenta Descriere Cantitate
1 ATmega328P (Arduino Uno) Microcontroller 8-bit AVR - unitatea centrala 1
2 Senzor MQ-135 Senzor calitate aer (CO2, VOC, NH3) 1
3 Senzor DHT11 Senzor temperatura si umiditate 1
4 LDR (Fotorezistor) Detectare nivel luminos ambiental 1
5 LCD 16×2 cu modul I2C Afisare date in timp real 1
6 Buzzer pasiv 5V Alerte sonore (prag depasit, timer) 1
7 Buton normal Declansare/resetare timer Pomodoro 1
8 LED Verde Indicator sesiune Pomodoro activa 1
9 LED Rosu Indicator alerta ambienta 1
10 Rezistori 10kOhm Pull-up LDR si buton 2
11 Rezistori 220Ohm Protectie LED-uri 2
12 Breadboard 400 puncte Placa de prototipare 1
13 Cabluri tata-tata Conectare componente ~30
14 Alimentare USB 5V Alimentare sistem 1

Schema Electrica

Schema electrica prezinta conexiunile dintre toate modulele si microcontrollerul ATmega328P. Alimentarea de 5V este comuna tuturor componentelor, asigurata prin portul USB al placii Arduino Uno.

Tabel Legaturi Componente

Componenta Pin Modul Pin Arduino Functie
Senzor MQ-135A AOUT A0 (PC0/ADC0) Semnal analogic calitate aer
VCC +5V Alimentare incalzitor
GND GND Masa incalzitor
RL 10kOhm AOUT - GND A0 → GND Rezistor sarcina divizor tensiune
Senzor DHT11 DATA (I/O) D7 (PD7) Date temperatura & umiditate
VCC +5V Alimentare
GND GND Masa
R5 1kOhm pull-up DATA - VCC D7 → +5V Pull-up linie date DHT11
LDR + R4 10kOhm Anod LDR +5V Alimentare divizor luminos
Jonctiune LDR-R4 A1 (PC1/ADC1) Semnal analogic nivel luminos
Catod R4 GND Masa divizor
LCD 16×2 I2C SDA A4 (PC4/SDA) Date I2C
SCL A5 (PC5/SCL) Ceas I2C
VCC / GND +5V / GND Alimentare
Buzzer pasiv PIN D6 (PD6/OC0A) Alerta sonora PWM
GND GND Masa
Buton normal PIN D2 (PD2/INT0) Declansare Pomodoro (intrerupere INT0)
GND GND Masa
R3 10kOhm pull-up D2 - VCC D2 → +5V Pull-up linie buton
LED Verde (LED2) Anod D4 (PD4) Indicator sesiune Pomodoro activa
R2 220Ohm - GND D4 → GND Protectie LED verde
LED Rosu (LED1) Anod D5 (PD5/OC0B) Indicator alerta ambienta
R1 220Ohm - GND D5 → GND Protectie LED rosu

Poza montaj fizic:

Video demonstrativ:

https://youtu.be/-bkMuSFO8lg?feature=shared

Software Design

Mediu de dezvoltare:

Proiectul a fost dezvoltat folosind PlatformIO cu VSCode, fara framework Arduino, folosind doar avr-libc (bare-metal). Compilatorul folosit este avr-gcc cu target ATmega328P la 16MHz.

Structura codului:

Codul este organizat modular, fiecare fisier sursa avand o responsabilitate clara:

Algoritmi implementati:

Registre AVR folosite:

Rezultate Obtinute

Proiectul Smart Desk Companion functioneaza conform specificatiilor propuse. In urma testarii au fost validate urmatoarele functionalitati:

Dispozitivul s-a dovedit util in practica, oferind feedback in timp real asupra conditiilor de lucru si ajutand la structurarea timpului prin tehnica Pomodoro. Utilizarea acestuia in timpul sesiunilor de studiu contribuie la constientizarea factorilor de mediu care pot afecta concentrarea si sanatatea pe termen lung.

Concluzii

Proiectul Smart Desk Companion reprezinta o solutie practica si accesibila pentru monitorizarea mediului de lucru si gestionarea timpului. Implementarea bare-metal pe ATmega328P a permis intelegerea aprofundata a registrelor AVR si a perifericelor hardware: ADC, timere, PWM, I2C, intreruperi externe si UART.

Principalele provocari intampinate au fost calibrarea fotorezistorului LDR (valorile ADC variind in functie de rezistorul din divizorul de tensiune si de conditiile de lumina) si implementarea corecta a protocolului DHT11 prin bit-banging.

Proiectul poate fi extins in viitor cu:

Download

https://github.com/cristinardk/Proiect_PM

Bibliografie/Resurse

Resurse Hardware:

Resurse Software: