Blog

Kako mogu programirati pametni detektor dima?

Nov 25, 2025Ostavite poruku

Kao dobavljač detektora dima od požara, imao sam duboko ukorijenjenu strast prema tehnologiji koja stoji iza ovih uređaja za spašavanje života. Programiranje pametnog detektora dima požara je pedantan proces koji kombinira razumijevanje hardvera, razvoj softvera i predanost sigurnosti. U ovom blogu provest ću vas kroz korake koje poduzimam za programiranje pametnog detektora dima od požara.

Razumijevanje osnova detektora dima

Prije nego što se upustite u programiranje, važno je razumjeti kako detektor dima radi. Općenito postoje dvije vrste: ionizacijski i fotoelektrični. Ionizacijski detektori koriste malu količinu radioaktivnog materijala za ionizaciju zraka unutar detekcijske komore. Kada dim uđe u komoru, on prekida protok iona, aktivirajući alarm. Fotoelektrični detektori, s druge strane, koriste izvor svjetlosti i senzor svjetlosti. Kada čestice dima uđu u komoru, raspršuju svjetlost, a senzor detektira promjenu i uključuje alarm.

Za pametni detektor dima dodaju se dodatne komponente, poput mikrokontrolera, bežičnih komunikacijskih modula (poput Wi-Fi ili ZigBee) i senzora za druge čimbenike okoliša poput temperature i vlažnosti.

Odabir pravog mikrokontrolera

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

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

Programiranje sučelja senzora

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

Evo jednostavnog primjera kako očitati analogni senzor pomoću Arduina:

const int senzorPin = A0; // Spojite senzor na analogni pin A0 void setup() { Serial.begin(9600); // Inicijaliziraj serijsku komunikaciju za otklanjanje pogreš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 te podatke za donošenje odluka o tome hoćemo li pokrenuti alarm.

Implementacija alarmne logike

Kad imamo podatke senzora, moramo implementirati alarmnu logiku. To uključuje postavljanje granične vrijednosti za podatke senzora. Ako vrijednost senzora premaši ovaj prag, to znači da u zraku ima značajne količine dima i alarm bi se trebao aktivirati.

const int senzorPin = A0; const int alarmPin = 13; // Povežite alarm na digitalni pin 13 const int threshold = 500; // Postavi vrijednost praga void setup() { pinMode(alarmPin, OUTPUT); // Postavi alarmni pin 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; inače je isključeno.

Dodavanje bežične komunikacije

Jedna od ključnih značajki pametnog detektora dima je mogućnost bežične komunikacije. To omogućuje detektoru slanje upozorenja aplikaciji za pametni telefon ili središnjem nadzornom sustavu.

Za dodavanje Wi-Fi komunikacije često koristim Wi-Fi modul poput ESP8266 ili ESP32. Ovi se moduli mogu jednostavno integrirati s mikrokontrolerom. Prvi korak je spojiti modul na mikrokontroler i konfigurirati ga za spajanje na Wi-Fi mrežu.

Evo primjera kako poslati podatke senzora na poslužitelj pomoću ESP8266:

#include <ESP8266WiFi.h> const char* ssid = "vaš_SSID"; const char* lozinka = "vaša_LOZINKA"; const char* serverName = "vaš_poslužitelj_IP_ili_domena"; 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"; // Zamijeni 123 stvarnim podacima senzora client.print("POST /data.php HTTP/1.1\r\n"); client.print("Host: " + String(serverName) + "\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"); klijent.ispis(podaci); klijent.stop(); } kašnjenje (5000); }

Ovaj se kod povezuje s Wi-Fi mrežom i šalje podatke senzora na poslužitelj koristeći HTTP POST metodu.

Uključivanje dodatnih značajki

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

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

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

Ispitivanje i kalibracija

Nakon programiranja neophodno je temeljito testiranje i kalibracija. Testiranje uključuje simulaciju različitih razina dima, temperature i vlažnosti kako bi se osiguralo da detektor ispravno radi. Kalibracija je neophodna za podešavanje pragova senzora i drugih parametara kako bi se osigurala točna detekcija.

11352

Naša ponuda proizvoda

Kao dobavljač požarnih detektora dima, nudimo niz visokokvalitetnih proizvoda. Na primjer, našCE detektor dimaje certificiran da zadovoljava europske sigurnosne standarde. Pouzdan je izbor za stambene i komercijalne primjene. Naše10-godišnji detektor dimapruža dugotrajnu zaštitu uz minimalno održavanje. I našeCertificirani alarm za dimje dizajniran da ponudi bezbrižnost svojim strogim postupkom certificiranja.

Zaključak

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

Ako ste zainteresirani za kupnju naših detektora dima ili imate bilo kakvih pitanja o našim proizvodima, potičemo vas da nam se obratite radi daljnje rasprave i pregovora o nabavi.

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