This is an old revision of the document!
Fire detection and notification system
Introducere
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
analize sau cercetări.
Scopul proiectului
Scopul principal al proiectului este de a contribui la creșterea nivelului de siguranță acasă, la muncă, la școală sau la un restaurant, prin implementarea unui sistem capabil să sesizeze rapid și cele mai mici semne ale unui posibil incendiu, prevenind astfel dezastrele ce orice fel. Acest proiect oferă o soluție ușor de implementat și care poate fi adaptată oricărui tip de locuință, deoarece alertele pot fi percepute foarte ușor de oamenii aflați în clădire în acel moment.
Utilitatea proiectului
Consider că acest proiect este util pentru orice persoană, deoarece contribuie la siguranță noastră, prin primirea alertelor în timp real, reducând pierderile de orice fel. Proiectul aduce beneficii reale în viața de zi cu zi, acesta fiind o reală necesitate în orice locuință.
Descriere generală
Sistemul de detectare a incendiului este construit pe baza plăcii de dezvoltare Arduino UNO și pe baza microcontrollerului ESP8266. Se citesc date de la mai mulți senzori, cum ar fi trei senzori de gaz MQ2, un senzor de temperatură și umiditate DHT11 și un senzor cu infraroșu pentru flacără. Datele vor fi procesate și în cazul în care se observă depășirea pragurilor, vom avea diferite alerte.
Cei trei senzori de gaz vor fi așezați urmând o strategie, astfel dacă cel puțin doi vor identifica o concentrație ridicată de gaz sau fum, se va considera un pericol real care va declanșa alerta. Se va activa și un buzzer, se va aprinde și led-ul RGB, iar pe LCD se va afișa un mesaj de avertizare.
Pe lăngă acești senzori, există și un senzor infraroșu pentru flacără care va detecta apariția unei flăcări, înainte ca fumul să fie sesizat de senzorii MQ2. În acest caz, se consideră o situație de atenționare.
Senzorul DHT11 va monitoriza permanent temperatura și umiditatea. Dacă vor apărea valori ridicate și anormale ale temperaturii, acestea vor fi considerate indicii suplimentare de incendiu.
1. Arduino UNO : microcontroller clasic folosit pentru citirea senzorilor (analogici și digitali), stabilirea deciziilor locale (ex. aprindere LED, activare buzzer) și trimiterea datelor către ESP8266 (prin UART).
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.
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.
4. Senzor infraroșu de flacără: detectează radiația IR corespunzătoare flăcărilor. Oferă semnal digital. Are posibilitatea de a detecta flacăra, înainte ca ceilalți senzori de gaz să detecteze fumul.
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.
7. Buzzer: activează o alarmă sonoră când se depășește un anumit prag.
8. LED RGB: oferă alertare vizuală:
* Verde = totul e normal
* Roșu = atenționare sau pericol incendiu
Module Software
* Programul principal pe Arduino Uno (scris în Arduino IDE)
- Citește valorile de la senzorii de gaz, flacără și DHT11
- Evaluează local starea de pericol și controlează buzzerul, LED-ul RGB și LCD-ul
- Trimite datele către ESP8266 prin UART
* ESP8266
- Primește datele de la Arduino
- Realizează conexiunea la rețeaua Wi-Fi
- Trimite date către Firebase și alerte prin Telegram
Interacțiunea dintre module
Hardware Design
Aici puneţi tot ce ţine de hardware design:
listă de piese
-
diagrame de semnal
rezultatele simulării
BOM
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 | D12 | Semnal digital – PWM | Laborator 3 – PWM |
LED RGB (anod comun) – R | D8 | Semnal digital/PWM | Lab 0 – GPIO, Lab 3 – PWM |
LED RGB (anod comun) – G | D5 | 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
Pentru detecția fumului și gazelor inflamabile
Pini folosiți: A0, A1, A3
Senzorii MQ2 generează semnal analogic proporțional cu concentrația gazelor inflamabile. Pinii A0, A1 și A3 sunt pini analogici de pe Arduino Uno și permit citirea valorilor folosind conversia ADC.
Pentru identificarea flăcărilor
Pin folosit: D10
Acest senzor transmite un semnal digital (LOW = flacără detectată). Pinul D10 este configurat ca intrare digitală și
este potrivit pentru a recepționa semnale de tip ON/OFF.
Pentru monitorizarea temperaturii și umidității aerului
Pin folosit: D9
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.
Pentru afișarea locală a valorilor și alertelor
Pini folosiți: A4 (SDA), A5 (SCL)
Afișajul comunică prin protocolul I2C, care utilizează două fire: SDA (Date) și SCL (Ceas). Pe Arduino Uno, aceste funcții sunt predefinit pe pinii A4 și A5.
Pentru alertă sonoră
Pin folosit: D12
Buzzerul este controlat digital. Pinul D12 este configurat ca ieșire (OUTPUT) și poate genera sunete PWM.
Pentru alertă vizuală
Pini folosiți: D8 (Roșu), D5 (Verde)
Verde = normal, Roșu = pericol
Pinul D5 este folosit pentru control simplu ON/OFF al culorii verzi. Pinul D8 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.
Pentru conectivitate Wi-Fi și trimitere de date către Firebase / Telegram
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
Procesare și decizii locale
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 2 senzori trebuie să aibă răspunsul 'DA'
Dacă nu există amenințare:
LED verde aprins
Buzzer oprit
Afișaj cu temperatură și umiditate
Schemă electrică
Imagini componente
Software Design
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
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună

.
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.
Jurnal
Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF