Table of Contents

SISTEM INTELIGENT DE MONITORIZARE ȘI AVERTIZARE PENTRU CAMERA TEHNICĂ

Introducere

Proiectul propus reprezintă un sistem embedded de monitorizare și avertizare destinat supravegherii condițiilor de siguranță dintr-o cameră tehnică sau dintr-un spațiu închis în care pot apărea situații periculoase. Sistemul este realizat cu ajutorul unei plăci Arduino Uno și al unor module electronice uzuale, ușor de integrat într-o aplicație educațională sau demonstrativă. Scopul principal al proiectului este detectarea rapidă a unor condiții de risc, precum prezența gazelor inflamabile, apariția unei flăcări, apropierea unei persoane de echipament, umiditatea ridicată sau schimbările semnificative de lumină din încăpere, precum și avertizarea utilizatorului prin semnale vizuale, sonore și prin logarea evenimentelor.

Ideea proiectului a pornit de la o situație practică: într-o cameră tehnică sau într-un spațiu în care există o centrală termică, conducte, surse de alimentare sau alte echipamente, apariția gazului și a flăcării reprezintă riscuri critice. În plus, anumite condiții de mediu, precum umiditatea ridicată sau apropierea unei persoane de echipament, pot deveni informații utile pentru monitorizare și pentru înțelegerea contextului în care apare o alertă. Din acest motiv, sistemul a fost extins dincolo de simpla detecție de gaz și flacără, fiind gândit ca un prototip inteligent de supraveghere locală.

După pornire, dispozitivul funcționează autonom și citește permanent valorile furnizate de senzorul de gaz MQ-6, de senzorul de flacără, de senzorul de temperatură și umiditate DHT11, de senzorul ultrasonic HC-SR04, de modulul de lumină TCS34725 și de ceasul de timp real PCF8563. Pe baza acestor valori, sistemul determină starea generală a mediului și semnalizează utilizatorului dacă totul este în regulă, dacă există prezență lângă echipament, dacă umiditatea este ridicată sau dacă a apărut o situație de pericol real, cum ar fi o concentrație anormală de gaz sau detectarea flăcării.

În funcție de starea sistemului, feedback-ul este oferit prin intermediul LED-urilor roșu, galben și verde, al unui buzzer activ și prin afișarea statusului în Serial Monitor. În plus, evenimentele importante sunt salvate pe card SD, împreună cu timestamp furnizat de modulul RTC. Astfel, proiectul nu doar detectează și avertizează în timp real, ci oferă și o componentă de jurnalizare utilă pentru analiză ulterioară.

Din punct de vedere educațional, proiectul este relevant deoarece combină mai multe concepte importante din domeniul sistemelor embedded: citirea senzorilor analogici și digitali, lucrul cu magistrale de comunicație precum I2C și SPI, gestionarea stărilor sistemului, utilizarea unui ceas de timp real, jurnalizarea pe card SD, semnalizarea vizuală și sonoră și interpretarea contextuală a datelor provenite din mai mulți senzori. În același timp, proiectul demonstrează modul în care un microcontroler poate integra informații multiple și poate lua decizii simple, dar utile, în timp real.

Descriere generală

Sistemul este construit în jurul plăcii Arduino Uno, care reprezintă unitatea principală de procesare. La aceasta sunt conectate mai multe module cu roluri diferite: un senzor de gaz MQ-6 pentru detectarea gazelor inflamabile, un senzor de flacără pentru identificarea unei surse de foc, un senzor DHT11 pentru măsurarea temperaturii și umidității, un senzor ultrasonic HC-SR04 pentru detectarea prezenței în imediata apropiere a echipamentului, un modul TCS34725 utilizat pentru monitorizarea nivelului de lumină ambientală, un ceas de timp real PCF8563 pentru păstrarea datei și orei și un modul SD pentru jurnalizarea evenimentelor.

În timpul funcționării, Arduino citește permanent valorile provenite de la toți senzorii și stabilește starea sistemului. Dacă nu este detectată nicio condiție periculoasă, sistemul rămâne în starea normală, menține LED-ul verde aprins și afișează în Serial Monitor că nu există pericol activ. Dacă senzorul ultrasonic detectează o persoană foarte aproape de echipament, sistemul rămâne tot în starea normală, dar semnalizează prezența prin LED verde și LED galben clipitor, marcând faptul că există activitate în zona monitorizată.

În cazul în care valoarea furnizată de senzorul MQ-6 depășește pragul stabilit, sistemul intră direct în starea de alertă de gaz. În această situație, LED-ul roșu se activează, iar buzzerul începe să emită semnale sonore intermitente. Dacă în același timp este detectată și prezența unei persoane lângă echipament, semnalizarea devine mai accentuată: LED-ul roșu clipește, LED-ul galben clipește sincron cu acesta, iar ritmul buzzerului crește pentru a avertiza mai clar persoana aflată în apropiere.

Dacă este detectată flacără, sistemul tratează situația tot ca pe o stare de pericol major și activează aceeași logică de alertare sonoră și vizuală. Astfel, proiectul prioritizează siguranța, orice pericol real fiind tratat direct ca alertă, fără stări intermediare de avertizare slabă pentru gaz.

Pe lângă pericolele principale, sistemul monitorizează și umiditatea relativă. Dacă umiditatea depășește pragul stabilit în software și nu există simultan altă semnalare mai importantă, sistemul rămâne în starea normală, dar afișează în status un mesaj de tip „atenție: umiditate relativă ridicată în încăpere” și aprinde LED-ul galben fix. În acest fel, umiditatea ridicată este semnalată ca observație tehnică importantă, fără a suprascrie stările de pericol real sau de prezență.

Un alt element important este componenta de jurnalizare. La fiecare schimbare de stare, la detectarea prezenței sau la schimbări semnificative ale luminii ambientale, sistemul salvează evenimentele pe cardul SD împreună cu timpul furnizat de RTC. Acest lucru oferă proiectului un caracter mai apropiat de o aplicație reală de monitorizare, nu doar de un simplu demo de senzori.

Din punct de vedere funcțional, proiectul poate fi privit ca un sistem local inteligent de monitorizare a camerei tehnice. El nu reprezintă un sistem industrial certificat, dar reproduce fidel principiile de bază întâlnite în aplicațiile reale: detecția condițiilor de risc, clasificarea stărilor, avertizarea utilizatorului și logarea evenimentelor.

Hardware Design

Listă de piese

Componenta Utilitate
1 Arduino Uno Unitatea principală de control a sistemului. Citește senzorii, procesează datele și comandă ieșirile.
2 Senzor gaz MQ-6 Detectează gaze inflamabile și oferă o valoare analogică proporțională cu concentrația detectată.
3 Senzor flacără Detectează prezența unei flăcări pe baza radiației infraroșii.
4 DHT11 Măsoară temperatura și umiditatea relativă a aerului din încăpere.
5 HC-SR04 Detectează prezența unei persoane în apropierea echipamentului, pe baza distanței măsurate ultrasonic.
6 RTC PCF8563 Păstrează data și ora pentru marcarea evenimentelor și a jurnalului.
7 TCS34725 Măsoară nivelul de lumină ambientală și permite detectarea schimbărilor semnificative de iluminare.
8 Modul SD Salvează evenimentele importante într-un fișier jurnal.
9 Buzzer activ Oferă semnal sonor de avertizare în cazul unei alarme.
10 LED roșu Semnalizare vizuală pentru pericol real.
11 LED galben Semnalizare pentru prezență sau observații tehnice precum umiditatea ridicată.
12 LED verde Semnalizare a funcționării normale a sistemului.

Schema electrica

În locul unui afișaj local, sistemul transmite informațiile detaliate prin Serial Monitor și salvează evenimentele pe card SD. Această alegere a simplificat schema hardware și a permis integrarea mai multor senzori și module suplimentare, precum RTC-ul, senzorul de lumină și modulul SD.

Senzorii analogici utilizați sunt MQ-6 și senzorul de flacără, conectați la intrările analogice A0 și A1. DHT11 este conectat pe un pin digital dedicat, deoarece comunică printr-un protocol digital simplu. Senzorul ultrasonic HC-SR04 utilizează doi pini digitali separați, unul pentru semnalul de trigger și unul pentru ecou. LED-urile și buzzerul sunt comandate direct de pe pinii digitali ai plăcii.

Un aspect important al proiectului este utilizarea simultană a două magistrale de comunicație:

Această organizare permite integrarea mai multor componente fără conflicte de pini și reflectă o structură hardware mai apropiată de o aplicație embedded reală.

Cablaj electric

Alocarea pinilor

Pinii utilizați în proiect sunt:

Observații privind funcționarea hardware

Modulul RTC este utilizat pentru atașarea unui timestamp fiecărui eveniment important, iar timpul poate fi configurat prin interfața serială cu ajutorul unei comenzi dedicate în format Unix time. Modulul SD permite salvarea schimbărilor de stare, a detectării prezenței și a modificărilor importante ale luminii.

Semnalizarea vizuală a fost concepută astfel încât să fie ușor de interpretat:

Buzzerul activ funcționează doar în stările de pericol. În aceste cazuri, el nu emite continuu, ci intermitent:

Această organizare hardware și logică oferă proiectului un comportament coerent, ușor de justificat și potrivit pentru o aplicație demonstrativă de monitorizare a unei camere tehnice.

Software design

Mediu de dezvoltare utilizat

Arduino IDE a fost utilizat pentru scrierea codului sursă, compilare și încărcare pe placa Arduino UNO R3. Platforma permite integrarea facilă a bibliotecilor necesare pentru senzori, comunicații I2C și SPI, precum și testarea rapidă a comportamentului sistemului în timp real prin monitorul serial.

Biblioteci folosite

Bibliotecă nativă Arduino utilizată pentru comunicarea pe magistrala I2C. În cadrul proiectului, aceasta este folosită pentru comunicarea cu modulul RTC PCF8563 și cu senzorul de lumină TCS34725.

Bibliotecă nativă Arduino utilizată pentru comunicația SPI. Este necesară pentru funcționarea modulului de card SD, care folosește interfața SPI pentru scrierea și citirea datelor.

Bibliotecă folosită pentru manipularea fișierelor pe cardul SD. Prin intermediul acesteia, sistemul creează și actualizează un fișier de jurnal în care sunt salvate evenimentele importante, împreună cu valorile senzorilor și momentul apariției lor.

Bibliotecă utilizată pentru citirea senzorului DHT11. Aceasta permite măsurarea temperaturii și a umidității relative din încăpere, valori care sunt apoi analizate pentru a detecta depășirea pragurilor de siguranță.

Bibliotecă utilizată pentru comunicarea cu modulul RTC PCF8563. Prin aceasta, sistemul poate obține timpul curent și îl poate folosi pentru marcarea exactă a evenimentelor în jurnalul salvat pe cardul SD.

Bibliotecă utilizată pentru comunicarea cu senzorul TCS34725. În proiect, aceasta este folosită pentru evaluarea nivelului de lumină ambientală și pentru detectarea variațiilor semnificative de iluminare din spațiul monitorizat.

Organizarea componenței software

1. Componenta de achiziție a datelor de la senzori

Sistemul citește periodic valorile provenite de la mai multe tipuri de senzori:

Valorile analogice sunt citite cu analogRead(), iar senzorii digitali sau specializați sunt accesați prin bibliotecile dedicate. Pentru HC-SR04, sistemul generează un impuls de trigger și măsoară durata semnalului de răspuns, din care calculează distanța în centimetri. Controlul semnalului de trigger este realizat prin acces direct la registrele microcontrolerului, ceea ce oferă un control hardware mai precis asupra semnalului emis.

2. Componenta de interpretare și decizie

După citirea senzorilor, aplicația compară valorile obținute cu praguri prestabilite:

Pe baza acestor condiții, software-ul stabilește comportamentul global al sistemului. Prioritatea logică este acordată alarmelor critice:

  1. detecție flacără;
  2. detecție gaz peste prag;
  3. prezență în apropiere;
  4. umiditate ridicată;
  5. funcționare normală.

Această organizare permite reacții coerente și previzibile, chiar și atunci când mai multe condiții sunt adevărate simultan.

3. Componenta de semnalizare vizuală

Semnalizarea vizuală este realizată prin trei LED-uri: roșu, galben și verde. Acestea indică starea curentă a sistemului:

Controlul LED-urilor este realizat prin scriere directă în registrul PORTD, deoarece pinii D5, D6 și D7 aparțin aceluiași port hardware. Această abordare reduce timpul de execuție și reflectă utilizarea unui nivel mai avansat de programare embedded.

4. Componenta de alarmă sonoră

Buzzerul este activat în situații de alarmă și funcționează diferențiat în funcție de context:

Controlul ieșirii digitale este realizat direct prin registre. Pinul buzzerului este configurat și comandat prin DDRD și PORTD, ceea ce permite o integrare coerentă cu restul ieșirilor digitale comandate la nivel hardware.

5. Componenta de monitorizare a prezenței

Prezența este detectată cu senzorul ultrasonic HC-SR04. Software-ul nu se bazează exclusiv pe o singură citire instantanee, ci implementează o logică de stabilizare:

Această abordare face sistemul mai robust și reduce riscul de schimbări bruște de stare cauzate de zgomot sau reflexii imperfecte ale semnalului ultrasonic.

6. Componenta de monitorizare a luminii ambientale

Senzorul TCS34725 este utilizat pentru evaluarea iluminării din încăpere. Sistemul stabilește un nivel de referință și urmărește variațiile semnificative în raport cu această bază. Dacă modificarea persistă suficient timp, nivelul de referință este adaptat automat. Astfel, software-ul nu reacționează la variații minore sau de scurtă durată, ci doar la schimbări relevante ale mediului.

7. Componenta RTC și gestionarea timpului

Modulul RTC PCF8563 furnizează data și ora curentă. Sistemul utilizează timpul UTC și îl convertește software la ora locală a României, inclusiv cu ajustarea automată pentru ora de vară. Această decizie permite jurnalizarea corectă a evenimentelor și afișarea unor timestamp-uri relevante pentru utilizator.

8. Componenta de logare pe card SD

Fiecare eveniment important este înregistrat în fișierul log.txt de pe cardul SD. În jurnal sunt salvate:

Această componentă transformă proiectul dintr-un simplu sistem de alarmare într-un sistem de monitorizare cu trasabilitate, util pentru analiză ulterioară și diagnostic.

Fișierul log este compatibil cu formatul CSV și poate fi importat cu ușurință în Microsoft Excel pentru analiză și prelucrare ulterioară. Încărcarea se poate realiza din meniul Get Data > From File > From Text/CSV, ceea ce permite vizualizarea și organizarea rapidă a datelor în format tabelar.

9. Componenta de comunicare serială

Sistemul comunică și prin portul serial, oferind informații despre starea curentă și despre senzorii activi. În plus, sunt implementate comenzi pentru configurarea și interogarea timpului RTC, cum ar fi setarea orei și citirea acesteia. Această interfață este utilă atât pentru testare, cât și pentru mentenanță.

10. Componenta de control hardware la nivel de registru

O particularitate importantă a proiectului este utilizarea registrelor microcontrolerului pentru controlul ieșirilor digitale și al semnalului de trigger al senzorului ultrasonic. Pentru această funcționalitate sunt utilizate registre precum:

Această abordare este mai apropiată de programarea embedded reală, oferă control mai precis asupra hardware-ului și reduce overhead-ul introdus de abstracțiile standard Arduino.

Concluzie privind structura software

Software-ul este organizat modular, în jurul unor funcții cu rol clar: citirea senzorilor, interpretarea datelor, generarea alarmelor, actualizarea ieșirilor, logarea evenimentelor și comunicarea serială. Arhitectura aleasă permite extinderea ulterioară a proiectului și face sistemul mai robust, mai eficient și mai ușor de analizat. Utilizarea registrelor pentru controlul direct al hardware-ului reprezintă un pas important spre o implementare de nivel universitar, mai apropiată de cerințele programării embedded.

Download

Folder Drive fisiere atasate - Demo video, log, cod arduino.

GITHUB

Link Github