Sistem de ventilatie cu reglaj automat si control de la distanta

Introducere

Sistemul de ventilație automatizat cu control de la distanță își propune să creeze un ambient confortabil într-o încăpere, prin monitorizarea continuă a temperaturii și umidității, reglarea automată a turației ventilatorului și controlul acestuia printr-o aplicație mobilă. Prin utilizarea plăcii de dezvoltare Arduino Mega 2560 și a unui modul Bluetooth HC-05, proiectul oferă atât funcționalitate automată, cât și posibilitatea de control manual din partea utilizatorului. Sistemul permite două tipuri de utilizatori:

  • Utilizator standard, care interacționează cu sistemul prin aplicația mobilă;
  • Administrator, care poate modifica parametrii software și hardware ai sistemului.

Descriere generală

Proiectul utilizează componente hardware și software pentru a realiza un sistem de ventilație inteligent, care poate fi controlat de la distanță. Acest sistem are următoarele proprietăți:

  • 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).
  • 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 slide-bar din aplicația MIT App Inventor a turației ventilatorului.
  • Posibilitatea de a interacționa cu sistemul de ventilație prin Bluetooth și de a modifica pragurile de temperatură pentru pornirea ventilatorului (laborator UART)

În felul acesta utilizatorul are posibilitatea de a porni/opri ventilatorul; vizualiza temperatura, umiditatea și turația curentă; schimba modul de funcționare (automat/manual); regla viteza ventilatorului în modul manual, printr-un slider din aplicație; vizualiza ora curentă (prin funcționalitatea extinsă a aplicației). În modul automat, viteza ventilatorului este ajustată automat în funcție de temperatura ambientală. În modul manual, utilizatorul poate controla precis turația folosind sliderul din aplicație.

Schema bloc

Hardware Design

Software Design

Medii de dezvoltare:

  • Arduino IDE – pentru programarea microcontrolerului
  • MIT App Inventor – pentru realizarea aplicației mobile Android

Codul din Arduino IDE este împărțit în două părți:

  • Partea pentru modul Automat
  • 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ă
  1. 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).
  2. Formatul transmis prin Bluetooth este delimitat de caracterul ; pentru a fi ușor de prelucrat în aplicația mobilă: temp;umid;viteza;
Comunicarea Bluetooth
  1. Se folosește modulul HC-05 conectat prin SoftwareSerial pe pinii 10 (RX) și 11 (TX).
  2. Comenzile trimise de aplicație sunt:
    • “Aut” — activează modul automat.
    • “Man” — activează modul manual, iar slider-ul trimite viteza dorită.
  3. Datele sunt primite sub forma:
    • “Man:128|” sau “Aut:0|”, unde : și | sunt delimitatori de parcurgere.
Surse și funcții implementate
  1. loop() - gestionează logica de citire a comenzilor și valorilor senzorilor, transmiterea datelor prin Bluetooth și controlul ventilatorului.
  2. analogWrite(ventPin, ventVit) - reglează viteza ventilatorului în funcție de valoarea calculată sau primită.

Rezultate Obţinute

Stadiul proiectului după conectarea tuturor componentelor și pornirea senzorului de Bluetooth:

Înregistrare

Înregistrare funcționare proiect finalizat: https://youtube.com/shorts/R4ME0jf7PHE?feature=share

Concluzii

Un proiect care imi va fi util mai mult ca sigur in zilele calduroase. :)

Cod sursă

Jurnal

06.05.2025 Am creat pagina de proiect și am adăugat descrierea generală a sistemului de ventilație automatizat cu control prin Bluetooth.

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.

12.05.2025

  • 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).

15.05.2025

  • 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).

18.05.2025

  • Am dezvoltat prima versiune a aplicației mobile în MIT App Inventor:
    1. afișare temperatură/umiditate
    2. comenzi „Aut” / „Man”
    3. slider pentru reglaj manual
  • Am testat comenzile Bluetooth între aplicație și Arduino.

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.

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

Resurse Hardware

Resurse Software

pm/prj2025/avaduva/alexandru.braslasu.txt · Last modified: 2025/05/25 23:03 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