Alarma de incendiu

Autor

Introducere

Proiectul consta in realizarea unui sistem smart de tip alarma de incendiu. Alarma este conectata in permanenta la un server din internet caruia ii transmite starea. In momentul in care in proximitatea alarmei a fost detectat foc pe langa zgomotul si luminile rosii pe care le va produce in mediul ei extern, aceasta va transmite mesaje de informare la server pentru ca utilizatorul sa fie atentionat si in situatia in care acesta nu se afla acasa.

Scopul proiectului este crearea unui sistem prin intermediul caruia utilizatorul va stii in permanenta daca locuinta sa este in siguranta.

Ideea de la care am pornit a fost dezvoltarea unui device care este foarte util in orice locuinta si care poate sa-i ofere utilizatorului un control mult mai mare asupra casei lui si in situatia in care acesta nu este acasa.

Descriere Generala

In momentul in care nu este detctat foc in proximitatea senzorului de foc alarma va produce luminarea intermitenta a unui led de culoare albastra care anunta atat faptul ca in camera nu este foc, dar si functionalitatea alarmei. In momentul in care senzorul a detectat foc, acesta va determina stingerea led-ului albastru si aprinderea unui led rosu, dar si producerea unui zgomot facut de buzzer pentru a anunta in casa aparitia focului.

Starea alarmei este in permanenta transmisa la un server in internet prin intermediul unui ethernet shield conectat la placuta, iar utilizatorul va cunoaste mereu starea alarmei in acel moment de timp. Daca este detectat foc si pagina de internet va declansa un sunet de notficare pentru anuntarea utilizatorului.

Schema Bloc

proiect_pm_alarma_incendiu.jpg

Hardware Design

Lista piese

  • Placa de dezvoltare Arduino UNO
  • Cablu usb A-B
  • Breadboard
  • Fire jumper
  • Led Rosu si Albastru
  • Senzor de flacara infrarosu
  • Buzzer
  • Ethernet Shield

Descriere generala a modulelor folosite

Placuta de ArduinoUno este conectata prin intermediul unui cablu usb A-B la calculator. Alimentarea se face la o tensiune de 5V.

Ethernet Shield-ul se suprapune cu Arduino, e alimentat tot la 5V si sunt legate prin pinii 13(SS), 12(MOSI), 11(MISO), 10(SCK). Acesta se conecteaza la router printr-un cablu de retea. Serverul din internet pe care se afiseaza starea alarmei este in aceeasi retea cu routerul, calculatorul si implicit shield-ul de ethernet.

Senzorul de flacara infrarosu e alimentat intre GND si VCC=5V. Acesta e conectat la pinul 7 de pe placuta.

Buzzerul, LED-ul rosu si cel albastru sunt legate la pinii 9, 6 si respectiv 12.

Schema electrica

schema_electrica_alarma_incendiu.jpeg

schema_alarma.jpeg

Software Design

Implementare

  • Pentru implementarea detectiei focului am procedat in urmatorul mod:

Am folosit pinii 6, 12, 9 de pe Arduino pentru LED-ul rosu, LED-ul albastru si respectiv Buzzer. Acestia au fost setati ca pini de Output in setup. Am folosit pinul 7 pentru senzorul de flacara infrarosu si pe acesta l-am setat ca pin de input in setup.

In loop am implementat intreaga logica de detectie, si anume: citesc valoarea digitala a senzorului si o compar cu doua valori LOW si HIGH. In momentul in care s-a gasit un rezultat apropiat de LOW, inseamna ca flacara a fost detectata si voi porni LED-ul rosu(folosind digitalWrite) si buzzerul(folosind tone). Voi lasa minim 1 secunda aceasta stare a alarmei sa persiste. Cand nu se detecteaza flacara, setez LED-ul rosu pe LOW si buzzerul inactiv(noTone). Pentru a arata ca alarma functioneaza in parametri si nu e detectata flacar folosesc un LED albastru care face blink, oscileaza intre pornit-oprit timp pentru 500ms.

  • Pentru realizarea conexiunii la internet am procedat in urmatorul mod:

Am asignat o adresa MAC pentru shield-ul de Ethernet si un IP folosind functia localIP din biblioteca Ethernet. Am creat un server pe portul 80 folosind un obiect de tip EthernetServer. Am pornit acest server in setup si am afisat adresa IP la care se gaseste.

In loop am creat un obiect de tip client folosind metoda available a serverului. Daca clientul este conectat pot trimite cereri de tip HTTP la server. Am trimis periodic cereri pentru a pastra conexiunea dintre client si server, afisand in client cererile. Pentru a anunta utilizatorul daca a fost detectat foc am creat doua tipuri de pagini HTML pe care le afiseaza clientul la fiecare 2 secunde. Daca nu e detectat foc creez o pagina HTML cu un titlu si o imagine sugestiva, voi oferi ulterior print screen-uri in sectiunea Rezultate Obtinute pentru a ilustra. Daca e detectat foc am creat tot o pagina sugestiva, cu diferenta ca am adaugat un sunet de tip notificare pentru a anunta utilizatorul in cazul in care are pagina in taskbar si nu o observa. Am realizat toata aceasta structura folosind sintaxa HTML pe care am afisat-o in client.

Am setat ca pagina sa faca refresh din 2 in 2 secunde pentru a fi in permanenta concordanta cu situatia reala.

Biblioteci folosite

Am folosit:

  • SPI.h pentru comunicarea intre shield si arduino
  • Ethernet.h pentru webserver-ul in care afisez starea alarmei

Rezultate Obtinute

Alarma functioneaza cum mi-am propus. Dupa conectarea la o sursa de alimentare(laptop) si la router aceasta se porneste. Becul albastru e pornit si face blink in continuu pentru a arata functionarea. Cand senzorul gaseste foc se aprind becul rosu si si buzzerul. Pe webserverul asignat de router este o pagina in care se arata cu un refresh din 2 in 2 secunde starea alarmei.

alarma_incendiu_poza1.jpegalarma_incendiu_poza2.jpeg

alarma_incendiu_poza3.jpegalarma_incendiu_poza4.jpeg

Prezentarea video :

https://youtu.be/4CQbufMNYS0

Concluzii

Alarma detecteaza un grad ridicat de foc dupa cum se observa si in video. Lumanarile sunt folosite pentru a exemplifica aprinderea acesteia doar in situatia unui incendiu.

Download

Bibliografie / Resurse

pm/prj2021/amocanu/alarma_de_incendiu.txt · Last modified: 2021/06/03 08:58 by diana.schneider
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