This shows you the differences between two versions of the page.
pm:prj2024:avaduva:nelu_rares.carausu [2024/05/05 20:16] nelu_rares.carausu [Introducere] |
pm:prj2024:avaduva:nelu_rares.carausu [2024/05/24 00:55] (current) nelu_rares.carausu [Software Design] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Sistem de monitorizare a calității aerului ====== | ====== Sistem de monitorizare a calității aerului ====== | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Sistemul își propune să urmărească o serie de parametri care influențează calitatea aerului din mediul ambiant și tot odată confortul unei persoane aflate într-o încăpere. Este vorba despre temperatura, umiditatea și presiunea aerului, dar și a măsurând calitatea aerului pe baza acestor parametri. | + | Sistemul își propune să urmărească o serie de parametri care influențează calitatea aerului din mediul ambiant și tot odată confortul unei persoane aflate într-o încăpere. Este vorba despre temperatura, umiditatea și presiunea aerului, dar și măsurând calitatea aerului pe baza acestor parametri. |
<note tip> | <note tip> | ||
Prezentarea proiect: | Prezentarea proiect: | ||
Line 22: | Line 22: | ||
Componente: | Componente: | ||
* placă Arduino Uno | * placă Arduino Uno | ||
- | * breadborad | + | * breadboard |
* buzzer activ | * buzzer activ | ||
* cablu UART | * cablu UART | ||
Line 39: | Line 39: | ||
- | <note tip> | + | în cadrul acestui proiect, am folosit Arduino IDE ca mediu de dezvoltare, iar ca și biblioteci pentru Arduino am utilizat: |
- | Descrierea codului aplicaţiei (firmware): | + | * **Wire** pentru comunicația cu ecranul LCD; |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * **Adafruit_BMP280** pentru senzorul BMP280; |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * **DHT** pentru senzorul DHT22; |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * **LiquidCrystal_I2C** pentru afișarea datelor pe ecran. |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | Diagrama de stări pentru sistem: |
+ | |||
+ | {{ :pm:prj2024:avaduva:state_machine_diagram_adjusted.png?700 |}} | ||
+ | |||
+ | |||
+ | Această diagramă ilustrează funcționarea sistemului de monitorizare a calității aerului utilizând o mașină de stări. Fiecare stare și tranzițiile dintre ele sunt reprezentate grafic: | ||
+ | |||
+ | 1. INIT (Inițializare): | ||
+ | |||
+ | * Inițializarea componentelor hardware (senzorii DHT22 și BMP280, ecranul LCD și buzzer-ul); | ||
+ | * Tranziția către starea READ_SENSORS. | ||
+ | |||
+ | 2. READ_SENSORS (Citirea senzorilor): | ||
+ | |||
+ | * Citirea datelor de la senzorii DHT22 (temperatură și umiditate) și BMP280 (presiune); | ||
+ | * Tranziția către starea DISPLAY_DATA. | ||
+ | |||
+ | 3. DISPLAY_DATA (Afișarea datelor): | ||
+ | |||
+ | * Afișarea datelor citite pe ecranul LCD; | ||
+ | * Tranziția către starea SEND_UART. | ||
+ | |||
+ | 4. SEND_UART (Trimiterea datelor prin UART): | ||
+ | |||
+ | * Trimiterea datelor citite de la senzori prin UART către un dispozitiv extern; | ||
+ | * Tranziția către starea CHECK_AIR_QUALITY. | ||
+ | |||
+ | 5. CHECK_AIR_QUALITY (Verificarea calității aerului): | ||
+ | |||
+ | * Calcularea unui indice simplu al calității aerului pe baza datelor citite; | ||
+ | * Activarea buzzer-ului dacă indicele de calitate a aerului depășește un prag prestabilit; | ||
+ | * Tranziția înapoi către starea READ_SENSORS după un interval de timp, reluând ciclul. | ||
+ | |||
+ | |||
+ | Această structură permite o gestionare clară și organizată a funcționalităților sistemului. | ||
+ | |||
+ | {{:pm:prj2024:avaduva:code1.png?450 |}} | ||
+ | {{:pm:prj2024:avaduva:code2.png?450 |}} | ||
+ | {{:pm:prj2024:avaduva:code3.png?550 |}} | ||
+ | {{:pm:prj2024:avaduva:code4.png?400 |}} | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | În urma realizării proiectului, am obținut informații cu privire la calitatea aerului din atmosferă (umiditate, temperatură și presiune). |
</note> | </note> | ||
Line 72: | Line 111: | ||
<note> | <note> | ||
- | https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-tutorial-using-arduino/ | + | * https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-tutorial-using-arduino/ |
+ | * https://www.instructables.com/How-to-Use-the-Adafruit-BMP280-Sensor-Arduino-Tuto/ | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||