Blog

Kako da programiram pametni detektor dima od požara?

Nov 25, 2025Ostavi poruku

Kao dobavljač detektora požarnog dima, imao sam duboku strast prema tehnologiji koja stoji iza ovih uređaja za spašavanje života. Programiranje pametnog detektora dima od požara je pedantan proces koji kombinuje razumevanje hardvera, razvoj softvera i posvećenost bezbednosti. U ovom blogu ću vas provesti kroz korake koje poduzimam za programiranje pametnog detektora dima od požara.

Razumijevanje osnova detektora dima

Prije nego što uđete u programiranje, bitno je razumjeti kako radi detektor dima. Uglavnom postoje dvije vrste: jonizacijska i fotoelektrična. Ionizacijski detektori koriste malu količinu radioaktivnog materijala za jonizaciju zraka unutar komore za detekciju. Kada dim uđe u komoru, ometa protok jona, aktivirajući alarm. Fotoelektrični detektori, s druge strane, koriste izvor svjetlosti i svjetlosni senzor. Kada čestice dima uđu u komoru, one raspršuju svjetlost, a senzor detektuje promjenu i uključuje alarm.

Za pametni detektor dima dodaju se dodatne komponente, kao što su mikrokontroler, bežični komunikacioni moduli (poput Wi-Fi ili ZigBee) i senzori za druge faktore okoline kao što su temperatura i vlažnost.

Odabir pravog mikrokontrolera

Mikrokontroler je mozak pametnog detektora dima. Odgovoran je za obradu podataka sa senzora dima, donošenje odluka i kontrolu drugih funkcija poput alarma i komunikacije. Prilikom odabira mikrokontrolera, uzimam u obzir faktore kao što su procesorska snaga, potrošnja energije i dostupna memorija.

Na primjer, Arduino ili Raspberry Pi mogu biti odličan izbor za izradu prototipa zbog njihove lakoće korištenja i velike podrške zajednice. Međutim, za masovnu proizvodnju mogu biti potrebni specijalizovaniji mikrokontroleri. Ovi mikrokontroleri često dolaze sa ugrađenim analogno-digitalnim pretvaračima (ADC) za pretvaranje analognih signala sa senzora dima u digitalne podatke koje mikrokontroler može obraditi.

Programiranje interfejsa senzora

Prvi korak u programiranju je povezivanje mikrokontrolera sa senzorima dima. Ovo uključuje pisanje koda za čitanje podataka senzora. Za jonizacijski ili fotoelektrični senzor, izlaz je tipično analogni napon koji varira ovisno o količini dima u zraku.

Evo jednostavnog primjera kako očitati analogni senzor koristeći Arduino:

const int senzorPin = A0; // Povežite senzor na analogni pin A0 void setup() { Serial.begin(9600); // Pokreni serijsku komunikaciju za otklanjanje grešaka } void loop() { int sensorValue = analogRead(sensorPin); // Čitanje analogne vrijednosti sa senzora Serial.println(sensorValue); // Ispis vrijednosti na serijski monitor delay(1000); // Pričekajte 1 sekundu prije ponovnog čitanja }

Ovaj kod kontinuirano čita analognu vrijednost sa senzora i ispisuje je na serijski monitor. U stvarnom scenariju, koristili bismo ove podatke za donošenje odluka o tome hoćemo li aktivirati alarm.

Implementacija logike alarma

Kada imamo podatke senzora, moramo implementirati logiku alarma. Ovo uključuje postavljanje granične vrijednosti za podatke senzora. Ako vrijednost senzora premašuje ovaj prag, to znači da postoji značajna količina dima u zraku i alarm treba da se aktivira.

const int senzorPin = A0; const int alarmPin = 13; // Povežite alarm na digitalni pin 13 const int threshold = 500; // Postavljanje granične vrijednosti void setup() { pinMode(alarmPin, OUTPUT); // Postavite pin alarma kao izlaz Serial.begin(9600); } void loop() { int sensorValue = analogRead(sensorPin); if (sensorValue > threshold) { digitalWrite(alarmPin, HIGH); // Uključi alarm } else { digitalWrite(alarmPin, LOW); // Isključi alarm } Serial.println(sensorValue); kašnjenje (1000); }

U ovom kodu, ako je vrijednost senzora veća od praga, alarm se uključuje; u suprotnom je isključen.

Dodavanje bežične komunikacije

Jedna od ključnih karakteristika pametnog detektora dima je mogućnost bežične komunikacije. Ovo omogućava detektoru da šalje upozorenja aplikaciji za pametne telefone ili centralnom sistemu za nadzor.

Da bih dodao Wi-Fi komunikaciju, često koristim Wi-Fi modul poput ESP8266 ili ESP32. Ovi moduli se mogu lako integrisati sa mikrokontrolerom. Prvi korak je da povežete modul sa mikrokontrolerom i konfigurišete ga za povezivanje na Wi-Fi mrežu.

Evo primjera kako poslati podatke senzora na server pomoću ESP8266:

#include <ESP8266WiFi.h> const char* ssid = "vaš_SSID"; const char* lozinka = "vaša_PASSWORD"; const char* serverName = "vaš_server_IP_ili_domen"; const int serverPort = 80; WiFiClient klijent; void setup() { Serial.begin(115200); WiFi.begin(ssid, lozinka); while (WiFi.status() != WL_CONNECTED) { kašnjenje(1000); Serial.println("Povezivanje na WiFi..."); } Serial.println("Povezano na WiFi"); } void loop() { if (client.connect(serverName, serverPort)) { String data = "sensor_value=123"; // Zamijenite 123 stvarnim podacima senzora client.print("POST /data.php HTTP/1.1\r\n"); client.print("Host: " + String(ime servera) + "\r\n"); client.print("Sadržaj - Tip: aplikacija/x - www - obrazac - urlencoded\r\n"); client.print("Sadržaj - Dužina: " + String(data.length()) + "\r\n"); client.print("\r\n"); client.print(podaci); client.stop(); } kašnjenje (5000); }

Ovaj kod se povezuje na Wi-Fi mrežu i šalje podatke senzora na server koristeći HTTP POST metod.

Uključivanje dodatnih funkcija

Osim detekcije dima i bežične komunikacije, pametni detektori dima mogu imati i druge karakteristike. Na primjer, mogu pratiti temperaturu i vlažnost. Ovo zahtijeva dodavanje dodatnih senzora i pisanje koda za čitanje i obradu njihovih podataka.

Senzori temperature poput DHT11 ili DHT22 mogu se lako integrirati s mikrokontrolerom. Evo primjera kako očitati podatke o temperaturi i vlažnosti pomoću DHT11 senzora:

#include <DHT.h> #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); dht.begin(); } void loop() { float humidity = dht.readHumidity(); temperatura plutanja = dht.readTemperature(); if (isnan(vlažnost) || isnan(temperatura)) { Serial.println("Neuspjelo čitanje sa DHT senzora!"); povratak; } Serial.print("Vlažnost: "); Serial.print(vlažnost); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(temperatura); Serial.println(" *C"); kašnjenje (2000); }

Testiranje i kalibracija

Nakon programiranja, temeljno testiranje i kalibracija su neophodni. Testiranje uključuje simuliranje različitih nivoa dima, temperature i vlažnosti kako bi se osiguralo da detektor radi ispravno. Kalibracija je neophodna za podešavanje pragova senzora i drugih parametara kako bi se osigurala precizna detekcija.

11352

Naša ponuda proizvoda

Kao dobavljač detektora dima požara, nudimo niz visokokvalitetnih proizvoda. Na primjer, našeCE detektor dimacertificiran je da ispunjava evropske sigurnosne standarde. Pouzdan je izbor za stambene i komercijalne aplikacije. Naš10 godina detektor dimapruža dugotrajnu zaštitu uz minimalno održavanje. I našeCertificirani dimni alarmje dizajniran da ponudi bezbrižnost sa svojim strogim procesom sertifikacije.

Zaključak

Programiranje pametnog detektora dima od požara je složen, ali isplativ proces. Zahtijeva kombinaciju hardverskih i softverskih vještina, kao i duboko razumijevanje sigurnosnih zahtjeva. Prateći gore navedene korake, možemo stvoriti pouzdan i efikasan pametni detektor dima.

Ako ste zainteresirani za kupovinu naših detektora dima za požar ili imate bilo kakva pitanja o našim proizvodima, preporučujemo vam da nam se obratite za daljnju raspravu i pregovore o nabavci.

Reference

  • Arduino dokumentacija. Arduino, https://www.arduino.cc/en/Reference/HomePage.
  • ESP8266 Dokumentacija. Espressif Systems, https://www.espressif.com/en/products/socs/esp8266/resources.
  • Dokumentacija biblioteke DHT senzora. Adafruit, https://learn.adafruit.com/dht.
Pošaljite upit