Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:atoader:stefan.covaliu [2026/05/16 22:54]
stefan.covaliu [Module Hardware]
pm:prj2026:atoader:stefan.covaliu [2026/05/16 22:58] (current)
stefan.covaliu [Software Design]
Line 16: Line 16:
 ==== Module Hardware ==== ==== Module Hardware ====
  
-  * **ATmega328P-XMINI** ​microcontrolerul central, compatibil Arduino Uno, arhitectura AVR 8-bit la 5V. Coordoneaza toata logica sistemului: citeste senzorii, calculeaza temperatura de culoare, genereaza semnalele PWM si gestioneaza comunicatia cu toate perifericele. +  * **ATmega328P-XMINI** ​microcontrolerul central, compatibil Arduino Uno, arhitectura AVR 8-bit la 5V. Coordoneaza toata logica sistemului: citeste senzorii, calculeaza temperatura de culoare, genereaza semnalele PWM si gestioneaza comunicatia cu toate perifericele. 
-  * **Modul Bluetooth HC-06** ​permite controlul wireless al lampii de pe telefon prin UART. Microcontrolerul primeste comenzi text ("​WARM",​ "​COOL",​ "​OFF"​) si le aplica imediat. TX-ul modulului este conectat direct la D0 (RX), iar RX-ul este protejat printr-un divizor de tensiune 1kΩ+2kΩ deoarece modulul lucreaza la 3.3V logic. +  * **Modul Bluetooth HC-06** ​permite controlul wireless al lampii de pe telefon prin UART. Microcontrolerul primeste comenzi text ("​WARM",​ "​COOL",​ "​OFF"​) si le aplica imediat. TX-ul modulului este conectat direct la D0 (RX), iar RX-ul este protejat printr-un divizor de tensiune 1kΩ+2kΩ deoarece modulul lucreaza la 3.3V logic. 
-  * **Fotorezistor LDR GL5528** ​conectat intr-un divizor de tensiune cu o rezistenta de 10kΩ la GND. Punctul de mijloc este citit pe pinul A0 prin ADC-ul intern pe 10 biti. Valoarea citita determina cat de multa componenta calda se adauga in culoarea finala. +  * **Fotorezistor LDR GL5528** ​conectat intr-un divizor de tensiune cu o rezistenta de 10kΩ la GND. Punctul de mijloc este citit pe pinul A0 prin ADC-ul intern pe 10 biti. Valoarea citita determina cat de multa componenta calda se adauga in culoarea finala. 
-  * **Modul RTC DS3231** ​tine ora exacta inclusiv la oprirea alimentarii,​ datorita bateriei CR2032. Comunicatia se face prin I2C: SDA pe A4, SCL pe A5. Ora citita determina automat profilul de culoare al momentului din zi. +  * **Modul RTC DS3231** ​tine ora exacta inclusiv la oprirea alimentarii,​ datorita bateriei CR2032. Comunicatia se face prin I2C: SDA pe A4, SCL pe A5. Ora citita determina automat profilul de culoare al momentului din zi. 
-  * **Display OLED SH1106 1.3"​** ​afiseaza modul activ, culoarea curenta si ora. Comunicatia se face prin SPI hardware: SCK pe D13, MOSI pe D11, CS pe D10, DC pe D7, RST pe D4. Actualizat o data pe secunda. +  * **Display OLED SH1106 1.3"​** ​afiseaza modul activ, culoarea curenta si ora. Comunicatia se face prin SPI hardware: SCK pe D13, MOSI pe D11, CS pe D10, DC pe D7, RST pe D4. Actualizat o data pe secunda. 
-  * **3x MOSFET IRLZ44N** ​tranzistori N-Channel Logic Level care controleaza independent cele trei canale RGB prin PWM. Gate-urile sunt conectate la D3 (rosu), D5 (verde) si D6 (albastru). Se deschid complet la 5V pe gate.+  * **3x MOSFET IRLZ44N** ​tranzistori N-Channel Logic Level care controleaza independent cele trei canale RGB prin PWM. Gate-urile sunt conectate la D3 (rosu), D5 (verde) si D6 (albastru). Se deschid complet la 5V pe gate.
   * **3x LED discret (Rosu, Verde, Albastru)** - elementele de iluminat. Fiecare LED are un rezistor de 220Ω in serie pe anod conectat la 5V, iar catodul conectat la Drain-ul MOSFET-ului corespunzator.   * **3x LED discret (Rosu, Verde, Albastru)** - elementele de iluminat. Fiecare LED are un rezistor de 220Ω in serie pe anod conectat la 5V, iar catodul conectat la Drain-ul MOSFET-ului corespunzator.
-  * **Buton tactil** ​conectat la D2 cu pull-up de 10kΩ la 5V. Genereaza intrerupere externa pe INT0 la apasare. Cicleza intre modurile de functionare si are prioritate maxima in logica sistemului.+  * **Buton tactil** ​conectat la D2 cu pull-up de 10kΩ la 5V. Genereaza intrerupere externa pe INT0 la apasare. Cicleza intre modurile de functionare si are prioritate maxima in logica sistemului.
   * **Regulator L7805** - converteste tensiunea sursei externe de 24V la 5V stabili pentru microcontroler si toate modulele.   * **Regulator L7805** - converteste tensiunea sursei externe de 24V la 5V stabili pentru microcontroler si toate modulele.
  
Line 29: Line 29:
  
   * **Handler intrerupere buton (INT0)** - la apasarea butonului pe D2 se genereaza intrerupere pe front descrescator. Cicleza intre modurile: AUTO, WARM, COOL, OFF. Are prioritate maxima.   * **Handler intrerupere buton (INT0)** - la apasarea butonului pe D2 se genereaza intrerupere pe front descrescator. Cicleza intre modurile: AUTO, WARM, COOL, OFF. Are prioritate maxima.
-  * **Receptor UART Bluetooth** ​citeste comenzile primite de la HC-06 si actualizeaza modul activ. Comenzi suportate: "​WARM",​ "​COOL",​ "​OFF",​ "​AUTO"​. +  * **Receptor UART Bluetooth** ​citeste comenzile primite de la HC-06 si actualizeaza modul activ. Comenzi suportate: "​WARM",​ "​COOL",​ "​OFF",​ "​AUTO"​. 
-  * **Citire ADC (LDR)** ​ADC-ul intern citeste tensiunea de pe A0 si returneaza o valoare 0–1023 proportionala cu luminozitatea ambientala. +  * **Citire ADC (LDR)** ​ADC-ul intern citeste tensiunea de pe A0 si returneaza o valoare 0–1023 proportionala cu luminozitatea ambientala. 
-  * **Citire RTC prin I2C** microcontrolerul citeste ora curenta de la DS3231 o data pe secunda prin TWI/I2C si selecteaza profilul de culoare corespunzator. +  * **Citire RTC prin I2C** microcontrolerul citeste ora curenta de la DS3231 o data pe secunda prin TWI/I2C si selecteaza profilul de culoare corespunzator. 
-  * **Calcul temperatura culoare** ​combina valorile LDR si RTC pentru a calcula tripletul RGB final. Trece lin de la (255, 200, 100) seara la (200, 220, 255) dimineata. +  * **Calcul temperatura culoare** ​combina valorile LDR si RTC pentru a calcula tripletul RGB final. Trece lin de la (255, 200, 100) seara la (200, 220, 255) dimineata. 
-  * **Control PWM canale RGB** aplica valorile RGB calculate pe D3, D5, D6, controlând duty cycle-ul pentru fiecare MOSFET. +  * **Control PWM canale RGB** aplica valorile RGB calculate pe D3, D5, D6, controlând duty cycle-ul pentru fiecare MOSFET. 
-  * **Driver OLED SPI** actualizeaza display-ul SH1106 o data pe secunda cu modul activ, valorile RGB curente si ora. +  * **Driver OLED SPI** actualizeaza display-ul SH1106 o data pe secunda cu modul activ, valorile RGB curente si ora. 
-  * **Logica de prioritizare** ​buton fizic > comanda Bluetooth > mod automat (LDR + RTC).+  * **Logica de prioritizare** ​buton fizic > comanda Bluetooth > mod automat (LDR + RTC).
  
  
Line 96: Line 96:
  
 **Librarii folosite:** **Librarii folosite:**
-  * ''​Wire.h'' ​— comunicatie I2C cu DS3231 +  * ''​Wire.h'' ​comunicatie I2C cu DS3231 
-  * ''​RTClib'' ​— citire ora de la DS3231 +  * ''​RTClib'' ​citire ora de la DS3231 
-  * ''​U8g2lib'' ​— driver display OLED SH1106 prin SPI +  * ''​U8g2lib'' ​driver display OLED SH1106 prin SPI 
-  * ''​SPI.h'' ​— comunicatie SPI hardware+  * ''​SPI.h'' ​comunicatie SPI hardware
  
 **Algoritmi implementati:​** **Algoritmi implementati:​**
pm/prj2026/atoader/stefan.covaliu.1778961250.txt.gz · Last modified: 2026/05/16 22:54 by stefan.covaliu
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