This is an old revision of the document!


Ambient Mood Light

Proiectul constă într-un sistem care citește în timp real temperatura și luminozitatea din mediul înconjurător și generează o lumină ambientală a cărei culoare și intensitate reflectă condițiile detectate.

Introducere

Ideea a pornit de la modul în care lumina influențează starea oamenilor, iar aceasta de obicei este setată static. Astfel, proiectul creează un sistem ambiental care observă mediul și se adaptează automat la el.

Astfel, o zi însorită și caldă va induce o lumină roșie-portocalie vibrantă, iar o zi rece și întunecată va genera o lumină albastră cu intensitate scăzută. De asemenea, utilizatorul va putea ajusta luminiozitatea manual printr-un buton, și va putea vedea temperatura și luminiozitatea prin intermediul unui display.

scopul este de a avea un obiect decorativ care poate fi ușor integrat în orice locuință, care reacționează la contextul dat și poate

Descriere generală

Schema bloc de mai sus prezintă arhitectura completă a sistemului, structurată pe trei niveluri:

Strat de intrare (senzori): DHT22 comunică pe protocolul 1-Wire și furnizează temperatura în grade Celsius. BH1750 comunică pe I2C și returnează valoarea luminozității în lux. Un buton tactil permite comutarea manuală între moduri de funcționare. Microcontroller (ATmega328P XPlained Mini): Coordonează citirea senzorilor, rulează algoritmul de mapare HSV și controlează perifericele de ieșire. Operează la 5V / 16MHz.

Strat firmware: Format din trei module — modulul de citire senzori, motorul de mapare HSV (temperatura controlează Hue: albastru→roșu; luminozitatea controlează Value: întunecat→strălucitor) și managerul de moduri (Auto, Manual).

Strat de ieșire: Banda WS2812B primește valorile RGB calculate și afișează culoarea corespunzătoare. Display-ul OLED SSD1306 afișează în timp real valorile numerice de temperatură și luminozitate.

Hardware Design

Listă de componente

Componentă Model Cantitate
Microcontroller ATmega328P XPlained Mini 1
Senzor temperatură/umiditate DHT22 AM2302 (modul) 1
Senzor luminozitate GY-302 BH1750 1
Bandă LED adresabilă WS2812B 60LED/m, 10cm 2
Display OLED 0.96" SSD1306 I2C 1
Buton PCB mini 6x6x5, 4 pini 3
Breadboard MB-102 830 puncte 1
Fire Jumper set 140 cabluri 1
Condensator Electrolitic 10.000µF/25V 1
Rezistoare Kit 30 valori, 600 buc, 1/4W 1

Schema electrică realizată in KiCad:

Componentele au fost legate în configurația următoare

Componentă Pin componentă Pin ATmega328P XPlained Mini Observații
DHT22 VCC 5V (J202)
DATA PD2 (J201) Pull-up inclus pe modul
GND GND (J202)
BH1750 VCC 5V (J202)
GND GND (J202)
SDA PC4 (J200) Magistrală I2C partajată
SCL PC5 (J200) Magistrală I2C partajată
ADD GND Adresă I2C → 0x23
SSD1306 OLED VCC 5V (J202)
GND GND (J202)
SDA PC4 (J203) Magistrală I2C partajată
SCL PC5 (J203) Magistrală I2C partajată
WS2812B +5V 5V (J202)
GND GND (J202)
DIN PD6 (J201) Prin rezistor 300Ω
Buton Pin 1 PD4 (J201) Pull-up intern activat
Pin 2 GND
Rezistor 300Ω Terminal 1 PD6 (J201) Protecție date WS2812B
Terminal 2 WS2812B DIN

Componente folosite și rolul lor:

ATmega328P XPlained Mini — Coordonează citirea senzorilor, rulează algoritmul de mapare a culorii și gestionează toate perifericele de intrare și ieșire

DHT22 AM2302 — senzor de temperatură și umiditate. Furnizează temperatura în grade Celsius, valoare folosită pentru a determina culoarea benzii LED prin mapare HSV: temperaturi scăzute generează nuanțe de albastru, temperaturi ridicate generează nuanțe de portocaliu-roșu.

BH1750 GY-302 — senzor de luminozitate. Returnează valoarea iluminării în lux. Valoarea este folosită în modul automat pentru a controla intensitatea benzii LED: mediu întunecat produce lumină mai slabă, mediu luminos produce lumină mai intensă.

WS2812B (banda LED) - elementul de ieșire principal al sistemului. Culoarea și intensitatea sunt calculate de microcontroller pe baza datelor de la senzori.

SSD1306 OLED 0.96” — display auxiliar care afișează în timp real valorile de temperatură, luminozitate și modul curent de funcționare (AUTO / MANUAL).

Buton - permite utilizatorului să regleze manual intensitatea, unde aceasta crește în trepte la fiecare apăsare. Revenirea la modul automat se face automat după 5 secunde de inactivitate.

Stadiu actual + Componentă funcțională

La momentul de față întreg proiectul este ansamblat, fiecare componentă fiind funcțională. Temperatura și luminozitatea sunt citite corect și afișate pe display, alături de modul AUTO/MANUAL + NIVELUL DE LUMINOZITATE.

Banda LED a afișat culoarea corespunzătoare temperaturii măsurate - nuanță de albastru, conform mapării implementate pentru intervalul 24-31°C, cu intensitatea reglementată automat în funcție de luminozitatea ambientală. În link-ul următor se poate observa un video în care acesta își schimbă culoarea, având un feon care era țintit către senzorul de temperatură DHT22:

https://drive.google.com/drive/folders/14bySmPVbB63vOo3YLh20IzzRB1eumNvZ?usp=sharing

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

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

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2026/cezar.zlatea/tiberiu_florin.gila.1778943901.txt.gz · Last modified: 2026/05/16 18:05 by tiberiu_florin.gila
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