Alarma de incendiu

Introducere

Prezentarea pe scurt a proiectului vostru:

  • in cazul unui potential incendiu acesta va porni o alarma pentru anuntarea pericolului
  • conduita impotriva incendiilor este necesar pentru a salva vieti si a minimiza pierderile, de aceea orice firma are reguli foarte clare in caz de incendiu

Descriere generală

Proiectul consta intr-un ansamblu de piese ce formeaza o alarma de incendiu. Pe baza unui senzor de flama va determina necesitatii activarii alarmei pentru a anunta aparitia focului. Sistemul de alarme se bazeaza pe un led care se va aprinde, un buzzer care va scoate un sunet de alarma, un lcd care va afisa un mesaj de avertizare pentru persoanele cu dizabilitati sau pentru persoanele care folosesc echipamente ce pot impiedica auzirea alarmei si a unui modul wi-fi care va trimite notificare pe google home in caz de incendiu.

Laboaratoare folosite:

- USART : https://ocw.cs.pub.ro/courses/pm/lab/lab1-2023 (Folosit USART pentru debugging si pentru analizarea real-time a datelor inregistrate de senzori)

- I2C : https://ocw.cs.pub.ro/courses/pm/lab/lab6-2023-2024 (Folosim I2C in comunicarea cu ecranul LCD)

- Intreruperi : https://ocw.cs.pub.ro/courses/pm/lab/lab2-2023 (Folosim intreruperi datorita senzorului de flama )

Hardware Design

LISTA COMPONENTELOR

  • PCB
  • BreadBoard
  • fire
  • lcd
  • senzor de flama
  • LED
  • modul wi-fi
  • buzzer
  • rezistori

Pini utilizati:

- Senzorul de flama : pinul D0(Când senzorul detectează o flacără, pinul DO va furniza 0V (stare LOW), iar când nu este detectată nicio flacără, pinul DO va fi la 5V (stare HIGH))

- LCD cu interfata I2C : SDA: acest pin este folosit pentru transferul de date bidirecțional între microcontroler și LCD. SDA: acest pin este utilizat pentru a sincroniza transferul de date între microcontroler și LCD.

- Modul WI-FI : TX : pinul de transmisie pentru comunicația serială. TX trimite date de la ESP8266 către microcontrolerul principal sau alt dispozitiv de comunicație serială. RX : pinul de recepție pentru comunicația serială. RX primește date de la microcontrolerul principal sau de la alt dispozitiv de comunicație serială către ESP8266. CH_PD: Acest pin este folosit pentru a controla alimentarea cu energie a cipului. Pentru a menține modulul pornit, acest pin trebuie să fie conectat la 3.3V. Legat de modulul wi-fi pentru conexiuni este nevoie să folosim un modul de conversie de niveluri logice, de la 5 V la 3.3 V. Pentru a evita utilizarea unui astfel de convertor de niveluri logice, fara a risca distrugerea modulului am realizat o conexiune cu 2 rezistori(1k, 2k), cum se poate vedea in imaginile de mai jos.

Schema electrica

Etapa de dezvoltare

Mesajul si componentele in cazul in care nu este incendiu

Mesajul si componentele in caz de incendiu

Notificarea primita in caz de incendiu

Software Design

Descrierea codului aplicaţiei (firmware):

  • Mediu de dezvoltare: Arduino IDE;Placa de dezvoltare: Arduino UNO
  • Biblioteci si Surse: “LiquidCrystal_I2C”: Biblioteca pentru controlul umui display LCD cu interfata I2C; “Wire” : biblioteca pentru comunicare I2C pe Arduino; “SoftwareSerial” : biblioteca pentru comunicarea serială pe pinii digitali, în afară de cei doi pini UART hardware disponibili.(folosita pentru comunicarea cu modulul WI-FI)
  • Algoritmi utilizati

- Algoritmul de Conectare la WiFi: Verifică dacă modulul ESP8266 este disponibil și răspunde la comenzi, resetează modulul ESP8266, setează modulul în modul station si conectează modulul ESP8266 la rețeaua hotspot.

- Algoritmul de Detectare a Flăcării: citește valoarea de la senzorul de flacără, daca flacara nu este detectata, aprinde LED-ul alb si afiseaza mesajul pe lcd sau daca flacara apare, se declanseaza alarma, se aprinde ledul rosu si se trimite notificarea.

- Algoritmul pentru Afișarea Mesajului pe LCD: Mesajele sunt afișate și derulate pe ecranul LCD

- Algoritmul pentru Trimiterea Notificărilor IFTTT: Construiește URL-ul pentru cererea HTTP GET pentru IFTTT, realizează o conexiune TCP cu serverul IFTTT si trimite cererea HTTP GET și închide conexiunea TCP.

  • Funcţii implementate:

- setup: Inițializează monitorul serial, comunicarea serială cu ESP8266, pinurile pentru LED-uri și buzzer, ecranul LCD, conectează modulul ESP8266 la rețeaua Wi-Fi;

- loop: Citește valoarea de la senzorul de flacără, afișează mesaje pe LCD și gestionează LED-urile si declanșează alarma și trimite notificări IFTTT dacă este detectată flacăra;

- connectToWiFi: algoritmul descris la punctul anterior pentru conectare la wi-fi;

- alarma: Declanșează un ton de urgență continuu cât timp flacăra este detectată;

- sendIFTTTNotification: Construiește și trimite o cerere HTTP GET către serverul IFTTT pentru a trimite notificarea.

Rezultate Obţinute

In urma realizarii proiectului, rezultatele au fost cele asteptate, acesta functionand exact cum am dorit. Senzorul de flama functioneaza instant ceea ce porneste instant alarma si sitemul de notificare, de asemenea si conectarea la hotspot functioneaza in parametrii normali, mentinand conexiunea cu telefonul.

Concluzii

- Proiectul a fost finalizat cu succes, realizând un sistem de alarmă de incendiu care detectează flăcările și trimite notificări în timp real.

- Integrarea componentelor hardware și software a demonstrat importanța unei bune planificări și a unei configurări corecte pentru a asigura funcționarea stabilă și eficientă a sistemului.

- Sistemul oferă atât alerte locale prin intermediul ecranului, LED-urilor și buzzerului(prin aceste moduri se pot atentiona si persoanele cu handicap), cât și notificări remote prin IFTTT, asigurând astfel o alertare eficientă în caz de incendiu.

- Am testat diferite baud rate-uri pentru a asigura o comunicare corectă si o conexiune stabila cu modulul ESP8266. Aceasta a inclus schimbarea baud rate-ului atât în cod, cât și în monitorul serial.

- Crearea și configurarea corectă a unui applet IFTTT a permis trimiterea notificărilor în caz de incendiu.

Download

Arhiva cu codul sursa, schema bloc si cea electrica.

corcodel_vladut_334aa.rar

Bibliografie/Resurse

pm/prj2024/amocanu/vladut.corcodel.txt · Last modified: 2024/05/25 20:11 by vladut.corcodel
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