Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:eradu:ana_maria.potoceanu [2025/05/17 12:20]
ana_maria.potoceanu
pm:prj2025:eradu:ana_maria.potoceanu [2025/05/30 01:23] (current)
ana_maria.potoceanu
Line 1: Line 1:
- ====== Fire detection and notification system ======+====== Fire detection and notification system ======
 ===== Introducere ===== ===== Introducere =====
  
 <note tip> <note tip>
-Proiectul presupune realizarea unui sistem inteligent de detecție a incendiilor,​ care poate identifica în timp real prezența focului, ​ fumului și a gazelor. Sistemul alertează locuitorii atât local, prin semnale sonore și vizuale, cât și de la distanță, prin trimiterea automată a unei notificări pe telefon. În același timp, datele vor fi transmise către ​Firebase, unde sunt stocate automat și vor putea fi accesate pentru viitoarele ​+Proiectul presupune realizarea unui sistem inteligent de detecție a incendiilor,​ care poate identifica în timp real prezența focului, ​ fumului și a gazelor. Sistemul alertează locuitorii atât local, prin semnale sonore și vizuale, cât și de la distanță, prin trimiterea automată a unei notificări pe telefon. În același timp, datele vor fi transmise către ​Thingspeak, unde sunt stocate automat și vor putea fi accesate pentru viitoarele ​
 analize sau cercetări. analize sau cercetări.
 </​note>​ </​note>​
Line 34: Line 34:
  
 2. **ESP8266** : microcontrollerul Wi-Fi care primește date de la senzori, le procesează și stabilește dacă există o situație de pericol. 2. **ESP8266** : microcontrollerul Wi-Fi care primește date de la senzori, le procesează și stabilește dacă există o situație de pericol.
-Va trimite datele către ​Firebase și Telegram, pentru ca utilizatorul să primească notificare pe telefon.+Va trimite datele către ​Thingspeak.
  
 3. **3 x Senzori de gaz MQ2**: detectează fum și gaze inflamabile. Aceștia vor fi plasați în zone strategice pentru a acoperi cât mai mult din suprafață. Vor oferi un semnal analogic ce va reflecta concentrația de gaz. 3. **3 x Senzori de gaz MQ2**: detectează fum și gaze inflamabile. Aceștia vor fi plasați în zone strategice pentru a acoperi cât mai mult din suprafață. Vor oferi un semnal analogic ce va reflecta concentrația de gaz.
Line 41: Line 41:
  
 5. **Senzor DHT11 (temperatură și umiditate)**:​ trimite date digitale despre temperatura și umiditatea aerului. Valorile neobișnuite indică începutul unui incendiu, iar în acest caz, se va afișa un mesaj de atenționare și se va aprinde becul galben. 5. **Senzor DHT11 (temperatură și umiditate)**:​ trimite date digitale despre temperatura și umiditatea aerului. Valorile neobișnuite indică începutul unui incendiu, iar în acest caz, se va afișa un mesaj de atenționare și se va aprinde becul galben.
 +**
 6. **LCD 1602 cu interfață I2C**: afișează valori în timp real: temperatură,​ umiditate, nivel gaz, stări de alarmă. Permite locatarului să observe local un mesaj de atenționare. 6. **LCD 1602 cu interfață I2C**: afișează valori în timp real: temperatură,​ umiditate, nivel gaz, stări de alarmă. Permite locatarului să observe local un mesaj de atenționare.
  
Line 61: Line 61:
     - Primește datele de la Arduino     - Primește datele de la Arduino
     - Realizează conexiunea la rețeaua Wi-Fi      - Realizează conexiunea la rețeaua Wi-Fi 
-    - Trimite date către ​Firebase și alerte prin Telegram +    - Trimite date către ​Thingspeak 
- +** 
-  Firebase ​– Realtime Database  ​+    Thingspeak ​– grafice în timp real
     - Primește date în timp real de la ESP8266  ​     - Primește date în timp real de la ESP8266  ​
     - Oferă stocare centralizată și acces de la distanță     - Oferă stocare centralizată și acces de la distanță
- 
-  * Telegram – sistem de alertare mobilă  ​ 
-    - Utilizatorul primește notificare pe telefon 
  
 Interacțiunea dintre module Interacțiunea dintre module
Line 81: Line 78:
   * În funcție de pragurile stabilite:   * În funcție de pragurile stabilite:
      - Pentru o avertizare (ex. temperatură crescută sau flacără fără gaz): se afișează un mesaj pe LCD și se aprinde LED-ul galben.      - Pentru o avertizare (ex. temperatură crescută sau flacără fără gaz): se afișează un mesaj pe LCD și se aprinde LED-ul galben.
-    - Pentru un pericol de incendiu (flacără + gaz):se activează buzzerul și LED-ul roșu, se afișează mesaj de alertă pe LCD, iar Arduino transmite starea către ESP8266, care trimite ​notificarea ​către ​utilizator prin Telegram și salvează datele ​în Firebase.+    - Pentru un pericol de incendiu (flacără + gaz):se activează buzzerul și LED-ul roșu, se afișează mesaj de alertă pe LCD, iar Arduino transmite starea către ESP8266, care va trimite ​date către ​Thingspeak pentru monitorizarea ​în timp real a sistemului.
  
   * Dacă valorile senzorilor revin în limite normale: LED-ul revine pe verde, buzzerul se oprește, iar sistemul reia monitorizarea în mod normal.   * Dacă valorile senzorilor revin în limite normale: LED-ul revine pe verde, buzzerul se oprește, iar sistemul reia monitorizarea în mod normal.
Line 94: Line 91:
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
-=== Listă de piese (Hardware) ​===+=== BOM ===
  
 +| Nr. | Componentă ​                  | Descriere ​                                                                                  | Cantitate | Link achiziție | Datasheet ​                                                            |
 +|  1  | Arduino Uno R3              | Microcontroller principal care citește senzorii și controlează componentele locale ​        ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​ro/​placi-avr/​4561-placa-de-dezvoltare-compatibila-cu-arduino-uno-r3-atmega328p-atmega16u2-cablu-50-cm.html ​ | https://​docs.arduino.cc/​resources/​datasheets/​A000066-datasheet.pdf ​                               |
 +|  2  | ESP8266 (NodeMCU) ​          | Modul Wi-Fi care primește date de la Arduino și le transmite către Thingspeak ​ |     ​1 ​    | https://​www.optimusdigital.ro/​ro/​placi-esp8266/​3312-plusivo-micro-placa-de-dezvoltare-wifi-cu-esp8266-i-ch340g.html ​          ​| ​  ​https://​handsontec.com/​dataspecs/​module/​esp8266-V13.pdf ​                           |
 +|  3  | Senzor MQ2 (x3)           | Detectează fum și gaze inflamabile – semnal analogic ​    ​| ​    ​3 ​    | https://​www.optimusdigital.ro/​ro/​senzori-de-gaze/​107-modul-senzor-gas-mq-2.html?​srsltid=AfmBOooAJ8O8poihdXb7rqw3JB-V1ol5dVVQgghHmRyqpulfcbGZKr2Q ​          ​| ​  ​https://​www.handsontec.com/​dataspecs/​MQ2-Gas%20Sensor.pdf ​                           |
 +|  4  | Senzor infraroșu de flacără ​         | Detectează radiații IR ale flăcărilor – semnal digital ​   |     ​1 ​    | https://​www.optimusdigital.ro/​ro/​senzori-senzori-optici/​110-modul-senzor-de-flacara-.html?​srsltid=AfmBOooL0axotKE48IWyohww3HTs_VMIbO4I1LOd0uLhKURtQiX8c8WI ​          ​| ​  ​https://​www.rajguruelectronics.com/​Product/​13200/​A132002_Flame%20sensor%20Module%20LM393_Datasheet.pdf ​                           |
 +|  5  | Senzor DHT11                | Măsoară temperatura și umiditatea – semnal digital ​                                        ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​en/​temperature-sensors/​99-dht11-temperature-sensor-module.html?​srsltid=AfmBOoqsiKwLr1LDNTF73i5lEyZfimFNuZDfaihhQz53nVzVg4y8NgaG ​                   | https://​www.mouser.com/​datasheet/​2/​758/​DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf?​srsltid=AfmBOopnOkALRxiMT_ZqOadsy68fQRddYaHVXtRjGpzvNpvZ2-AQOfus |
 +|  6  | LCD 1602 cu interfață I2C   | Afișaj pentru valorile senzorilor și mesajele de alertă ​                                   |     ​1 ​    | https://​www.optimusdigital.ro/​en/​lcds/​2894-1602-lcd-with-i2c-interface-and-blue-backlight.html?​srsltid=AfmBOooUu3PHpi-7a7o6DIzIRObVIlzPyW0nRiFOrT4GI9YdWemxM0eg ​                                              | https://​www.handsontec.com/​dataspecs/​module/​I2C_1602_LCD.pdf |
 +|  7  | Buzzer pasiv                | Emite semnal sonor în caz de alarmă ​                                                       |     ​1 ​    | https://​www.optimusdigital.ro/​ro/​audio-buzzere/​12247-buzzer-pasiv-de-33v-sau-3v.html?​srsltid=AfmBOoqBjS5yLt1dP905sEcCEINb5Ed__8a7Wp-niCPCBfEHAisIvaNo ​                                                | https://​www.farnell.com/​datasheets/​2171929.pdf |
 +|  8  | LED RGB (anod comun) ​       | Alertare vizuală pe culori: roșu (pericol), verde (normal) ​             |     ​1 ​    | https://​sigmanortec.ro/​LED-RGB-5mm-4-pini-Anod-comun-p126008495?​SubmitCurrency=1&​id_currency=2&​gad_source=1&​gad_campaignid=22174019478&​gbraid=0AAAAAC3W72PBSB9trWS1_CCs8llsimAhN&​gclid=CjwKCAjw56DBBhAkEiwAaFsG-m0x2_JxcT4eVhBTm3YK1xvuher47lJtp37fy08NXOVplwDQ-lHcxRoCrDcQAvD_BwE ​   | https://​www.farnell.com/​datasheets/​3497864.pdf ​                                              |
 +|  9  | Rezistențe 220Ω             | Limitare curent pentru LED-uri (în special LED RGB)                                        |     ​2 ​    | https://​www.optimusdigital.ro/​en/​resistors/​10928-250-pcs-plusivo-resistor-kit.html | - |
 +| 10  | Breadboard ​                 | Placă pentru prototiparea circuitului fără lipire ​                                         |     ​1 ​    | https://​sigmanortec.ro/​Breadboard-830-puncte-MB-102-p125923983?​SubmitCurrency=1&​id_currency=2 | https://​components101.com/​sites/​default/​files/​component_datasheet/​Breadboard%20Datasheet.pdf |
 +| 11  | Fire jumper (M-M, M-F)      | Conectare între module, senzori, Arduino și ESP8266 ​                                       |   ​20–30 ​  | https://​www.optimusdigital.ro/​en/​all-products/​876-15-cm-male-female-wires-10p.html | – |
  
  
 +===  Specificații de comunicație ​ ===
  
 +| Componentă ​                    | Pin Arduino ​          | Specificații comunicație ​                        | Laborator ​    |
 +| Senzor MQ2 (GAZ1) ​            | A0                     | Semnal analogic – ADC                            | Laborator 4 – ADC             |
 +| Senzor MQ2 (GAZ2) ​            | A1                     | Semnal analogic – ADC                            | Laborator 4 – ADC             |
 +| Senzor MQ2 (GAZ3) ​            | A3                     | Semnal analogic – ADC                            | Laborator 4 – ADC             |
 +| Senzor infraroșu de flacără ​  | D10                    | Semnal digital – GPIO                            | Laborator 0 – GPIO            |
 +| Senzor DHT11                  | D9                     | Semnal digital ​             | Laborator 0 – GPIO            |
 +| LCD 1602 cu interfață I2C     | A4 (SDA), A5 (SCL)     | I2C                         | Laborator 6 – I2C             |
 +| Buzzer pasiv                  | D5                    | Semnal digital – PWM               | Laborator 3 – PWM             |
 +| LED RGB (anod comun) – R      | D6                     | Semnal digital/​PWM ​              | Lab 0 – GPIO, Lab 3 – PWM     |
 +| ESP8266 (NodeMCU) ​            | D0 (TX), D1 (RX)       | UART – comunicare serială cu Arduino ​            | Laborator 1 – UART            |
  
 +=== Descrierea în detaliu a funcționalității hardware ===
 +  * Sistemul se bazează pe două microcontrolere:​ **Arduino Uno** și **ESP8266 (NodeMCU)**. ​
  
-| Nr. | Componentă ​                  | Descriere ​                                                                                  | Cantitate | Link achiziție | Datasheet ​                                                            | +  * **3 senzori MQ2**   
-|  1  | Arduino Uno R3              | Microcontroller principal care citește senzorii ​și controlează componentele locale ​        ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​ro/​placi-avr/​4561-placa-de-dezvoltare-compatibila-cu-arduino-uno-r3-atmega328p-atmega16u2-cablu-50-cm.html ​ | https://​docs.arduino.cc/​resources/​datasheets/​A000066-datasheet.pdf ​                               | +   - Pentru detecția fumului ​și gazelor inflamabile ​ 
-|  2  | ESP8266 (NodeMCU) ​          | Modul Wi-Fi care primește date de la Arduino șle transmite către Firebase și Telegram ​   |     ​1 ​    | https://​www.optimusdigital.ro/​ro/​placi-esp8266/​3312-plusivo-micro-placa-de-dezvoltare-wifi-cu-esp8266-i-ch340g.html ​          ​| ​  ​https://​handsontec.com/​dataspecs/​module/​esp8266-V13.pdf ​                           | +   ​Pini folosiți: A0, A1, A3  
-|  2  | Senzor ​MQ2 (x3)           | Detectează fum și gaze inflamabile – semnal analogic ​    |     ​3 ​    | https://www.optimusdigital.ro/​ro/​senzori-de-gaze/​107-modul-senzor-gas-mq-2.html?​srsltid=AfmBOooAJ8O8poihdXb7rqw3JB-V1ol5dVVQgghHmRyqpulfcbGZKr2Q ​          ​| ​  ​https://​www.handsontec.com/​dataspecs/​MQ2-Gas%20Sensor.pdf ​                           | +   - Senzorii ​MQ2 generează semnal analogic ​proporțional cu concentrația gazelor inflamabilePinii A0, A1 și A3 sunt pini analogici ​de pe Arduino Uno și permit citirea valorilor folosind conversia ADC
-|  4  Senzor infraroșu de flacără ​| Detectează radiații IR ale flăcărilor ​– semnal digital ​                                    ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​ro/​senzori-senzori-optici/​110-modul-senzor-de-flacara-.html?​srsltid=AfmBOooL0axotKE48IWyohww3HTs_VMIbO4I1LOd0uLhKURtQiX8c8WI | https://www.rajguruelectronics.com/Product/​13200/​A132002_Flame%20sensor%20Module%20LM393_Datasheet.pdf  | +  
- 5  | Senzor DHT11                | Măsoară temperatura ​și umiditatea – semnal digital ​                                        ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​en/​temperature-sensors/99-dht11-temperature-sensor-module.html?​srsltid=AfmBOoqsiKwLr1LDNTF73i5lEyZfimFNuZDfaihhQz53nVzVg4y8NgaG ​                   | https://www.mouser.com/​datasheet/​2/​758/​DHT11-Technical-Data-Sheet-Translated-Version-1143054.pdf?​srsltid=AfmBOopnOkALRxiMT_ZqOadsy68fQRddYaHVXtRjGpzvNpvZ2-AQOfus ​ | +  * **Senzor infraroșu de flacără**   
- 6  | LCD 1602 cu interfață I2C   | Afișaj pentru valorile senzorilor ​și mesajele de alertă ​                                   |     ​1 ​    | https://​www.optimusdigital.ro/​en/​lcds/​2894-1602-lcd-with-i2c-interface-and-blue-backlight.html?​srsltid=AfmBOooUu3PHpi-7a7o6DIzIRObVIlzPyW0nRiFOrT4GI9YdWemxM0eg ​                                              | https://www.handsontec.com/​dataspecs/​module/​I2C_1602_LCD.pdf ​ | +   - Pentru identificarea ​flăcărilor ​ 
- 7  | Buzzer pasiv                | Emite semnal ​sonor în caz de alarmă                                                        ​| ​    ​1 ​    | https://​www.optimusdigital.ro/​ro/​audio-buzzere/​12247-buzzer-pasiv-de-33v-sau-3v.html?​srsltid=AfmBOoqBjS5yLt1dP905sEcCEINb5Ed__8a7Wp-niCPCBfEHAisIvaNo ​                                                | https://www.farnell.com/​datasheets/​2171929.pdf ​ | +   - Pin folositD10 
-|  8  LED RGB (anod comun)        | Alertare ​vizuală ​pe culoriroșu (pericol), verde (normal             ​| ​    ​1 ​    | https://​sigmanortec.ro/LED-RGB-5mm-4-pini-Anod-comun-p126008495?​SubmitCurrency=1&​id_currency=2&​gad_source=1&​gad_campaignid=22174019478&​gbraid=0AAAAAC3W72PBSB9trWS1_CCs8llsimAhN&​gclid=CjwKCAjw56DBBhAkEiwAaFsG-m0x2_JxcT4eVhBTm3YK1xvuher47lJtp37fy08NXOVplwDQ-lHcxRoCrDcQAvD_BwE ​   | https://​www.farnell.com/​datasheets/​3497864.pdf ​                                              | +   Acest senzor ​transmite un semnal digital (LOW flacără detectată)Pinul D10 este configurat ca intrare digitală și  
-  | Rezistențe 220Ω             | Limitare curent pentru LED-uri (în special ​LED RGB)                                        |     ​2 ​    | https://​www.optimusdigital.ro/​en/​resistors/​10928-250-pcs-plusivo-resistor-kit.html ​                                     | file:///​C:/​Users/​Esv/​Downloads/​CF.pdf |  +     este potrivit pentru a recepționa semnale de tip ON/OFF
-| 10  | Breadboard ​                 | Placă pentru prototiparea circuitului fără lipire ​                                         |     ​1 ​    | https://​sigmanortec.ro/Breadboard-830-puncte-MB-102-p125923983?​SubmitCurrency=1&​id_currency=2&​gad_source=1&​gad_campaignid=22174019478&​gbraid=0AAAAAC3W72PBSB9trWS1_CCs8llsimAhN&​gclid=CjwKCAjw56DBBhAkEiwAaFsG-lxf1cGr06O_tvMxrd49VHkDj5lTTl_jaKKVIhY_w4g92qbklE5W5xoCPc4QAvD_BwE ​      | + 
-https://​components101.com/​sites/​default/​files/​component_datasheet/​Breadboard%20Datasheet.pdf ​                                   | +  * **Senzor DHT11**   
-| 11  | Fire jumper (M-M, M-F)      | Conectare între module, senzori, Arduino ​și ESP8266 ​                                       ​| ​  ​20–30 ​  | https://www.optimusdigital.ro/​en/​all-products/​876-15-cm-male-female-wires-10p.html ​                                     | |+  - Pentru monitorizarea temperaturii ​și umidității aerului ​  
 +  - Pin folositD9 
 +  ​DHT11 folosește un protocol digital, gestionat printr-o bibliotecă dedicată (SimpleDHT)Pinul D9 este un pin digital compatibil, potrivit pentru a primi semnalul de la acest senzor
 +  ​* **LCD 1602 cu interfață I2C**   
 +   ​- Pentru afișarea locală a valorilor ​și alertelor ​  
 +   - Pini folosițiA4 (SDA), A5 (SCL) 
 +   Afișajul comunică prin protocolul I2C, care utilizează două fireSDA (Date) și SCL (Ceas)Pe Arduino Uno, aceste funcții sunt predefinit pe pinii A4 și A5
 + 
 +  * **Buzzer pasiv**   
 +   - Pentru alertă ​sonoră ​  
 +   - Pin folositD5 
 +    ​Buzzerul este controlat digitalPinul D5 este configurat ca ieșire (OUTPUT) și poate genera sunete PWM
 + 
 +  * **LED RGB cu anod comun**   
 +   - Pentru alertă ​vizuală ​  
 +   - Pini folosițiD6 (Roșu), D5 (Verde) 
 +   - Roșu care pâlpâie înseamnă avertizareiar roșu intens înseamnă pericol. 
 +   ​- ​ Pinul D6 este ideal pentru control PWM (intensitate variabilăpentru culoarea ​roșie. LED-ul are anod comun, deci LED-urile se aprind când pinii sunt pe LOW. 
 + 
 +  * **ESP8266 NodeMCU** ​  
 +  ​Pentru conectivitate Wi-Fi și trimitere de date către Thingspeak ​  
 +  ​Pini folosiți: D0 (RX), D1 (TX) 
 +  ​Comunicarea dintre Arduino și ESP8266 se realizează prin UART. Pinii D0 și D1 corespund portului serial hardware sau software și permit trimiterea/​recepționarea de date seriale 
 + 
 +  * **Fire jumper, rezistențe și breadboard** ​  
 +    ​Pentru conectarea și testarea circuitului ​  
 + 
 + 
 +=== Procesare și decizii locale ​=== 
 + 
 +  * Arduino preia valorile de la senzori și evaluează starea sistemului
 + 
 +  - Dacă se detectează **doar flacără**: ​  
 +    - Se afișează avertizare pe LCD   
 +    ​- LED roșu aprins care pâlpâie 
 +    ​Se emit semnale sonore scurte cu buzzerul ​  
 + 
 +  ​- Dacă se detectează **flacără + minim 2 senzori de gaz activi**  
 +    - LED roșu aprins ​  
 +    ​Buzzer continuu ​  
 +    ​Mesaj de alertă pe LCD   
 +    ​Pentru a considera incendiu, minim senzori trebuie să aibă răspunsul '​DA'​ 
 + 
 +  - Dacă **nu există amenințare**  
 +    - LED oprit   
 +    ​Buzzer oprit   
 +    ​Afișaj cu temperatură ​și umiditate ​  
 + 
 +  * ESP8266 ​transmite în timp real informațiile primite de la Arduino către Thingspeak pentru realizarea în timp real a graficelor. 
 + 
 +=== Schemă electrică ===
 {{ :​pm:​prj2025:​eradu:​ana_circuit.png?​700 | }} {{ :​pm:​prj2025:​eradu:​ana_circuit.png?​700 | }}
 {{ :​pm:​prj2025:​eradu:​schema_ana.png?​650 | }} {{ :​pm:​prj2025:​eradu:​schema_ana.png?​650 | }}
 {{ :​pm:​prj2025:​eradu:​schematic_ana.png?​800 | }} {{ :​pm:​prj2025:​eradu:​schematic_ana.png?​800 | }}
 +
 +=== Imagini componente ===
 +{{ :​pm:​prj2025:​eradu:​poza1_proiect_ana.jpg?​600 | }} 
 +{{ :​pm:​prj2025:​eradu:​poza2_proiect_ana.jpg?​600 | }}
 +{{ :​pm:​prj2025:​eradu:​poza3_proiect_ana.jpg?​600 | }}
 ===== Software Design ===== ===== Software Design =====
  
  
-<note tip> +**Stadiul actual al implementării software**
-Descrierea codului aplicaţiei (firmware):​ +
-  ​mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  ​librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  ​algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  ​(etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 +   * Sistemul monitorizează în timp real nivelul de gaze de la trei senzori analogici (pe intrări ADC), temperatura și umiditatea prin senzorul DHT11, precum și prezența flăcării printr-un senzor digital infraroșu.
 +
 +   * În funcție de datele preluate, se declanșează automat alerte vizuale (LED PWM) și auditive (buzzer PWM), iar starea sistemului este afișată pe un LCD I2C 16x2. 
 +
 +
 +
 +**Bibliotecile utilizate**
 +
 +| Bibliotecă ​             | Motivare utilizare ​                                                                |
 +| Wire.h ​              | Comunicație I2C cu LCD-ul. ​                                                        |
 +| LiquidCrystal_I2C.h ​  | Permite controlul LCD-ului cu doar 2 fire, economisind pini.                       |
 +| SimpleDHT.h ​        | Acces rapid la temperatura și umiditate de la senzorul DHT11. ​                     |
 +
 +**Elementul de noutate**
 +
 +  * Utilizarea a **3 senzori de gaz** simultan pentru o detecție mai precisă.
 +  * **Corelarea logică** a prezenței flăcării și concentrației de gaz pentru stabilirea gradului de pericol.
 +  * **Semnalizare adaptivă PWM** (LED + buzzer) în funcție de gravitatea situației.
 +  * **Interfață informativă în timp real** pe un afișaj I2C LCD.
 +  * **Trimiterea datelor în Thingspeak**
 +
 +**Funcționalități din laborator**
 +
 +| Funcționalitate | Laborator ​   | Implementare în proiect ​                       |
 +| ADC             | Lab 4        | Citirea senzorilor de gaz pe PA0, PA1, PA3     |
 +| PWM             | Lab 2        | Buzzer și LED controlate cu Timer0 (OCR0A/​B) ​  |
 +| I2C             | Lab 3        | Afișaj LCD I2C 16x2 cu `LiquidCrystal_I2C` ​    |
 +
 +
 +
 +**Scheletul proiectului și interacțiuni**
 +
 +  * initPWM() – inițializează Timer0 pentru LED și buzzer;
 +  * initFlameSensor() – configurare pin senzor flacără;
 +  * ADC_init() și ADC_read(chan) – pentru senzorii de gaz;
 +  * actualizeazaStare() – analizează datele senzorilor;
 +  * afisareLCD() – afișează mesajul corespunzător;​
 +  * semnalizarePWM() – generează semnale sonore și vizuale.
 +
 +  * Testarea s-a făcut cu o brichetă, observând comportamentul în timp real pe ecran și prin buzzer/LED.
 +
 +**Calibrarea senzorilor**
 +
 +   * **Senzori de gaz** calibrați prin testare în aer curat și la contactul cu flacăra.
 +     * Praguri alese: `> 600` pentru detecție gaz.
 +   * **Senzor flacără**:​ valoare logică `LOW` la detectare – inversată software:
 +     * uint8_t flacara = !(PINB & (1 << IRSENSOR_PIN));​
 +
 +**Optimizări implementate**
 +
 +  * Reutilizarea Timer0 pentru controlul simultan al buzzerului și LED-ului prin PWM pe canale separate (OCR0A și OCR0B), economisind resurse hardware.
 +  * Acces direct la registre ADC și PWM, evitând funcții de nivel înalt.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute ​în urma realizării proiectului vostru.+Analizând datele colectate ​în ThingSpeak, observ că senzorii de gaz (Gas1, Gas2, Gas3) reacționează corect, înregistrând creșteri semnificative atunci când sunt expuși la concentrații mai mari de gaz.  
 +Senzorul de flacără răspunde precis la prezența focului, schimbând starea între 0 și 1, ceea ce arată că partea de detecție funcționează bine.  
 + 
 + 
 +{{:​pm:​prj2025:​eradu:​rezultate.png?​200|}} 
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +Prin realizarea acestui proiect am reușit să construiesc un sistem funcțional de monitorizare a incendiilor,​ bazat pe Arduino. Am folosit senzori de gaz, un senzor de flacără și un senzor DHT11 pentru temperatură și umiditate, astfel încât să pot detecta rapid orice situație de risc.
 +Pentru mine, a fost foarte important ca sistemul să ofere feedback local. Astfel, am implementat semnalizare vizuală pe un afișaj LCD și LED, dar și semnalizare sonoră cu un buzzer. În plus, mi-am dorit ca datele colectate să nu rămână doar local, ci să fie transmise către internet, motiv pentru care am integrat un modul ESP și am folosit platforma ThingSpeak pentru vizualizare online.
 +
  
 ===== Download ===== ===== Download =====
  
 <note warning> <note warning>
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etcUn fişier README, un ChangeLog, un script de compilare şcopiere automată pe uC crează întotdeauna o impresie bună ;-). +Codul sursă [[https://github.com/​anamariapotoceanu/​PM_PROIECT/​]] șVideo demo[[https://www.youtube.com/​shorts/​su3ioFB6500]]
- +
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul)**Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**.+
 </​note>​ </​note>​
  
-===== Jurnal ​=====+===== Bibliografie/​Resurse ​=====
  
-<​note ​tip+<​note>​ 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului+**Resurse Software**  
-</note>+   * https://www.espressif.com/​sites/​default/​files/​documentation/​4b-esp8266_at_command_examples_en.pdf 
 +   * https://​docs.espressif.com/​projects/​esp-at/​en/​latest/​esp32/​AT_Command_Set/​Basic_AT_Commands.html 
 +   * https://​www.espressif.com/​sites/​default/​files/​documentation/​0a-esp8266ex_datasheet_en.pdf 
 +   * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2023-2024
  
-===== Bibliografie/​Resurse ===== 
  
-<​note>​ +**Resurse ​Hardware** 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse ​Software** şi **Resurse Hardware**.+   https://​www.tinkercad.com/​things/​41eMA4Gu44g/​editel
 </​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>​
  
pm/prj2025/eradu/ana_maria.potoceanu.1747473642.txt.gz · Last modified: 2025/05/17 12:20 by ana_maria.potoceanu
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