This shows you the differences between two versions of the page.
pm:prj2021:amocanu:statie-monitorizare-temperatura [2021/04/24 13:45] delia_maria.pavel |
pm:prj2021:amocanu:statie-monitorizare-temperatura [2021/05/30 17:04] (current) delia_maria.pavel [Rezultate obtinute] |
||
---|---|---|---|
Line 12: | Line 12: | ||
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. | 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_monitorizare.jpeg }} | + | {{ schema_bloc_statie_de_monitorizare.jpeg }} |
+ | |||
+ | {{ statie_de_monitorizare.jpeg?700 }} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | <note> | ||
Lista de piese: | Lista de piese: | ||
* Arduino Uno | * Arduino Uno | ||
- | * Senzor temperatura si umiditate (DHT 22) | + | * 2 x Senzor temperatura si umiditate (DHT 22) |
* Modul releu | * Modul releu | ||
* Modul LCD tip IC1602 | * Modul LCD tip IC1602 | ||
* Breadboard | * Breadboard | ||
- | * Modul alimentare breadboard | ||
* Ventilator | * Ventilator | ||
* Alimentator (6 - 9 Vcc) | * Alimentator (6 - 9 Vcc) | ||
+ | * Buzzer pasiv | ||
+ | * LED RGB | ||
+ | * Switch cu revenire | ||
+ | * Intrerupator basculant | ||
+ | * Sirena alarma | ||
+ | * Motor | ||
+ | </note> | ||
+ | |||
+ | ===Schema electrică=== | ||
+ | {{ schema_electrica_statie_de_monitorizare.png?700x600 }} | ||
+ | |||
+ | ===== 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 ===== | ||
+ | * [[https://github.com/DeliaPavel/Proiect-PM-2021|Cod sursă]] \\ | ||
+ | * [[https://youtu.be/ZWMytvnwQZI|Video Demo]] | ||
+ | |||
+ | |||
+ | ===== 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 ===== | ||
+ | * https://en.wikipedia.org/wiki/Heat_index | ||
+ | * https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library | ||
+ | * https://github.com/adafruit/DHT-sensor-library | ||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |