Differences

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

Link to this comparison view

pm:prj2025:avaduva:alexandru.braslasu [2025/05/24 20:50]
alexandru.braslasu [Software Design]
pm:prj2025:avaduva:alexandru.braslasu [2025/05/25 23:03] (current)
alexandru.braslasu [Concluzii]
Line 12: Line 12:
   * Senzorul DHT11 colectează constant date despre temperatură și umiditate (laborator ADC).   * Senzorul DHT11 colectează constant date despre temperatură și umiditate (laborator ADC).
   * Datele sunt transmise prin Bluetooth către un smartphone, unde sunt afișate în timp real (laborator UART).   * Datele sunt transmise prin Bluetooth către un smartphone, unde sunt afișate în timp real (laborator UART).
 +  * Modificarea automată a turației ventilatorului atunci când temperatura scade sub un anumit prag (laborator PWM).
   * Control interactiv prin buton din aplicația MIT App Inventor – pornirea/​oprirea afișării datelor despre temperatură,​ umiditate (laborator GPIO).   * Control interactiv prin buton din aplicația MIT App Inventor – pornirea/​oprirea afișării datelor despre temperatură,​ umiditate (laborator GPIO).
   * Control interactiv prin slide-bar din aplicația MIT App Inventor a turației ventilatorului.   * Control interactiv prin slide-bar din aplicația MIT App Inventor a turației ventilatorului.
Line 25: Line 26:
  
 Lista componentelor utilizate: Lista componentelor utilizate:
-  * Placă de dezvoltare Arduino Mega 2560 +  * Placă de dezvoltare Arduino Mega 2560: https://​www.optimusdigital.ro/​ro/​compatibile-cu-arduino-mega/​471-placa-de-dezvoltare-compatibila-cu-arduino-mega-2560-atmega2560-ch340.html?​gad_source=1&​gad_campaignid=19615979487&​gbraid=0AAAAADv-p3CryZyafQypNd8z1WFDsrQDh&​gclid=CjwKCAjw3MXBBhAzEiwA0vLXQTwgAe_Glhjf1jwGOhzjR_WkEuefSPsy9k2wb8SZGuPPDwMXeH-dFRoCTgwQAvD_BwE 
-  * Senzor temperatură și umiditate DHT11 +  * Senzor temperatură și umiditate DHT11: https://​www.optimusdigital.ro/​ro/​senzori-senzori-de-temperatura/​99-senzor-de-temperatura-si-si-umiditate-dht11.html?​srsltid=AfmBOor9MyTWVCg9gR--jyWcgInBLPUQCXxw0GdD6kbPoUzXLTv_1Jao 
-  * Modul Bluetooth HC-05 +  * Modul Bluetooth HC-05: https://​www.optimusdigital.ro/​ro/​wireless-bluetooth/​153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html?​gad_source=1&​gad_campaignid=19615979487&​gbraid=0AAAAADv-p3CryZyafQypNd8z1WFDsrQDh&​gclid=CjwKCAjw3MXBBhAzEiwA0vLXQUMunxJwEzkuiMg7XHfO2-HWdYC9HCMnEs5VA01QlR48RX4d_bs6lRoCkvQQAvD_BwE 
-  * Ventilator PWM Noctua NF-A9 12V +  * Ventilator PWM Noctua NF-A9 12V: https://​www.emag.ro/​ventilator-noctua-nf-a9-pwm-92-mm-venta9pwm/​pd/​DBNVN2BBM/​ 
-  * Breadboard și cabluri de conexiune +  * Breadboard și cabluri de conexiune: https://​www.optimusdigital.ro/​ro/​prototipare-breadboard-uri/​44-breadboard-400-points.html?​gad_source=1&​gad_campaignid=19615979487&​gbraid=0AAAAADv-p3CryZyafQypNd8z1WFDsrQDh&​gclid=CjwKCAjw3MXBBhAzEiwA0vLXQVW8KRraT4THABRKepafE6gP672QiVzGPg75u3Ew6jLQEJ6CmRBshBoCUWsQAvD_BwE 
-  * Sursă de alimentare 12V (sau 3 baterii de 3.7V)+  * Sursă de alimentare 12V 
 +  * 3 baterii de 3.7V
 Schema electrica: Schema electrica:
  
Line 38: Line 40:
 ===== Software Design ===== ===== Software Design =====
  
-Medii de dezvoltare:+=== Medii de dezvoltare: ​===
   * Arduino IDE – pentru programarea microcontrolerului   * Arduino IDE – pentru programarea microcontrolerului
   * MIT App Inventor – pentru realizarea aplicației mobile Android   * MIT App Inventor – pentru realizarea aplicației mobile Android
-Codul din Arduino IDE este împărțit în două părți:+=== Codul din Arduino IDE este împărțit în două părți: ​===
   * Partea pentru modul Automat   * Partea pentru modul Automat
   * Partea pentru modul Manual   * Partea pentru modul Manual
 +=== Librării și surse 3rd-party: === 
 +  * ** DHT sensor library (Adafruit) ** — pentru citirea temperaturii și umidității de la senzorul DHT11. 
 +  * ** SoftwareSerial ** — pentru comunicarea serială cu modulul Bluetooth HC-05 pe pini diferiți de cei principali RX/TX. 
 +=== Algoritmi și structuri implementate:​ === 
 +== Citirea senzorilor == 
 +** Temperatură și umiditate (DHT11): ** 
 +  * Se utilizează funcțiile readTemperature() și readHumidity() pentru a citi valorile de mediu de la senzor. 
 +  * Valorile sunt citite la fiecare execuție a buclei loop(). 
 +== Controlul ventilatorului == 
 +** Ventilator controlat prin PWM (pin 5): ** 
 +  * În modul ** automat **, viteza ventilatorului este ajustată în funcție de temperatura ambientală pe 5 trepte (0%, 25%, 50%, 75%, 100%). 
 +  * În modul ** manual **, utilizatorul setează viteza ventilatorului prin aplicația de pe telefon (valoare între 0–255). 
 +== Transmiterea datelor către aplicația mobilă == 
 +  - Se transmit datele prin Bluetooth HC-05 la fiecare comandă primită: 
 +    * ** Temperatura,​ umiditatea și viteza ventilatorului ** (în modul automat). 
 +    * ** Temperatura și umiditatea ** (în modul manual). 
 +  - Formatul transmis prin Bluetooth este delimitat de caracterul ; pentru a fi ușor de prelucrat în aplicația mobilă: ** temp;​umid;​viteza;​ ** 
 +== Comunicarea Bluetooth == 
 +  - Se folosește modulul ** HC-05 ** conectat prin ** SoftwareSerial ** pe pinii 10 (RX) și 11 (TX). 
 +  - Comenzile trimise de aplicație sunt: 
 +    * "​Aut"​ — activează modul automat. 
 +    * "​Man"​ — activează modul manual, iar slider-ul trimite viteza dorită. 
 +  - Datele sunt primite sub forma: 
 +    * "​Man:​128|"​ sau "​Aut:​0|",​ unde : și | sunt delimitatori de parcurgere. 
 +== Surse și funcții implementate == 
 +  - ** loop() ** - gestionează logica de citire a comenzilor și valorilor senzorilor, transmiterea datelor prin Bluetooth și controlul ventilatorului. 
 +  - ** analogWrite(ventPin,​ ventVit) ** - reglează viteza ventilatorului în funcție de valoarea calculată sau primită.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 Stadiul proiectului după conectarea tuturor componentelor și pornirea senzorului de Bluetooth: Stadiul proiectului după conectarea tuturor componentelor și pornirea senzorului de Bluetooth:
 {{:​pm:​prj2025:​avaduva:​montaj.png?​400|}} {{:​pm:​prj2025:​avaduva:​montaj.png?​400|}}
 {{:​pm:​prj2025:​avaduva:​montaj_functional.png?​400|}} {{:​pm:​prj2025:​avaduva:​montaj_functional.png?​400|}}
 +
 +===== Înregistrare =====
 +Înregistrare funcționare proiect finalizat: https://​youtube.com/​shorts/​R4ME0jf7PHE?​feature=share
 ===== Concluzii ===== ===== Concluzii =====
-Înregistrare funcționare ​proiect: https://​youtube.com/​shorts/​R4ME0jf7PHE?​feature=share +Un proiect ​care imi va fi util mai mult ca sigur in zilele calduroase:) 
-===== Cod sursă ​și alte resurse ce trebuie să existe pe GitHub ​=====+===== Cod sursă ​===== 
 +{{pm:​prj2025:​avaduva:​proiect_pm.zip|Download the ZIP archive}} 
 +===== Jurnal ​=====
  
-Codul sursă trebuie urcat într-un repo public, recomandăm GitHub.+**06.05.2025** 
 +Am creat pagina de proiect și am adăugat descrierea generală a sistemului de ventilație automatizat cu control prin Bluetooth.
  
-<note warning>​ +**09.05.2025** 
-Structurați-vă pagina de GitHub a proiectului pe mai multe directoare. De exemplu, creați un director numit *srcîn care țineți tot codul sursăAlt director ​*hardwareîn care să țineți schemele ​și diagramele și alt director numit *imagesîn care să puneți toate fotografiile cu proiectul vostrupe care le link-în README.md+  * Am realizat schema bloc și designul inițial al sistemului. 
 +  ​Am întocmit lista completă de componente. 
 +  ​Am comandat: Arduino Mega 2560DHT11, HC-05, ventilator PWM Noctua, breadboard, fire șsursă de alimentare.
  
-Pagina de GitHub a proiectului vostru trebuie să conțină ​*toatefișierele relevante pentru realizarea proiectului vostruDacă există resurse externe pe care le-ați folosit, vă rugăm să le link-ațîn README.md +**12.05.2025** 
-</​note>​+  * Am primit componentele și am testat individual funcționarea senzorului DHT11 și a modulului HC-05. 
 +  * Am realizat montajul pe breadboard șam verificat conexiunile
 +  * Am început scrierea codului pentru modul automat (citire senzor și control PWM al ventilatorului).
  
-<note warning> +**15.05.2025** 
-Sunteți încurajați să filmați un demo cu proiectul vostru și să îl încărcați pe YouTubeFaceți embed la video în README.md și în pagina ​de wiki OCW a proiectului vostru+  * Am finalizat implementarea controlului automat pe 5 trepte de viteză, în funcție de temperatură. 
-</​note>​+  * Am testat funcționarea ventilatorului cu semnal PWM generat ​de Arduino
 +  * Am adăugat transmiterea datelor prin Bluetooth (temp;​umid;​viteza).
  
-===== Jurnal =====+**18.05.2025** 
 +  * Am dezvoltat prima versiune a aplicației mobile în MIT App Inventor: 
 +    - afișare temperatură/​umiditate 
 +    - comenzi „Aut” / „Man” 
 +    - slider pentru reglaj manual 
 +  * Am testat comenzile Bluetooth între aplicație și Arduino.
  
-<note tip> +**21.05.2025** 
-Puteți avea și o secțiune de jurnal ​în care să poată urmări asistentul ​de proiect progresul proiectului+  * Am integrat complet funcțiile automat/​manual ​în codul Arduino. 
-</​note>​+  * Am sincronizat aplicația cu răspunsurile trimise ​de placă
 +  * Am început documentarea:​ capturi ecran aplicație, explicații cod și funcționare.
  
 +**24.05.2025**
 +  * Am testat întregul sistem: senzor + ventilator + control manual și automat + aplicație mobilă.
 +  * Am filmat demonstrația finală cu toate funcțiile operaționale.
 +  * Am organizat fișierele pentru GitHub: cod sursă, schema, capturi, video.
 +
 +**25.05.2025**
 +  * Am urcat proiectul complet pe GitHub: cod Arduino, aplicație, imagini, demo video.
 +  * Am completat documentația cu explicații,​ linkuri externe și diagrama electrică.
 +  * Proiectul este finalizat integral și pregătit pentru evaluare.
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +==== Resurse Hardware ==== 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe *Resurse Software* ​şi *Resurse Hardware*. +  * **Arduino Mega 2560** 
-</note>+    - [Documentație oficială Arduino Mega 2560](https://​docs.arduino.cc/​hardware/​mega-2560) 
 + 
 +  * **Senzor DHT11 (Temperatură și Umiditate)** 
 +    - [Tutorial Adafruit DHT11](https://​learn.adafruit.com/​dht) 
 + 
 +  * **Ventilator PWM Noctua NF-A9** 
 +    - [Pagina oficială cu specificații](https://​noctua.at/​en/​nf-a9-pwm/​specification) 
 + 
 +  ​**Sursă de alimentare 12V / Baterii Li-ion 3.7V** 
 +    - [General guide pentru alimentare Arduino](https://​learn.sparkfun.com/​tutorials/​how-to-power-a-project/​all) 
 + 
 + 
 +==== Resurse Software ​==== 
 +  ​* **Arduino IDE** 
 +    - [Arduino PWM Tutorial](https://​www.arduino.cc/​en/​Tutorial/​SecretsOfArduinoPWM) 
 + 
 +  * **Librărie Adafruit DHT Sensor** 
 +    - [GitHub Repo + README](https://​github.com/​adafruit/​DHT-sensor-library) 
 +    - [Funcții principale: `readTemperature()`,​ `readHumidity()`] 
 + 
 +  * **SoftwareSerial (comunicare HC-05)** 
 +    - [Arduino SoftwareSerial Reference](https://​www.arduino.cc/​en/​Reference/softwareSerial)
pm/prj2025/avaduva/alexandru.braslasu.1748109017.txt.gz · Last modified: 2025/05/24 20:50 by alexandru.braslasu
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