Ventilator inteligent

Student: Ignat Andrei-Horia
Grupa: 334CA
Mail: andrei_horia.ignat@stud.acs.upb.ro

Introducere

Ventilatorul inteligent va fi de dimensiune mica, putand sa fie plasat pe un birou de lucru si va avea doua moduri de functionare:

  • auto: functioneaza doar in momentul in care este detectata miscare (pe o raza de 3m), folosind un senzor de miscare si detectand temperatura constant, folosind un senzor de temperatura, iar in functie de aceasta se va roti de asemenea, mai repede sau mai incet;
  • manual: necesita interactiunea umana cu o telecomanda cu infrarosu, care porneste / opreste ventilatorul si il face sa se roteasca mai repede / incet.

Scopul acestuia, fata de un ventilator obisnuit este de a detecta singur temperatura si a folosi bateria conectata cat mai optim.

In opinia mea proiectul este util si am de gand sa-l folosesc la vara cand va fi foarte cald. 8-)

Descriere generală

Schema bloc este destul de simpla si intuitiva.

Astfel, telecomanda actioneaza asupra senzorului infrarosu, avand urmatoarele functionalitati:

  • porneste / opreste ventilatorul;
  • face switch intre cele doua moduri de functionare (auto si manual)
  • roteste mai repede / incet ventilatorul in modul manual.

Cei doi senzori, de temperatura si de miscare, functioneaza doar in modul auto. Astfel, in momentul in care este detectata miscarea, ventilatorul se roteste in functie de temperatura masurata. Cand nu exista miscare din mediul exterior, bateria de 9V nu se descarca in mod inutil.

Trazistorul are rolul de a transmite ventilatorului curentul electric debitat de baterie si nu direct de la placuta Arduino.

Pe ecran se vor afisa mesaje de tipul:

  • ventilator pornit / oprit;
  • modul de funcionare auto / manual;
  • procentul de rotatie a ventilatorului, intre 0% si 100%, controlat prin PWM.

Hardware Design

Componentele folosite sunt urmatoarele:

  • placuta Arduino;
  • senzor temperatura DHT11;
  • senzor de miscare HC-SR505;
  • ventilator CY205/A 12V 80x80x25 mm;
  • display LCD 1602 cu interfata I2C;
  • kit telecomanda si receptor infrarosu;
  • baterie 9V;
  • tranzistor TIP41C.

Am lipit LCD-ul deasupra ventilatorului (am cautat sa aiba dimensiuni compatibile) pentru a avea o forma mai compacta.

Schema electrica este urmatoarea:

Software Design

Am folosit IDE-ul oferit de Arduino, ultima versiune de la momentul respectiv.

Bibliotecile folosite au fost urmatoarele:

  • DHT.h - pentru senzorul de temperatura;
  • IRremote.h - pentru telecomanda si senzorul infrarosu;
  • Wire.h & LiquidCrystal_I2C.h - pentru display-ul LCD.

Detectia unei taste apasate se face la constant, in cazul in care ea exista, pentru a nu oferi utilizatorului senzatia de lag. Ulterior am decodificat tasta apasata, folosind functii din biblioteca IRremote.h. Astfel, orice interactiune cu ventilatorul inteligent trebuie sa fie precedata mai inainte de toate de pornirea acestuia.

Miscarea se detecteaza folosind starea pinului la care este conectat senzorul, astfel, aceasta fiind citita permanent, atunci cand ventilatorul este in modul auto. Temperatura este si ea masurata folosind biblioteca DHT.h, doar cand este in starea auto si cand este simtita miscarea. Astfel, am folosit o functie care sa-mi calculeze cu ce procent din puterea puterea maxima se invarte ventilatorul la un moment dat. Mai exact acest procent se calculeaza in functie de temperatura curenta (exemplu temp > 25°C ⇒ procent = 100% etc) si calculez, folosind PWM, ce valoare scriu pe acel pin la care este conectat tranzistorul (care va face ca bateria sa alimenteze ventilatorul) in fiecare moment. De exemplu pentru procent 100% scriu 255, pentru 50% scriu 127 etc.

In modul auto pot controla viteza cu care se roteste ventilatorul, verificand tasta apasata la fiecare moment de timp si scriind valoarea corespunzatoare in pinul placutei Arduino, la fel cum am descris mai sus.

In fiecare moment afisez mesaje sugestive pe ecranul LCD, folosind functii din biblioteca LiquidCrystal_I2C.h, pentru a informa utilizatorul despre starea de functionare a dispozitivului.

Rezultate Obţinute

Imagine de ansamblu proiect

Click aici pentru demo.

Concluzii

Acest proiect reprezinta prima mea interactiune mai in detaliu asupra a ceea ce inseamna Arduino si ce poti face cu o astfel de placuta. Am intampinat cateva dificultati in ceea ce priveste conectarea pieselor si a pozitionarii tranzistorului. De asemenea, am facut destul de mult research in ceea ce priveste controlarea ventilatorului cu telecomanda, deoarece nu functiona foarte bine la inceput. Am observat de asemenea ca telecomanda trebuie tinuta cu fata spre senzorul infrarosu pentru a-si da seama de butonul apasat.

Personal, sunt mandru de rezultatul final si am de gand sa folosesc ventilatorul pe parcursul acestei veri in camera de camin. (Regie Rullz ;-))

Download

Click aici pentru documentatia in format PDF.

Bibliografie/Resurse

pm/prj2022/ncaroi/ventilator-inteligent.txt · Last modified: 2022/05/26 22:29 by andrei_horia.ignat
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