Differences

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

Link to this comparison view

pm:prj2024:sseverin:mihaela.alexe0502 [2024/05/23 23:59]
mihaela.alexe0502
pm:prj2024:sseverin:mihaela.alexe0502 [2024/05/27 16:14] (current)
mihaela.alexe0502
Line 1: Line 1:
 ====== Ceas de birou smart ====== ====== Ceas de birou smart ======
 ===== Introducere ===== ===== Introducere =====
-Acest proiect ​constă în dezvoltarea unui ceas de birou, ​însă ​nu orice fel de ceas, ci unul smart. Scopul ​acestuia ​este atât de a arăta ​ora curentă și temperatura din cameră, ​cât şi de a lumina ​suficient de tare în jurul său cât să nu mai trebuiască altă lumină pe birou.+Acest proiect ​implică dezvoltarea unui ceas de birou inteligent, nu doar un simplu ​ceas, ci unul care îmbină funcționalitatea cu inovația. Scopul ​său este de a afișa ​ora curentă și temperatura din cameră, ​oferind totodată o iluminare ​suficient de puternică pentru a elimina necesitatea unei alte surse de lumină pe birou, prin intermediul LED-urilor din jurul său.
  
-Ideea pentru acest proiect a venit din dorința de a realiza ​ceva ce nu am mai vazut până acum, combinată cu lipsa de lumină de pe biroul meu în timp ce mă gândeam la ce aș putea realiza.+Ideea pentru acest proiect a luat naștere ​din dorința de a crea ceva unic și util, combinată cu lipsa de iluminare adecvată pe biroul meu în timp ce mă gândeam la ce aș putea realiza. Am constatat că o sursă de lumină suplimentară ar fi extrem de benefică, mai ales pe timp de noapte, când lumina naturală lipsește.
  
-Cum sunt sigură de faptul ​că nu sunt singura ​care nu are o lumină pe birou care să mă ajute, în special noaptea, cand nu mai exista lumină naturală, consider că acest proiect ​poate fi util şaltor persoane ​care au acestă problemă.+Sunt convinsă că nu sunt singura ​persoană care se confruntă cu această problemă, iar acest ceas inteligent ​poate fi de mare ajutor pentru oricine are nevoie de o sursă de lumină eficientă pe birou. Proiectul meu are potențialul de a aduce un plus de confort șfuncționalitate în spațiul de lucru al multor ​persoane.
  
 ===== Descriere generală ===== ===== Descriere generală =====
-Ceasul de birou smart are următoarele caracteristici+=== Functionalitati=== 
-  - Indică pe ecran **ora** exactă +  - Controlul LED-urilor 
-  ​Indică pe ecran **temperatura din cameră**, prin intermediul unui senzor de temperatură +    - **LED-urile RGB** își pot schimba culoarea în funcție de semnalele primite ​de la telecomanda IR. 
-  Tot prin intermediul unui senzor de temperatură se va aprinde ​**un LED RBG** în culoarea specifică (frig => albastru, moderat => verde, cald => roșu)  +    - **LED-urile albe** ​își ajustează intensitatea ​în funcție de lumina ambientală ​(dacă este mai puțină lumină în jur, LED-urile luminează mai tare). Nivelul de lumină este măsurat cu ajutorul unui fotorezistor. 
-  - In funcție de cât de multă lumină este în jurul său, **LED-urile albe** ​din jurul ceasului **scad sau cresc în intensitate** ​(dacă este mai puțină lumină în jur, LED-urile luminează mai tare) +  - Afisarea orei si temperaturii 
-  - **LED-urile RGB**, tot din jurul ceasului, se vor aprinde în momentul în care senzorul infraroșu detectează o anumită acțiune realizată de către un utilizator asupra unei telecomenzi +    ​- **Ora curentă** este obținută de la modulul RTC și afișată pe ecranul LCD. 
-  - **Butoane** ce pot controla ​LED-urile +    - **Temperatura** este citită de la senzorul DS18B20 și afișată pe ecranul LCD. 
-{{ :​pm:​prj2024:​sseverin:​schema_bloc_simona_alexe.png?800 |}}+  - Controlul prin telecomanda IR 
 +    - Diverse butoane ale telecomenzii IR pot schimba culoarea LED-urilor RGB sau pot porni/​opri ​LED-urile ​albe. 
 + 
 +=== Schema bloc: === 
 +{{ :​pm:​prj2024:​sseverin:​schemabloc_final_simonaalexe.png?700 |}}
 <note tip> <note tip>
 Schema bloc este realizată în Figma, folosind icon-uri de pe www.flaticon.com. Schema bloc este realizată în Figma, folosind icon-uri de pe www.flaticon.com.
 </​note>​ </​note>​
 +
 +=== Laboratoare folosite: ===
 +  * Laboratorul 3: **PWM** - folosit pentru a regla intensitatea LED-urilor albe în funcție de lumina ambientală​
 +  * Laboratorul 4: **ADC** - ma folosesc de convertorul analogic-digital care este implementat pe arduino pentru a prelua semnalele analogice de la senzori si a le converti in valori numerice discrete pentru a putea face calcule cu acestea. De asemenea, transform si valori numerice in valori analogice, atunci cand doresc sa folosesc o anumita intensitate pentru LED-urile albe
 +  * Laboratorul 6: **I2C** - datele trimise si primite de la senzorul RTC si de la ecranul LCD sunt prin interfata I2C
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 33: Line 42:
   * Rezistente ​   * Rezistente ​
   * Fire   * Fire
 +  * Modul RTC
  
-=== Schemă ​proiect === +=== Circuit ​proiect=== 
-Această schemă a fost realizată în Tinkercad. +{{ :​pm:​prj2024:​sseverin:​board_-_simona_alexe.jpeg?​700 |}} 
-{{ :​pm:​prj2024:​sseverin:​board_-_simona_alexe.jpeg?​500 |}}+<note tip> 
 +Schema proiectului este realizată în www.tinkercad.com. 
 +</​note>​ 
 +<note warning>​ 
 +De pe această schemă **lipsește modulul RTC**, întrucât acesta nu există in Tinkercad.
  
-=== Schematic circuit:​=== +De asemenea, LED-urile RGB au aici catodul comun, însă în realitate folosesc **LED-uri cu anod comun**. 
-{{ :​pm:​prj2024:​sseverin:​schematic_proiect_pm_-_simona_alexe.png?600 |}}+</​note>​
  
-=== Hardware-ul momentan: === +=== Schematic:=== 
-Urmează să adaug acest hardware într-o carcasă de ceas și, de asemenea, să adaug mai multe LED-uri pe aceasta. +{{ :​pm:​prj2024:​sseverin:​schematic_-_proiect_pm_-_simona_alexe.jpg?700 |}}
-{{ :​pm:​prj2024:​sseverin:​circuit_-_simona_alexe.jpeg?500 |}}+
  
-===== Software Design =====+=== Hardware-ul inainte de a fi bagat intr-o carcasa de ceas: === 
 +{{ :​pm:​prj2024:​sseverin:​circuit_before_simona_alexe.jpeg?​500 |}}
  
- +===== Software Design =====
-<note tip> +
-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 +
-</​note>​+
  
 === Mediu de Dezvoltare === === Mediu de Dezvoltare ===
Line 68: Line 75:
   * **IRremote.hpp** -  folosita pentru decodarea semnalelor primite de la senzorul de IR   * **IRremote.hpp** -  folosita pentru decodarea semnalelor primite de la senzorul de IR
  
-=== Codul momentan ​===+=== Implementare ​=== 
 +Dupa ce am adaugat aceste librarii, urmeaza partea de implementare,​ care este realizata in 3 etape: 
 +== Initializari == 
 +Mai intai initializez componentele,​ mai exact specific pinii pe care ii va folosi fiecare componenta, alaturi de alte initializari acolo unde este cazul.
 <code cpp> <code cpp>
-#include <​DS1307.h> ​// Librarie pentru a comunica cu modulul de RTC +// LED-uri RGB 
-#include <​Wire.h> ​// Librarie pentru comunicatiile cu I2C +int ledRGB_R = 6; // pinul 6 (pwm) 
-#include <​LiquidCrystal_I2C.h> ​// Librarie pentru a comunica cu ecranul I2C mai usor +int ledRGB_G = 5; // pinul 7 (pwm) 
-#include <​OneWire.h> ​// Librarie pentru facilizarea comunicarii cu senzorul de temperatura +int ledRGB_B = 3; // pinul 3 (pwm)
-#include <​DallasTemperature.h>​ // Librarie pen +
-#include <​IRremote.hpp>​ // Librarie pentru decodarea semnalelor primite de la senzorul IR+
  
-// Initializez pinii LED-urilor RGB +// LED-uri albe 
-int ledRGB_R ​6+int led_white ​10// pinul 10 (pwm) 
-int ledRGB_G ​5; +int is_on 1// Variabila pentru a porni/opri ledurile
-int ledRGB_B = 3;+
  
-// Initializez pinul LED-urilor albe +// LCD I2C 
-int led_white = 10;+LiquidCrystal_I2C lcd(0x27, 16, 2)// (adresa I2C, nr coloane, nr linii)
  
-// Variabila pentru a porni/opri ledurile albe +// Modul RTC 
-int is_on = 1;+DS1307 rtc;
  
-// Inițializare LCD (I2C address, nr of rows, nr of columns) +// Senzor IR 
-LiquidCrystal_I2C lcd(0x27, 16, 2);+const int RECV_PIN = 7// pinul 7 
 +String code = "";​ // // Variabila pentru a stoca codul citit de senzor
  
-// Initializare RTC +// Senzor de temperatura DS18B20 
-DS1307 rtc;+int temp = 2; // pinul 2 
 +OneWire oneWire(temp);​ // Instanta OneWire pentru a comunica cu device-uri OneWire 
 +DallasTemperature temp_sensor(&​oneWire);​ // Pasez adresa instantei  
 +</​code>​ 
 +== setup()== 
 +Mai intai specific faptul ca atat pinii de la LED-urile RBG, cat si cei de la LED-urile albe sunt **output**. 
 +<​code>​ 
 +pinMode(ledRGB_R,​ OUTPUT); 
 +pinMode(ledRGB_G,​ OUTPUT); 
 +pinMode(ledRGB_B,​ OUTPUT);
  
-// Pinul pentru citit date de pe senzorul IR +pinMode(led_white,​ OUTPUT); 
-const int RECV_PIN = 7;+</code>
  
-// Variabila pentru a stoca codul citit de senzorul IR +Dupa ce am specificat acest lucru, setez ca LED-urile RGB sa fie stinse la pornirea ceasului, iar LED-urile albe sa fie aprinse. 
-String ​code = ""​;+<code
 +digitalWrite(ledRGB_R,​ 1); 
 +digitalWrite(ledRGB_G,​ 1); 
 +digitalWrite(ledRGB_B,​ 1); 
 +digitalWrite(led_white,​ 0); 
 +</​code>​
  
-// Senzor ​Temperatura +Pentru a afisa pe ecranul LCD ora curenta si temperatura din camera in care se afla ceasul, fac un mic setup pe acesta in care afisez cuvintele specifice: pe primul rand "​Ora"​ si pe al doilea rand "Temperatura ​[...] C". 
-int temp = 2+<​code>​ 
-OneWire oneWire(temp); +lcd.init()
-DallasTemperature temp_sensor(&​oneWire);+lcd.backlight(); 
 +lcd.print("​Ora:"​); 
 +lcd.setCursor(0,​ 1); 
 +lcd.print("​Temperatura:"​);​ 
 +lcd.setCursor(15,​ 1); 
 +lcd.print("​C"​);​ 
 +</​code>​
  
-void setup() { +Pentru a putea afisa ora curentatrebuie sa pornesc modulul RTC si sa ii introduc prima oara manual ora si data curenta, dupa care el va retine automat aceste date. 
-  // Declar pinii redgreen si blue de la led-urile RGB ca fiind output: +<​code>​ 
-  ​pinMode(ledRGB_R, OUTPUT); +rtc.begin(); 
-  ​pinMode(ledRGB_GOUTPUT); +rtc.set(5059, 9, 23, 05, 2024); //sec, min, hour, day, month, year 
-  ​pinMode(ledRGB_B, OUTPUT);+rtc.start(); 
 +</​code>​
  
-  // Declar pin-ul led-urilor albe ca fiind output +Mai ramane doar sa pornesc senzorul IR si senzorul de temperatura. 
-  ​pinMode(led_whiteOUTPUT);+<​code>​ 
 +IrReceiver.begin(RECV_PINDISABLE_LED_FEEDBACK); 
 +temp_sensor.begin();​ 
 +</​code>​
  
-  // Inițializare LCD +== loop() == 
-  lcd.init(); +În această funcție se execută în mod repetitiv următoarele acțiuni:
-  ​lcd.backlight();​ +
-  lcd.print("​Ora:"); +
-  lcd.setCursor(0,​ 1); +
-  lcd.print("​Temperatura:"​);​ +
-  lcd.setCursor(15,​ 1); +
-  lcd.print("​C"​);​+
  
-  // Pornire si setare modul RTC +**1.** Afisare pe LCD:
-  rtc.begin(); +
-  rtc.set(0, 51, 22, 23, 05, 2024); //sec, min, hour, day, month, year +
-  rtc.start();​+
  
-  ​Serial.begin(9600);+  ​* Declaram variabile in care se retin datele de la senzorul RTC legate de ora si data curentaApoi **afisez pe ecran doar ora**, avand insa grija in cazul in care una din variabilele "​hour",​ "​min"​ sau "​sec"​ sunt de o singura cifra (0 - 9), caz in care mai trebuie adaugat un "​0"​ in fata. 
 +<​code>​ 
 +uint8_t sec, min, hour, day, month; 
 +uint16_t year; 
 +rtc.get(&​sec,​ &min, &hour, &day, &month, &year);
  
-  ​// Pornire citire date de pe senzorul IR +lcd.setCursor(5,​ 0);  ​// Setează cursorul la linia 1, poziția 5 
-  ​IrReceiver.begin(RECV_PIN, DISABLE_LED_FEEDBACK); +if (hour < 10) { 
-   +  ​lcd.print("​0"​); 
-  // Pornire senzor de temperatura +  ​lcd.print(hour,​ DEC); 
-  ​temp_sensor.begin();+} else { 
 +  ​lcd.print(hour, DEC); 
 +}
   ​   ​
-  // Setare LED-uri RGB ca fiind stinse initial +lcd.print(':'​);​ 
-  ​digitalWrite(ledRGB_R, 1); +if (min < 10) { 
-  ​digitalWrite(ledRGB_G1); +  ​lcd.print("​0"​); 
-  ​digitalWrite(ledRGB_B1);+  ​lcd.print(minDEC); 
 +} else { 
 +  ​lcd.print(minDEC); 
 +}
  
-  // Setare LED-uri albe ca fiind aprinse initial +lcd.print(':'​);​ 
-  ​digitalWrite(led_white, ​0);+if (sec < 10) { 
 +  ​lcd.print("0"); 
 +  lcd.print(sec,​ DEC); 
 +} else { 
 +  lcd.print(sec,​ DEC);
 } }
 +</​code>​
  
-void loop() { +  * Alatur ​de ora, pe ecranul LCD trebuie sa mai **afisez si temperatura**. Astfel, citesc ​de la senzor temperatura masurata si o afisez pe ecran la locul specific acesteia. 
-  // Citesc nivelul ​de lumina ​de la pin-ul A0 +<​code>​ 
-  int value = analogRead(A0); +temp_sensor.requestTemperatures();  
-  +lcd.setCursor(12,​ 1); 
- // Daca LED-urile albe sunt aprinseli se regleaza intensitatea ​in functie de lumina +lcd.print(temp_sensor.getTempCByIndex(0));​ 
-  if (is_on == 1){ +</code> 
-    if (value < 150) { // Daca este lumina slaba in jur + 
-      analogWrite(led_white,​ 250); // LED-ul lumineaza mai intens +**2.** Pentru controlul LED-urilor avem la dispozitie o telecomanda si o fotorezistenta. Astfel,  
-    } else if (value >= 150 && value < 300) { +  * Pentru **LED-urile albe**: Se citeste nivelul de lumina de la pinul A0, la care este conectat fotorezistentaiar in functie ​de acesta LED-urile lumineaza mai tare (nivel ​de lumina ​scazut) sau mai incet (nivel de lumina ridicat). Aceste LED-uri albe pot fi si oprite din telecomanda,​ deci vor lumina conform conditiilor de mai sus **doar daca** sunt aprinse (a fost apasat butonul de turn on si variabila is_on a fost setata pe 1). 
-      analogWrite(led_white,​ 200); +<​code>​ 
-    } else if (value >= 300 && value < 500) { +int value = analogRead(A0);​ 
-      analogWrite(led_white,​ 150); +if (is_on == 1) { 
-    } else if (value >= 500 && value < 700) { +  if (value < 150) { // Daca este lumina slaba in jur 
-      analogWrite(led_white,​ 100); +    analogWrite(led_white,​ 250); // LED-ul lumineaza mai intens 
-    } else { +  } else if (value >= 150 && value < 300) { 
-      analogWrite(led_white,​ 50); +    analogWrite(led_white,​ 200); 
-    }+  } else if (value >= 300 && value < 500) { 
 +    analogWrite(led_white,​ 150); 
 +  } else if (value >= 500 && value < 700) { 
 +    analogWrite(led_white,​ 100);
   } else {   } else {
-    analogWrite(led_white, ​0);+    analogWrite(led_white, ​50);
   }   }
 +} else {
 +  analogWrite(led_white,​ 0);
 +}
 +</​code>​
  
-  // Variabile pentru ​retine ora si data +  ​* Asa cum am mentionat mai sus, din telecomanda aprind si sting LED-urile albe, dar pot sa controlez si **LED-urile RGB**, putand fie sa le sting de tot, fie sa aprind o anumita culoare (rosu/verde/albastru/​portocaliu/​galben/​mov). Pentru ​realiza acest lucru, citesc mai intai codul receptionat de senzorul IR, iar in functie de acesta setez anumite valori pentru pinii LED-urilor. Pentru culorile primare (red, green, blue) folosesc digital write-uri, iar pentru celelalte folosesc analog write-uri. 
-  ​uint8_t secminhourdaymonth+<​code>​ 
-  ​uint16_t year;+if (IrReceiver.decode()) { 
 +  ​code = String(IrReceiver.decodedIRData.decodedRawDataHEX); 
 +  if (code == "​fb04ef00"​) { // rosu 
 +    digitalWrite(ledRGB_R0); 
 +    digitalWrite(ledRGB_G1); 
 +    digitalWrite(ledRGB_B1)
 +  ​} else if (code == "​fa05ef00"​) { // verde 
 +    digitalWrite(ledRGB_R,​ 1); 
 +    digitalWrite(ledRGB_G,​ 0); 
 +    digitalWrite(ledRGB_B,​ 1); 
 +  } else if (code == "​f906ef00"​) { // albastru 
 +    digitalWrite(ledRGB_R,​ 1); 
 +    digitalWrite(ledRGB_G,​ 1); 
 +    digitalWrite(ledRGB_B,​ 0); 
 +  } else if (code == "​f708ef00"​) { // portocaliu 
 +    analogWrite(ledRGB_R,​ 0); 
 +    analogWrite(ledRGB_G,​ 200); 
 +    analogWrite(ledRGB_B,​ 255); 
 +  } else if (code == "​f609ef00"​) { // galben 
 +    analogWrite(ledRGB_R,​ 0); 
 +    analogWrite(ledRGB_G,​ 120); 
 +    analogWrite(ledRGB_B,​ 255); 
 +  } else if (code == "​f40bef00"​) { // mov 
 +    analogWrite(ledRGB_R,​ 0); 
 +    analogWrite(ledRGB_G,​ 255); 
 +    analogWrite(ledRGB_B,​ 0); 
 +  } else if (code == "​f50aef00"​) { // turn OFF LED-uri RBG  
 +    digitalWrite(ledRGB_R,​ 1); 
 +    digitalWrite(ledRGB_G,​ 1); 
 +    digitalWrite(ledRGB_B,​ 1); 
 +  } else if (code == "​fc03ef00"​) { // turn OFF LED-uri albe 
 +    is_on = 0; 
 +  } else if (code == "​fd02ef00"​) { // turn ON LED-rui albe 
 +    is_on = 1; 
 +  } 
 +   
 +   ​IrReceiver.resume();​ 
 + } 
 +</​code>​
  
-  // Obtin datele despre ora si data de la senzorul RTC 
-  rtc.get(&​sec,​ &min, &hour, &day, &month, &year); 
  
-  // Afișează ora actuală pe LCD +===== Rezultate Obţinute ===== 
-  ​lcd.setCursor(5,​ 0);  // Setează cursorul la linia 1, poziția 5 +Intr-un final am reusit sa dau viata unui ceas de birou care arata in felul urmator:
-  lcd.print(hour,​ DEC); +
-  lcd.print('​:'); +
-  lcd.print(min,​ DEC); +
-  lcd.print(':'​);​ +
-  lcd.print(sec,​ DEC);+
  
-  // Obtinere temperatura de la senzor si afisare pe ecran +{{ :​pm:​prj2024:​sseverin:​ceas_final_simona_alexe.jpeg?500 |}}
-  temp_sensor.requestTemperatures();​  +
-  lcd.setCursor(12,​ 1); +
-  lcd.print(temp_sensor.getTempCByIndex(0));​+
  
-  // Citire si decodare date de pe senzor +Putem sa aprindem ​LED-urile albe ca sa lumineze in functie de lumina ambientala:
-  if (IrReceiver.decode()){ +
-    code = String(IrReceiver.decodedIRData.decodedRawData,​ HEX); +
-    if (code == "​fb04ef00"​) { // rosu +
-      digitalWrite(ledRGB_R,​ 0); +
-      digitalWrite(ledRGB_G,​ 1); +
-      digitalWrite(ledRGB_B,​ 1); +
-    } else if (code == "​fa05ef00"​) { // verde +
-      digitalWrite(ledRGB_R,​ 1); +
-      digitalWrite(ledRGB_G,​ 0); +
-      digitalWrite(ledRGB_B,​ 1); +
-    } else if (code == "​f906ef00"​) { // albastru +
-      digitalWrite(ledRGB_R,​ 1); +
-      digitalWrite(ledRGB_G,​ 1); +
-      digitalWrite(ledRGB_B,​ 0); +
-    } else if (code == "​f50aef00"​) { // turn OFF LED-uri RBG  +
-      digitalWrite(ledRGB_R,​ 1); +
-      digitalWrite(ledRGB_G,​ 1); +
-      digitalWrite(ledRGB_B,​ 1); +
-    } else if (code == "​fc03ef00"​) { // turn OFF LED-uri ​albe +
-      is_on = 0; +
-    } else if (code == "​fd02ef00"​) { // turn ON LED-rui albe +
-      is_on = 1; +
-    }+
  
-    IrReceiver.resume(); +{{ :​pm:​prj2024:​sseverin:​leduri_albe_1_simona_alexe.jpeg?500 |}} 
-  }+{{ :​pm:​prj2024:​sseverin:​leduri_albe_2_simona_alexe.jpeg?​500 |}}
  
-  delay(500);​ +Sau putem sa aprindem LED-urile RGB si sa le setam ce culoare dorim:
-+
-</​code>​+
  
-===== Rezultate Obţinute =====+{{ :​pm:​prj2024:​sseverin:​leduri_rgb_simona_alexe.jpeg?​500 |}}
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Fun fact: un astfel de ceas poate ajunge si la 100 de leiMa gandesc de acum incolo sa imi realizez singura anumite gadget-uri LOL
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +Acest proiect a fost o adevarata provocare pentru mine, mai ales din pricina faptului ca nu am mai facut asa ceva pana acum si la inceput am fost chiar speriata de ceea ce as putea sa fac.
  
-===== Download =====+Pe parcurs a inceput sa imi placa provocarile oferite de acesta, simtind ca ia nastere din mainile mele. Am inceput usor usor sa il construiesc,​ mai adaugand o componenta, mai scriind o linie de cod. 
  
-<note warning>​ +Am avut norocul de a functiona totul bine si de a nu avea probleme ​cu piesele comandate (binesenzorul ​de temperatura mai avea putin si lua foc, dar nu din vina lui LOL).
-O arhivă (sau mai multe dacă este cazul) ​cu fişierele obţinute în urma realizării proiectului:​ sursescheme, 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**. +In final, a fost o experienta ​pe care ma bucur ca am avut-o si care cu siguranta ​este un inceput daca voi vrea pe viitor sa ma mai ocup de ceva din acest domeniu.
-</​note>​+
  
-===== Jurnal ​=====+===== Download ​===== 
 +{{:​pm:​prj2024:​sseverin:​proiect_pm_simona_alexe.zip|}}
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +  * Senzor de temperatura:​
 +    * https://​www.instructables.com/​How-to-use-DS18B20-Temperature-Sensor-Arduino-Tuto/​
 +    * https://​forum.arduino.cc/​t/​ds18b20-temperature-sensor-using-onewire-library/​699347
  
-<​note>​ +  * Senzor infrarosu: 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +    * https://​www.instructables.com/​Using-Infrared-Sensor-With-Arduino/​  
-</note>+    ​https://​github.com/​Arduino-IRremote/​Arduino-IRremote#​converting-your-2x-program-to-the-4x-version 
 + 
 +  ​Fotorezistor:​ 
 +    ​https://​projecthub.arduino.cc/​tropicalbean/​how-to-use-a-photoresistor-1143fd 
 + 
 +  ​Ecran LCD: 
 +    ​https://​projecthub.arduino.cc/​arduino_uno_guy/​i2c-liquid-crystal-displays-5eb615 
 +    ​https://​arduinogetstarted.com/​tutorials/​arduino-lcd-i2c 
 + 
 +  ​LED-uri: 
 +    ​https://​docs.arduino.cc/​built-in-examples/​basics/​Blink/​ 
 +    * https://​www.optimusdigital.ro/​ro/​optoelectronice-led-uri/​484-led-rgb-anod-comun.html?​search_query=led+rgb+anod+comun&​results=2 
 +    * https://​docs.arduino.cc/​built-in-examples/​basics/​Fade/​ 
 + 
 +  * Senzor RTC: 
 +    * https://​www.instructables.com/​DS1307-Real-Time-Clock-RTC-With-Arduino/
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2024/sseverin/mihaela.alexe0502.1716497965.txt.gz · Last modified: 2024/05/23 23:59 by mihaela.alexe0502
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