This is an old revision of the document!
Autor: Costache Andreea-Alexandra
Deși confortul termic poate avea valori diferite în funcție de preferințele fiecăruia, studiile arată că organismul funcționează cel mai bine în anumite condiții. Astfel, nivelul de umiditate și cel al temperaturii din interior sunt doi factori decisivi care contribuie la obținerea unei stări de spirit pozitive, la o odihnă satisfăcătoare și la un corp sănătos. În interior, temperatura nu trebuie să fie constantă pe tot timpul anului, ci trebuie schimbată odată cu sezonul astfel încât organismul să nu sufere un șoc termic atunci când se trecere de la interior la exterior și invers. Proiectul constă în realizarea unui ventilator inteligent care să gestioneze acești parametri și să ajusteze temperatura din cameră în funcție de preferințele utilizatorului.
Ventilatorul va începe să funcționeze dacă temperatura din cameră depășește un anumit prag setat de către utilizator. Dacă se depășește acest prag, ventilatorul își mărește sau scade turația în funcție de temperatura din cameră. De asemenea, pe ecranul LCD se vor afișa ora, temperatura și umiditatea. În cazul în care sistemul se supraîncălzește și ia foc, flacăra va fi detectată folosind senzorul pentru flăcări iar buzzerul va scoate un sunet.
Pentru realizarea schemelor am utilizat Fritzing.
Pentru dezvoltare am folosit ArduinoIDE.
Pentru senzori și ecran LCD am utilizat următoarele biblioteci:
În funcția setup() se realizează configurările inițiale:
Parolă
Pentru a introduce parola putem controla joystick-ul pe direcțiile sus-jos-stânga-dreapta folosind funcțiile auxiliare:
Verificarea corectitudinii datelor se realizează cu funcția checkPassword().
Temperatura de referință
Pentru setarea temperaturii de referință putem controla joystick-ul pe direcțiile sus-jos-stânga-dreapta folosind funcțiile auxiliare:
- partea întreagă a temperaturii:
- partea partea zecimală a temperaturii:
Verificarea corectitudinii se realizează cu ajutorul funcțiilor: check_temp_intreg() și check_temp_zecimal().
Ora curentă
Pentru setarea orei curente, atât pentru oră cât și pentru minute, joystick-ul poate fi controlat pe direcțiile sus-jos.
Pentru setarea orei se folosesc funcțiile:
- pentru primul digit:
- pentru cel de-al doilea digit:
Verificarea corectitudinii datelor se realizează folosind check_hour_first() și check_hour_second().
Pentru minute utilizez funcțiile:
- pentru primul digit:
- pentru cel de-al doilea digit:
Verificarea corectitudinii datelor se realizează folosind: check_min_first() și check_min_second().
Tot în funcția setup() se calculează temperatura de referință ca fiind suma dintre partea întreagă și partea zecimală. Asemănător se calculează și ora.
În funcția loop() are loc citirea temperaturii, a umidității, se incrementează timpul și se fac verificările pentru ventilator(dacă trebuie să pornească sau nu), pentru detecția flăcărilor și se transmit datele prin Bluetooth.