Statie de monitorizare a temperaturii si umiditatii

Autor

Introducere

Proiectul implementeaza un sistem de monitorizare a temperaturii si umiditatii intr-o camera tehnica, afisand parametrii pe un ecran LCD si comandand, la depasirea unui prag de temperatura, un ventilor.

Utilitatea proiectului consta in gasirea unei aplicatii practice, permitand mentinerea unei temperaturi relativ constante intr-o camera de acest tip, in care supraincalzirea echipamentelor ar cauza multe probleme.

Descriere generală

Senzorii de temperatura si umiditate vor citi incontinuu si vor trimite datele catre placa de baza. Datele vor fi afisate pe ecranul LCD si vor fi prelucrate. In functie de valorile date de senzor, se decide daca se va porni sau nu ventilatorul cu ajutorul modulului releu. De asemenea, modulul de alimentare ne va permite sa folosim statia de monitorizare fara ca aceasta sa fie conectata la calculator.

schema_bloc_statie_de_monitorizare.jpeg

statie_de_monitorizare.jpeg

Hardware Design

Lista de piese:

  • Arduino Uno
  • 2 x Senzor temperatura si umiditate (DHT 22)
  • Modul releu
  • Modul LCD tip IC1602
  • Breadboard
  • Ventilator
  • Alimentator (6 - 9 Vcc)
  • Buzzer pasiv
  • LED RGB
  • Switch cu revenire
  • Intrerupator basculant
  • Sirena alarma
  • Motor

Schema electrică

Software Design

Descrierea codului aplicației:

  • mediu de dezvoltare: Arduino IDE
  • librării şi surse 3rd-party
    • pentru LCD: <LiquidCrystal_I2C.h>; <LCD.h>; <Wire.h>
    • pentru senzor: <DHT.h>
  • algoritmi și structuri de date:
    • logică simplă (if, while, for, etc.)
    • structuri de bază C: variabile, constante etc.
  • surse și funcții implementate:
    • funcția setup(): initializeaza lcd-ul, seteaza ventilatorul ca output, initializam senzorii, setam releul ca output, setam led-ul rgb ca output, si cele doua butoane (cel de pornire a statiei de monitorizare si cel de afisare a parametrilor RealFeel) ca input
    • funcția loop(): citim starea de pe butonul de start. Daca acesta nu este apasat, opresc releul, ventilatorul, led-ul si afisez pe ecran detalii despre proiect. Daca este apasat, inseamna ca pot incepe sa monitorizez temperatura si umiditatea. Vedem daca butonul RealFeel este apasat sau nu. Daca este apasat, afisam pe lcd detalii despre RealFeel. Daca nu, afisam temperatura si umiditatea pentru cei doi senzori. Verificam daca temperaturile ambilor senzori au depasit pragul maxim. Daca da, sirena de alarma va suna, se va aprinde led-ul rosu si va porni ventilatorul. Daca doar temperatura unui singur senzor a depasit acest prag, va suna buzzerul, se va porni ventilatorul si se va porni led-ul pe culoarea magenta. Daca temperatura niciunui senzor nu a depasit acest prag, se va opri ventilatorul, releul, buzzerul si ledul va afisa culoarea verde.
    • functia get_realfeel(float temp, float hum): calculeaza RealFeel pe baza unei formule gasite pe Wikipedia, folosind temperatura si umiditatea primite ca parametrii
    • functia setColorRGB(unsigned int red, unsigned int green, unsigned int blue): seteaza pe pinii led-ul rgb valorile primite ca parametru

Rezultate obtinute

Concluzii

Proiectul la PM a fost mai interesant de cat m-as fi asteptat initial. Am reusit sa ma familiarizez pe cat posibil cu anumite concepte ale lucrului cu Arduino, acest proiect starnindu-mi interesul de a mai lucra si pe viitor cu aceste concepte. Partea cea mai dificila la proiectul meu consider ca a fost reglarea temperaturii pentru a verifica functionalitatea atat a senzorilor, cat si a intregului proiect care se bazeaza pe schimbarea temperaturii.

Bibliografie/Resurse

pm/prj2021/amocanu/statie-monitorizare-temperatura.txt · Last modified: 2021/05/30 17:04 by delia_maria.pavel
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