This shows you the differences between two versions of the page.
|
pm:prj2025:avaduva:alexandru.braslasu [2025/05/24 21:26] alexandru.braslasu [Hardware Design] |
pm:prj2025:avaduva:alexandru.braslasu [2025/05/25 23:03] (current) alexandru.braslasu [Concluzii] |
||
|---|---|---|---|
| Line 27: | Line 27: | ||
| Lista componentelor utilizate: | Lista componentelor utilizate: | ||
| * 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 | * 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 39: | 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 vostru, pe care le link-ați în README.md | + | * 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. | ||
| - | 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 | + | **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 și 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 YouTube. Faceț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) | ||