Differences

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

Link to this comparison view

pm:prj2024:ccontasel:george.vasilache [2024/05/25 23:36]
george.vasilache [Rezultate Obţinute]
pm:prj2024:ccontasel:george.vasilache [2024/06/05 18:53] (current)
alex.moldoveanu0510 [Cooling Pad Laptop]
Line 1: Line 1:
 ====== Cooling Pad Laptop ======= ====== Cooling Pad Laptop =======
  
-Vasilache George-Florin -- 331CB+Moldoveanu Alex-Adrian 333CA 
  
 ===== Introducere ===== ===== Introducere =====
Line 38: Line 39:
 == Schema Circuitului == == Schema Circuitului ==
 {{:​pm:​prj2024:​ccontasel:​schema_electrica_vasilqche_george.jpg?​700|}} {{:​pm:​prj2024:​ccontasel:​schema_electrica_vasilqche_george.jpg?​700|}}
 +
 +Rezultatul final al acestei etape este reprezentat în poza de mai jos:
 +
 +{{:​pm:​prj2024:​ccontasel:​rezultat_circuti_fara_design_vasilache_george.jpeg?​500|}}
  
  
  
 ===== Software Design ===== ===== Software Design =====
 +
 +Partea de software am dezvoltat-o folosind Arduino IDE cu ajutorul unor biblioteci externe precum #include <​Wire.h>,​ #include <​LiquidCrystal_I2C.h>​ si #include <​DHT11.h>​ pentru senzorul de temperatură si pentru pentru ecranul LCD.
 +
 +== Senzorul de temperatura ==
 +
 +Global am initializat senzorul folosind o functie de biblioteca pe pinul 6.
 +<file cpp global>
 +DHT11 dht11(9);
 +</​file>​
 +
 +In functia de loop mi-am declarat 2 variabile temperature si humidity in care cu ajutorul unei functii de biblioteca
 +stochez temperatura si umiditatea inregsitrata de senzor.
 +<file cpp loop>
 +int temperature = 0;
 +int humidity = 0;
 +
 +// Attempt to read the temperature and humidity values from the DHT11 sensor.
 +dht11.readTemperatureHumidity(temperature,​ humidity);
 +</​file>​
 +
 +== Foto rezistenta + led rosu ==
 +Global am declarat pin-ul pentru led si pentru fotorezistenta.
 +<file cpp global>
 +const int ledPin = 6;
 +const int fotoLedPin = A0;
 +</​file>​
 +
 +In functia de setup am declarat pin-ul led-ului ca pin de output.
 +<file cpp setup>
 +// Setăm pinul LED-ului ca OUTPUT
 +pinMode(ledPin,​ OUTPUT);
 +</​file>​
 +
 +In functia de loop am citit intr-o variabila ce inregistreaza fotorezistenta.
 +Iar daca valorea este mai mare de 600 atunci led-ul se poate aprinde.
 +<file cpp loop>
 +int value = analogRead(fotoLedPin);​
 +
 +if(value <= 600){
 +  digitalWrite(ledPin,​HIGH);​
 +}else{
 +  digitalWrite(ledPin,​LOW);​
 +}
 +</​file>​
 +
 +== LCD ==
 +Global am folosit functia de biblioteca pentru a initializa ecranul la adersa 0x3F.
 +<file cpp global>
 +LiquidCrystal_I2C lcd(0x3F,​16,​2);​
 +</​file>​
 +
 +In functia de setup() afisam pe ecran un mesaj de inceput.
 +<file cpp setup>
 +lcd.init();
 +lcd.backlight();​
 +lcd.setCursor(0,​0);​
 +lcd.print("​Hello,​ world!"​);​
 +lcd.setCursor(0,​1);​
 +lcd.print("​Optimus Digital"​); ​
 +
 +delay(2000);​
 +lcd.clear();​
 +</​file>​
 +
 +In functia de loop afisam pe ecran temperatura inregistrata de senzor sub formatul de grade celsius.
 +<file cpp loop>
 +lcd.setCursor(0,​ 0);
 +lcd.print("​Temp:​ ");
 +lcd.print(temperature);​
 +lcd.print(char(223));​
 +lcd.print("​C"​);​
 +</​file>​
 +
 +== Driver L293D + motor + elice ==
 +Global am declarat pinii pentru motor si driver.
 +Apoi am apelat functia construita de mine in fisierul DCMDriverL293D.cpp pentru initializarea motoras-ului si a driver-ului.
 +<file cpp global>
 +// Pin Definitions
 +#define DCMOTORDRIVERB_PIN_ENABLE1 3
 +#define DCMOTORDRIVERB_PIN_IN1 2
 +#define DCMOTORDRIVERB_PIN_IN2 4
 +#define DCMOTORDRIVERB_PIN_ENABLE2 5
 +#define DCMOTORDRIVERB_PIN_IN3 7
 +#define DCMOTORDRIVERB_PIN_IN4 8
 +
 +// object initialization
 +DCMDriverL293D dcMotorDriverB(DCMOTORDRIVERB_PIN_ENABLE1,​DCMOTORDRIVERB_PIN_IN1,​DCMOTORDRIVERB_PIN_IN2,​DCMOTORDRIVERB_PIN_ENABLE2,​DCMOTORDRIVERB_PIN_IN3,​DCMOTORDRIVERB_PIN_IN4);​
 +</​file>​
 +
 +In functia de loop daca temperatura este mai mare sau egala cu 30 grade Celsius activam mototras-ul folosind functia setMotorA/​setMotorB cu o viteza ce este reglata de potentiometru si directia de invartire a elicei alese aleator.
 +<file cpp loop>
 +if(temperature >= 30){
 +  dcMotorDriverB.setMotorA(value2,​true);​
 +  dcMotorDriverB.setMotorB(value2,​false);​
 +}else{
 +  dcMotorDriverB.stopMotors();​
 +}
 +</​file>​
 +
 +== Potentiometru 10k ==
 +In functia de loop , pentru ca potentiometrul citea valori in 25 si 1005 , am sacalat valoarea citita intre 10 si 200, 255 fiind
 +valoarea maxima pe care o poate primii motoras-ul, valoare cu care ii este reglata viteza elicei.
 +<file cpp loop>
 +int value2 = analogRead(A1);​
 +value2 = map(value2, 25, 1005, 10, 200);
 +</​file>​
 +
 +
  
 == Unelte Folosite == == Unelte Folosite ==
Line 49: Line 162:
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-Rezultatul ​final al acestei etape este reprezentat în poza de mai jos:+Proiectul ​final, cât și funcționalitatea acestuia pot fi observate ​mai jos
 + 
 +https://​youtu.be/​Us-E9WrCB4k?​si=YHQfVc0tqV_KVFba
  
-{{:​pm:​prj2024:​ccontasel:​rezultat_circuti_fara_design_vasilache_george.jpeg?​500|}} 
-=====  Concluzii ===== 
  
 =====  Download ===== =====  Download =====
 +
 +<note important>​Arhiva proiectului se află mai jos și conține:
 +  * Fișierele cu codul software
 +  * Imagini cu proiectul
 +</​note>​
 +
 +Download: {{:​pm:​prj2024:​ccontasel:​proiect_pm_vasilache_george.zip|}}
 +
  
 ===== Tinte ===== ===== Tinte =====
Line 67: Line 188:
   * 05/05/2024 - completarea descrierii generale + schema bloc   * 05/05/2024 - completarea descrierii generale + schema bloc
   * 15/05/2024 - adaugare schema electrica   * 15/05/2024 - adaugare schema electrica
 +  * 21/05/2024 - finalizare proiect(hardware + software)
 +  * 22/05/2024 - finisare proiect(realizarea unui design adecvat)
 **GRAFIC GANT** **GRAFIC GANT**
  
-{{:​pm:​prj2024:​ccontasel:​gantt_pm_geo.png?700|}} +{{:​pm:​prj2024:​ccontasel:​grafic_chart_pm_vasilache_george.png?700|}}
- +
- +
-=====  Bibliografie și Resurse =====+
  
pm/prj2024/ccontasel/george.vasilache.1716669414.txt.gz · Last modified: 2024/05/25 23:36 by george.vasilache
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