This is an old revision of the document!
Punctul de plecare a fost observatia ca lumina albastra seara afecteaza calitatea somnului. Majoritatea oamenilor stau la birou sau in camera cu aceeasi lumina alba tot timpul, indiferent de ora din zi. O lampa care isi adapteaza singura temperatura de culoare rezolva aceasta problema fara nicio interventie din partea utilizatorului. Proiectul consta intr-o lampa RGB controlata de un microcontroler ATmega328P-XMINI. Lampa trece automat de la lumina rece (albastru-alb) ziua, la lumina calda (galben-portocaliu) seara, in functie de luminozitatea ambientala citita de un fotorezistor si de ora curenta furnizata de un modul RTC. Pe langa modul automat, lampa poate fi controlata manual printr-un buton fizic sau de pe telefon prin Bluetooth. Un display OLED afiseaza in timp real modul activ, culoarea setata si ora curenta. Proiectul este util pentru confortul vizual zilnic si pentru prevenirea durerilor de ochi cauzate de expunerea prelungita la lumina albastra seara. In acelasi timp, acopera practic toate periferalele studiate in laboratoarele PM: GPIO, UART, intreruperi externe, PWM, ADC, SPI si I2C.
Sistemul are urmatoarele module principale:
ATmega328P-XMINI este microcontrolerul central care coordoneaza tot. Citeste senzorii, calculeaza culoarea potrivita si trimite semnalele PWM catre MOSFET-uri.
Modul HC-06 (Bluetooth UART) permite controlul lampii de pe telefon. Microcontrolerul primeste comenzi text prin UART (ex: “WARM”, “COOL”, “OFF”) si aplica culoarea corespunzatoare.
Fotorezistor GL5539 + ADC citeste luminozitatea ambientala. Valoarea analogica e convertita de ADC-ul intern si folosita pentru a determina cat de multa lumina calda sa adauge.
Modul DS3231 (RTC, I2C) tine ora exacta chiar si cand sistemul e oprit (are baterie CR2032). Microcontrolerul citeste ora prin I2C si selecteaza automat profilul de culoare corespunzator momentului din zi.
Display OLED SSD1306 (SPI) afiseaza modul activ, culoarea curenta si ora. Este actualizat la fiecare secunda.
3x MOSFET LR7843 controleaza independent cele trei canale ale benzii LED (R, G, B) prin semnale PWM. Sunt tranzistori de tip Logic Level, deci se deschid complet la 5V.
Initial voiam sa folosesc o banda led dar am decis sa folosesc 3 leduri diferite pentru canalele R,G,B. Banda LED RGB 12V anod comun este elementul de iluminat. Firul comun primeste 12V, iar cele trei fire de culoare sunt trase la GND prin MOSFET-uri cu duty cycle variabil.
3x LED discret (Rosu, Verde, Albastru) reprezinta elementul de iluminat. Fiecare LED are un rezistor de 220Ω conectat in serie pe linia anodului, pentru limitarea curentului. Anodul fiecarui LED este conectat la 5V prin rezistorul sau, iar catodul este conectat la pinul Drain al MOSFET-ului corespunzator.
Alimentare: L7805CV regleaza tensiunea de la 12V la 5V pentru microcontroler si module.
Logica de prioritizare: butonul fizic are prioritate maxima, urmat de comenzile Bluetooth, apoi modul automat bazat pe LDR si RTC.
| Componenta | Model | Cantitate |
|---|---|---|
| Microcontroler | ATmega328P-XMINI | 1 |
| Modul Bluetooth | HC-06 RS232 | 1 |
| Modul RTC | DS3231 ZS-042 | 1 |
| Baterie RTC | CR2032 3V | 1 |
| Display OLED | SSD1306 0.96” SPI 7 pini | 1 |
| Fotorezistor | GL5539 5mm | 1 |
| MOSFET | LR7843 (Logic Level N-ch) | 3 |
| Regulator tensiune | L7805CV | 1 |
| Banda LED RGB | 12V anod comun, 5050 | 1m |
| Condensator electrolitic | 10uF 50V | 2 |
| Condensator ceramic | 100nF 50V | 2 |
| Rezistenta | 220 ohm | 3 |
| Rezistenta | 1k ohm | 1 |
| Rezistenta | 2k ohm | 1 |
| Rezistenta | 4.7k ohm | 2 |
| Rezistenta | 10k ohm | 5 |
| Breadboard | 830 puncte | 1 |
| Fire DuPont M-F | 40 bucati 20cm | 1 set |
| Fire DuPont M-M | 40 bucati 20cm | 1 set |
| Conector DC | 5.5×2.1mm cu terminal | 1 |
| Adaptor alimentare | 12V 2A | 1 |