Differences

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

Link to this comparison view

pm:prj2024:fstancu:florin.subtirica [2024/05/19 23:40]
florin.subtirica [Hardware Design]
pm:prj2024:fstancu:florin.subtirica [2024/05/24 19:09] (current)
florin.subtirica [Bibliografie/Resurse]
Line 10: Line 10:
 === Descriere === === Descriere ===
  
-Proiectul constă în crearea unui sistem de monitorizare a temperaturii ​frunții. Când acesta detectează o creștere majoră a temperaturii,​ atunci ventilatorul atașat va porni și va începe procesul de răcire. Pe lângă funcția de răcire, acesta va mai avea și led-uri atașate.+Proiectul constă în crearea unui sistem de monitorizare a temperaturii ​camerei. Când acesta detectează o creștere majoră a temperaturii,​ atunci ventilatorul atașat va porni și va începe procesul de răcire. Pe lângă funcția de răcire, acesta va mai avea și led-uri atașate.
 === Motivație === === Motivație ===
  
Line 19: Line 19:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<​html>​ +{{:pm:prj2024:fstancu:racitorfrunteschemaelectrica.png?700|}}
-<​head>​ +
-<​title>​Untitled Diagram.drawio.html</​title>​ +
-<meta charset="​utf-8"/>​ +
-</​head>​ +
-<​body>​ +
-<div class="​mxgraph"​ style="​max-width:​100%;​border:​1px solid transparent;"​ data-mxgraph="​{&​quot;​highlight&​quot;​:&​quot;#​0000ff&​quot;,&​quot;​nav&​quot;​:true,&​quot;​resize&​quot;​:true,&​quot;​xml&​quot;​:&​quot;&​lt;​mxfile host=\&​quot;​app.diagrams.net\&​quot;​ modified=\&​quot;​2024-05-03T10:​57:​24.036Z\&​quot;​ agent=\&​quot;​Mozilla/​5.0 (X11; Linux x86_64) AppleWebKit/​537.36 (KHTML, like Gecko) Chrome/​124.0.0.0 Safari/​537.36\&​quot;​ etag=\&​quot;​XhdDIIl1NqxxCCWhduZc\&​quot;​ version=\&​quot;​24.3.1\&​quot;​ type=\&​quot;​device\&​quot;&​gt;&​lt;​diagram name=\&​quot;​Page-1\&​quot;​ id=\&​quot;​r8TUF71wDC9FKBXq__ij\&​quot;&​gt;&​lt;​mxGraphModel dx=\&​quot;​975\&​quot;​ dy=\&​quot;​503\&​quot;​ grid=\&​quot;​0\&​quot;​ gridSize=\&​quot;​10\&​quot;​ guides=\&​quot;​1\&​quot;​ tooltips=\&​quot;​1\&​quot;​ connect=\&​quot;​1\&​quot;​ arrows=\&​quot;​1\&​quot;​ fold=\&​quot;​1\&​quot;​ page=\&​quot;​1\&​quot;​ pageScale=\&​quot;​1\&​quot;​ pageWidth=\&​quot;​827\&​quot;​ pageHeight=\&​quot;​1169\&​quot;​ math=\&​quot;​0\&​quot;​ shadow=\&​quot;​0\&​quot;&​gt;&​lt;​root&​gt;&​lt;​mxCell id=\&​quot;​0\&​quot;/&​gt;&​lt;​mxCell id=\&​quot;​1\&​quot;​ parent=\&​quot;​0\&​quot;/&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-12\&​quot;​ style=\&​quot;​edgeStyle=orthogonalEdgeStyle;​rounded=0;​orthogonalLoop=1;​jettySize=auto;​html=1;​exitX=0.5;​exitY=1;​exitDx=0;​exitDy=0;​entryX=0.5;​entryY=0;​entryDx=0;​entryDy=0;​\&​quot;​ parent=\&​quot;​1\&​quot;​ source=\&​quot;​1PZ3gLvvuo3D2I-1noBh-1\&​quot;​ target=\&​quot;​1PZ3gLvvuo3D2I-1noBh-4\&​quot;​ edge=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-13\&​quot;​ value=\&​quot;​I2C/​SPI\&​quot;​ style=\&​quot;​edgeLabel;​html=1;​align=center;​verticalAlign=middle;​resizable=0;​points=[];​\&​quot;​ parent=\&​quot;​1PZ3gLvvuo3D2I-1noBh-12\&​quot;​ vertex=\&​quot;​1\&​quot;​ connectable=\&​quot;​0\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​-0.0876\&​quot;​ y=\&​quot;​-2\&​quot;​ relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;&​gt;&​lt;​mxPoint as=\&​quot;​offset\&​quot;/&​gt;&​lt;/​mxGeometry&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​QBFgygmIit_VV6TFWb4a-3\&​quot;​ style=\&​quot;​edgeStyle=orthogonalEdgeStyle;​rounded=0;​orthogonalLoop=1;​jettySize=auto;​html=1;​exitX=1;​exitY=0.5;​exitDx=0;​exitDy=0;​entryX=0;​entryY=0.5;​entryDx=0;​entryDy=0;​\&​quot;​ edge=\&​quot;​1\&​quot;​ parent=\&​quot;​1\&​quot;​ source=\&​quot;​1PZ3gLvvuo3D2I-1noBh-1\&​quot;​ target=\&​quot;​QBFgygmIit_VV6TFWb4a-1\&​quot;&​gt;&​lt;​mxGeometry relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​QBFgygmIit_VV6TFWb4a-7\&​quot;​ value=\&​quot;​PWM\&​quot;​ style=\&​quot;​edgeLabel;​html=1;​align=center;​verticalAlign=middle;​resizable=0;​points=[];​\&​quot;​ vertex=\&​quot;​1\&​quot;​ connectable=\&​quot;​0\&​quot;​ parent=\&​quot;​QBFgygmIit_VV6TFWb4a-3\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​-0.071\&​quot;​ relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;&​gt;&​lt;​mxPoint as=\&​quot;​offset\&​quot;/&​gt;&​lt;/​mxGeometry&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-1\&​quot;​ value=\&​quot;​Arduino Uno 16U2\&​quot;​ style=\&​quot;​rounded=1;​whiteSpace=wrap;​html=1;​fillColor=#​dae8fc;​strokeColor=#​6c8ebf;​\&​quot;​ parent=\&​quot;​1\&​quot;​ vertex=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​139\&​quot;​ y=\&​quot;​417\&​quot;​ width=\&​quot;​120\&​quot;​ height=\&​quot;​60\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-10\&​quot;​ style=\&​quot;​edgeStyle=orthogonalEdgeStyle;​rounded=0;​orthogonalLoop=1;​jettySize=auto;​html=1;​exitX=0.5;​exitY=1;​exitDx=0;​exitDy=0;​entryX=0.5;​entryY=0;​entryDx=0;​entryDy=0;​\&​quot;​ parent=\&​quot;​1\&​quot;​ source=\&​quot;​1PZ3gLvvuo3D2I-1noBh-2\&​quot;​ target=\&​quot;​1PZ3gLvvuo3D2I-1noBh-1\&​quot;​ edge=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-11\&​quot;​ value=\&​quot;​ADC\&​quot;​ style=\&​quot;​edgeLabel;​html=1;​align=center;​verticalAlign=middle;​resizable=0;​points=[];​\&​quot;​ parent=\&​quot;​1PZ3gLvvuo3D2I-1noBh-10\&​quot;​ vertex=\&​quot;​1\&​quot;​ connectable=\&​quot;​0\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​0.036\&​quot;​ relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;&​gt;&​lt;​mxPoint as=\&​quot;​offset\&​quot;/&​gt;&​lt;/​mxGeometry&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-2\&​quot;​ value=\&​quot;&​amp;​lt;​div&​amp;​gt;​Senzor temperatură&​amp;​lt;/​div&​amp;​gt;&​amp;​lt;​div&​amp;​gt;​L35,​ TO92&​amp;​lt;/​div&​amp;​gt;​\&​quot;​ style=\&​quot;​rounded=1;​whiteSpace=wrap;​html=1;​fillColor=#​d5e8d4;​strokeColor=#​82b366;​\&​quot;​ parent=\&​quot;​1\&​quot;​ vertex=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​139\&​quot;​ y=\&​quot;​297\&​quot;​ width=\&​quot;​120\&​quot;​ height=\&​quot;​60\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-3\&​quot;​ value=\&​quot;​Ventilator\&​quot;​ style=\&​quot;​rounded=1;​whiteSpace=wrap;​html=1;​fillColor=#​e1d5e7;​strokeColor=#​9673a6;​\&​quot;​ parent=\&​quot;​1\&​quot;​ vertex=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​624\&​quot;​ y=\&​quot;​417\&​quot;​ width=\&​quot;​120\&​quot;​ height=\&​quot;​60\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​1PZ3gLvvuo3D2I-1noBh-4\&​quot;​ value=\&​quot;​Bandă LED\&​quot;​ style=\&​quot;​rounded=1;​whiteSpace=wrap;​html=1;​fillColor=#​ffe6cc;​strokeColor=#​d79b00;​\&​quot;​ parent=\&​quot;​1\&​quot;​ vertex=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​139\&​quot;​ y=\&​quot;​537\&​quot;​ width=\&​quot;​120\&​quot;​ height=\&​quot;​60\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​QBFgygmIit_VV6TFWb4a-2\&​quot;​ style=\&​quot;​edgeStyle=orthogonalEdgeStyle;​rounded=0;​orthogonalLoop=1;​jettySize=auto;​html=1;​exitX=1;​exitY=0.5;​exitDx=0;​exitDy=0;​entryX=0;​entryY=0.5;​entryDx=0;​entryDy=0;​\&​quot;​ edge=\&​quot;​1\&​quot;​ parent=\&​quot;​1\&​quot;​ source=\&​quot;​QBFgygmIit_VV6TFWb4a-1\&​quot;​ target=\&​quot;​1PZ3gLvvuo3D2I-1noBh-3\&​quot;&​gt;&​lt;​mxGeometry relative=\&​quot;​1\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;​mxCell id=\&​quot;​QBFgygmIit_VV6TFWb4a-1\&​quot;​ value=\&​quot;​MOSFET N-MOS&​amp;​lt;​div&​amp;​gt;​IRF540N&​amp;​lt;/​div&​amp;​gt;​\&​quot;​ style=\&​quot;​rounded=1;​whiteSpace=wrap;​html=1;​fillColor=#​e1d5e7;​strokeColor=#​9673a6;​\&​quot;​ vertex=\&​quot;​1\&​quot;​ parent=\&​quot;​1\&​quot;&​gt;&​lt;​mxGeometry x=\&​quot;​393\&​quot;​ y=\&​quot;​417\&​quot;​ width=\&​quot;​120\&​quot;​ height=\&​quot;​60\&​quot;​ as=\&​quot;​geometry\&​quot;/&​gt;&​lt;/​mxCell&​gt;&​lt;/​root&​gt;&​lt;/​mxGraphModel&​gt;&​lt;/​diagram&​gt;&​lt;/​mxfile&​gt;&​quot;,&​quot;​toolbar&​quot;:&​quot;​pages zoom layers lightbox&​quot;,&​quot;​page&​quot;:​0}"></​div>​ +
-<script type="​text/​javascript"​ src="​https://​app.diagrams.net/​js/​viewer-static.min.js"></​script>​ +
-</​body>​ +
-</​html>​+
  
  
-Senzorul de temperatură transmite prin ADC datele colectate către Arduino, iar Arduino transmite mai departe un semnal PWM către MOSFET, acesta controlând viteza ventilatorului (ex: 0%, 50%, 100%). În același timp, folosind I2C/SPI, Arduino va controla ​benzile ​RGB LED, pornind ​în același timp cu ventilatorul.+Senzorul de temperatură transmite prin ADC datele colectate către Arduino, iar Arduino transmite mai departe un semnal PWM către MOSFET, acesta controlând viteza ventilatorului (0%, 30%, 60%, 100%). În același timp, folosind I2C, Arduino va controla ​banda RGB LED, acesta modificându-i culoarea ​în funcție de viteza ventilatorului / temperatura indicată de senzor (0% - alb, 30% - galben, 60% - portocaliu, 100% - roșu).
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 38: Line 29:
  
 1 x Arduino UNO 16U2 \\ 1 x Arduino UNO 16U2 \\
-1 x Senzor de temperatură ​LM35, TO92 \\ +1 x Senzor de temperatură ​DS18B20 ​\\ 
-1 x Ventilator PC 5V \\+1 x Ventilator PC 12V \\ 
 +1 x Rezistență 2.2kΩ ​\\
 1 x Rezistență 10kΩ \\ 1 x Rezistență 10kΩ \\
-1 x Rezistență 330Ω \\ +1 x 15 cm bandă LED RGB WS2812 ​\\
-2 x Bandă LED RGB \\+
 1 x Breadboard 400 puncte \\ 1 x Breadboard 400 puncte \\
 1 x Set Jumper breadboard 140 \\ 1 x Set Jumper breadboard 140 \\
Line 51: Line 42:
  
  
-{{:​pm:​prj2024:​fstancu:​racitor_frunte.png?900|}}+{{:​pm:​prj2024:​fstancu:​schemaelectricaracitor.png?750|}}
  
  
-1. Conectarea senzorului de temperatură (LM35): \\+1. Conectarea senzorului de temperatură (DS18B20): \\
 - +Vs la 5V de pe Arduino. \\ - +Vs la 5V de pe Arduino. \\
 - GND la GND de pe Arduino. \\ - GND la GND de pe Arduino. \\
-- Vout la un pin analogic ​(A0) pentru citirea temperaturii. \\+- Vout la un pin digital ​(D11) pentru citirea temperaturii. \\
  
 2. Conectarea ventilatorului:​ \\ 2. Conectarea ventilatorului:​ \\
Line 71: Line 62:
  
 4. Rezistențe:​\\ 4. Rezistențe:​\\
-- O rezistență de pull-down (10kΩ) între gate și GND la MOSFET pentru a asigura că ventilatorul rămâne oprit când pinul de gate nu este activat. ​\\ +- O rezistență de pull-down (2.2kΩ) între Digital OUT și GND \\ 
-- O rezistență între pinul de date al benzii LED și Arduino (330Ω) pentru a proteja pinul de date.\\+- O rezistență de pull-down (10kΩ) între gate și GND la MOSFET pentru a asigura că ventilatorul rămâne oprit când pinul de gate nu este activat. ​
  
  
-== Diverse simulări ​==+===== Software Design =====
  
 +Codul pentru proiect este scris în **Arduino IDE** și folosește bibliotecile **Adafruit_NeoPixel** și **OneWire** pentru a controla un LED STRIP RGB și pentru a citi datele de la un senzor de temperatură DS18B20. În plus, codul controlează un ventilator în funcție de temperatura citită.
  
-===== Software Design ===== 
  
  
 +=== Biblioteca și definiții ===
 <note tip> <note tip>
-Descrierea codului aplicaţiei (firmware):​ +**#include <​Adafruit_NeoPixel.h>**
-  ​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 +
-</​note>​+
  
-===== Rezultate obţinute =====+**#include <​OneWire.h>​**
  
 +**#define LED_STRIP_PIN ​  6**
 +
 +**#define NUM_LEDS ​       9**
 +
 +**#define TEMPERATURE_PIN 11**
 +
 +**#define FAN_PIN ​        3**
 +</​note>​
 +  * Adafruit_NeoPixel.h:​ Biblioteca pentru controlul LED-urilor NeoPixel.
 +  * OneWire.h: Biblioteca pentru comunicarea cu senzorii OneWire, precum DS18B20.
 +  * LED_STRIP_PIN:​ Pinul la care este conectat la LED STRIP.
 +  * NUM_LEDS: Numărul de LED-uri din șir.
 +  * TEMPERATURE_PIN:​ Pinul la care este conectat senzorul de temperatură DS18B20.
 +  * FAN_PIN: Pinul la care este conectat ventilatorul.
 +=== Obiecte globale ===
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+**Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS,​ LED_STRIP_PIN,​ NEO_GRB + NEO_KHZ800);​** 
 + 
 +**OneWire ds(TEMPERATURE_PIN);​**
 </​note>​ </​note>​
 +  * strip: Un obiect pentru controlul șirului de LED-uri NeoPixel.
 +  * ds: Un obiect pentru comunicarea cu senzorul de temperatură.
 +=== Funcția setup ===
 +<note tip>
 +void setup() {
 +  Serial.begin(9600);​
 +  pinMode(TEMPERATURE_PIN,​ INPUT);
 +  pinMode(FAN_PIN,​ OUTPUT);
 +  pinMode(LED_STRIP_PIN,​ OUTPUT);
 +  analogReference(INTERNAL);​
 +  strip.begin();​
 +  strip.show();​
 +}
 +</​note>​
 +  * Serial.begin(9600):​ Inițializează comunicarea serială la 9600 baud.
 +  * pinMode(TEMPERATURE_PIN,​ INPUT): Configurează pinul pentru senzorul de temperatură ca intrare.
 +  * pinMode(FAN_PIN,​ OUTPUT): Configurează pinul pentru ventilator ca ieșire.
 +  * pinMode(LED_STRIP_PIN,​ OUTPUT): Configurează pinul pentru LED-uri ca ieșire.
 +  * analogReference(INTERNAL):​ Setează referința analogică internă (1.1V pe majoritatea plăcilor Arduino).
 +  * strip.begin():​ Inițializează șirul de LED-uri.
 +  * strip.show():​ Resetează LED-urile, setând toate culorile la negru (oprit).
 +=== Funcția loop ===
 +<note tip>
 +void loop() {
 +  byte i;
 +  byte present = 0;
 +  byte data[12];
 +  byte addr[8];
  
-===== Concluzii =====+  if ( !ds.search(addr)) { 
 +    ds.reset_search();​ 
 +    delay(250);​ 
 +    return; 
 +  }
  
-===== Download =====+  present ​ds.reset();​ 
 +  ds.select(addr); ​    
 +  ds.write(0x44); ​        // Start temperature conversion
  
-<note warning>​ +  delay(1000)
-O arhivă ​(sau mai multe dacă este cazulcu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).+   
 +  present = ds.reset(); 
 +  ds.select(addr);     
 +  ds.write(0xBE); ​        // Read Scratchpad
  
-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**. +  for ( i = 0; i < 9; i++) {           // Read 9 bytes 
-</note>+    data[i] = ds.read()
 +  } 
 +  uint16_t val = data[0] | ( (uint16_t) data[1] << 8); 
 +  float temperature = val 0.0625; /Convert ADC value to temperature in Celsius
  
-===== Jurnal =====+  Serial.print("​\nTemperature:​ "); 
 +  Serial.print(temperature);​
  
 +  if (temperature < 24) {
 +    analogWrite(FAN_PIN,​ 255);
 +    setColor(255,​ 255, 255); // White
 +  } else if (temperature >= 24 && temperature < 26) {
 +    analogWrite(FAN_PIN,​ 120); // 30% duty cycle
 +    setColor(255,​ 255, 0);    // Yellow
 +  } else if (temperature >= 26 && temperature < 28) {
 +    analogWrite(FAN_PIN,​ 60); // 60% duty cycle
 +    setColor(255,​ 165, 0);     // Orange
 +  } else {
 +    analogWrite(FAN_PIN,​ 0); // 100% duty cycle
 +    setColor(255,​ 0, 0);       // Red
 +  }
 +
 +  delay(1000);​ // Read temperature and update fan speed every second
 +}
 +</​note>​
 +  * Funcția loop este executată continuu și face următoarele:​
 +    * Caută un dispozitiv OneWire (senzorul de temperatură) conectat.
 +    * Dacă nu găsește un senzor, resetează căutarea și așteaptă 250 ms.
 +    * Dacă găsește un senzor, inițiază o conversie de temperatură și așteaptă 1 secundă.
 +    * Citește datele de temperatură de la senzor.
 +    * Convertește valoarea citită într-o temperatură în grade Celsius.
 +    * Afișează temperatura pe monitorul serial.
 +    * Controlează ventilatorul și LED-urile în funcție de temperatura citită:
 +      * Sub 24°C: Ventilatorul este pornit la putere maximă, LED-urile sunt albe.
 +      * Între 24°C și 26°C: Ventilatorul funcționează la 30% din putere, LED-urile sunt galbene.
 +      * Între 26°C și 28°C: Ventilatorul funcționează la 60% din putere, LED-urile sunt portocalii.
 +      * Peste 28°C: Ventilatorul este oprit, LED-urile sunt roșii.
 +    * Așteaptă 1 secundă înainte de a repeta ciclul.
 +=== Funcția setColor ===
 <note tip> <note tip>
-Putețavea șo secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.+void setColor(uint8_t r, uint8_t g, uint8_t b) { 
 +  for (int = 0; < NUM_LEDS; i++) { 
 +    strip.setPixelColor(i,​ strip.Color(r,​ g, b)); 
 +  } 
 +  strip.show(); 
 +}
 </​note>​ </​note>​
 +  * Setează culoarea tuturor LED-urilor în funcție de valorile RGB primite ca parametri.
 +  * strip.setPixelColor(i,​ strip.Color(r,​ g, b)): Setează culoarea LED-ului i la culoarea specificată.
 +  * strip.show():​ Actualizează șirul de LED-uri pentru a reflecta modificările de culoare.
 +===== Rezultate obţinute =====
  
-===== Bibliografie/​Resurse =====+{{:​pm:​prj2024:​fstancu:​whatsapp_image_2024-05-24_at_18.10.03_042e3b88.jpg?​700|}}
  
-<​note>​ +<​note ​tip>Video demonstrativ:​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+https://www.youtube.com/​shorts/​d3L1eB4awSk
 </​note>​ </​note>​
  
-<​html><​class="media mediafile mf_pdf"​ href="?do=export_pdf">​Export to PDF</a></​html>​+===== Concluzii ===== 
 +În concluzie, ​fost o adevărată plăcere să lucrez la acest proiect, unde am avut oportunitatea de a combina cunoștințele de hardware cu cele de software și de a fi creativ în găsirea soluțiilor pentru controlul cooler-ului și a led strip-ului rgb. Integrarea senzorului de temperatură și a mosfet-ului a fost amuzantă, mai ales că mi s-au stricat 2 senzori. Sper să mai am oportunitatea să lucrez la astfel de proiecte în viitor, însă poate de data asta nu se mai strică senzorii :))! 
 +===== Download ===== 
 + 
 +{{:​pm:​prj2024:​fstancu:​proiect_pm.zip|}} 
 +===== Bibliografie/Resurse ===== 
 + 
 + 
 +1. **Arduino Libraries** 
 + 
 +2. ** Adafruit_NeoPixel Library Documentation ** 
 + 
 +3. ** OneWire Library Documentation ** 
 + 
 +4. ** Datasheet DS18B20** 
 + 
 +5. ** Datasheet MOSFET N-MOS IRF540N ** 
  
 +6. ** Datasheet LED Strip RGB WS2812 **
pm/prj2024/fstancu/florin.subtirica.1716151207.txt.gz · Last modified: 2024/05/19 23:40 by florin.subtirica
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