This is an old revision of the document!
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
Lista componentelor utilizate:
-
-
-
-
-
Sursă de alimentare 12V
3 baterii de 3.7V
Schema electrica:
Software Design
Medii de dezvoltare:
Codul din Arduino IDE este împărțit în două părți:
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):
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:
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
Concluzii
Cod sursă și alte resurse ce trebuie să existe pe GitHub
Codul sursă trebuie urcat într-un repo public, recomandăm GitHub.
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
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
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe *Resurse Software* şi *Resurse Hardware*.