This shows you the differences between two versions of the page.
pm:prj2025:avaduva:alexandru.braslasu [2025/05/24 21:37] alexandru.braslasu [Concluzii] |
pm:prj2025:avaduva:alexandru.braslasu [2025/05/25 23:03] (current) alexandru.braslasu [Concluzii] |
||
---|---|---|---|
Line 31: | Line 31: | ||
* Ventilator PWM Noctua NF-A9 12V: https://www.emag.ro/ventilator-noctua-nf-a9-pwm-92-mm-venta9pwm/pd/DBNVN2BBM/ | * 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: 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 | * 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: https://www.thomann.de/ro/rockpower_power_supply_rp_nt_11_eu.htm?glp=1&gad_source=1&gad_campaignid=10126895432&gbraid=0AAAAADuDMCU8FBAfAKBwwPASqERtaKLLR&gclid=CjwKCAjw3MXBBhAzEiwA0vLXQYouDca5zEgNDTOn6aj4sKIv67DCfS2mALah5txMOwYjD8WxsW33pxoCBbwQAvD_BwE | + | * Sursă de alimentare 12V |
- | * 3 baterii de 3.7V: https://www.waragod.ro/baterie-reincarcabila-boruit-18650-2200-mah-li-ion/?g=1&utm_source=google&utm_medium=cpc&utm_campaign=PM%3A%3EZbytek%20zna%C4%8Dek%3EAll&utm_id=21384801316&gad_source=1&gad_campaignid=21380735444&gbraid=0AAAAACxfDvKHTf3jdyGcypmn9i1Q1HZde&gclid=CjwKCAjw3MXBBhAzEiwA0vLXQYxMn7OtWk77ByFosy2cXcRB6qbIS2pb_1klm5ru6bvnrsIvJ5rTvBoCcXgQAvD_BwE | + | * 3 baterii de 3.7V |
Schema electrica: | Schema electrica: | ||
Line 40: | 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 ===== | ||
+ | Un proiect care imi va fi util mai mult ca sigur in zilele calduroase. :) | ||
+ | ===== Cod sursă ===== | ||
+ | {{pm:prj2025:avaduva:proiect_pm.zip|Download the ZIP archive}} | ||
+ | ===== Jurnal ===== | ||
- | ===== Cod sursă și alte resurse ce trebuie să existe pe 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. | ||
- | Codul sursă trebuie urcat într-un repo public, recomandăm GitHub. | + | **09.05.2025** |
+ | * Am realizat schema bloc și designul inițial al sistemului. | ||
+ | * Am întocmit lista completă de componente. | ||
+ | * Am comandat: Arduino Mega 2560, DHT11, HC-05, ventilator PWM Noctua, breadboard, fire și sursă de alimentare. | ||
- | <note warning> | + | **12.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 vostru, pe care le link-ați în README.md | + | * Am primit componentele și am testat individual funcționarea senzorului DHT11 și a modulului HC-05. |
+ | * Am realizat montajul pe breadboard și am verificat conexiunile. | ||
+ | * Am început scrierea codului pentru modul automat (citire senzor și control PWM al ventilatorului). | ||
- | Pagina de GitHub a proiectului vostru trebuie să conțină *toate* fișierele relevante pentru realizarea proiectului vostru. Dacă există resurse externe pe care le-ați folosit, vă rugăm să le link-ați în README.md | + | **15.05.2025** |
- | </note> | + | * Am finalizat implementarea controlului automat pe 5 trepte de viteză, în funcție de temperatură. |
+ | * Am testat funcționarea ventilatorului cu semnal PWM generat de Arduino. | ||
+ | * Am adăugat transmiterea datelor prin Bluetooth (temp;umid;viteza). | ||
- | <note warning> | + | **18.05.2025** |
- | Sunteți încurajați să filmați un demo cu proiectul vostru și să îl încărcați pe YouTube. Faceți embed la video în README.md și în pagina de wiki OCW a proiectului vostru. | + | * Am dezvoltat prima versiune a aplicației mobile în MIT App Inventor: |
- | </note> | + | - afișare temperatură/umiditate |
+ | - comenzi „Aut” / „Man” | ||
+ | - slider pentru reglaj manual | ||
+ | * Am testat comenzile Bluetooth între aplicație și Arduino. | ||
- | ===== Jurnal ===== | + | **21.05.2025** |
+ | * Am integrat complet funcțiile automat/manual în codul Arduino. | ||
+ | * Am sincronizat aplicația cu răspunsurile trimise de placă. | ||
+ | * Am început documentarea: capturi ecran aplicație, explicații cod și funcționare. | ||
- | <note tip> | + | **24.05.2025** |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * Am testat întregul sistem: senzor + ventilator + control manual și automat + aplicație mobilă. |
- | </note> | + | * 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) |