A tűzjelző rendszerek nagyon elterjedtek a kereskedelmi épületekben és a gyárakban, ezek az eszközök általában olyan érzékelőcsoportot tartalmaznak, amely folyamatosan figyeli az épület bármely lángját, gázt vagy tüzet, és riasztást vált ki, ha ezek bármelyikét észleli. A tűz észlelésének egyik legegyszerűbb módja az IR lángérzékelő használata, ezeknek az érzékelőknek IR fotodiódája van, amely érzékeny az IR fényre. Tűz esetén a tűz nemcsak hőt termel, hanem IR-sugarakat is kibocsát, igen, minden égő láng valamilyen szintű IR-fényt bocsát ki, ez a fény nem látható az emberi szem számára, de a lángérzékelőnk képes érzékelni és figyelmezteti az Arduino-hoz hasonló mikrovezérlőt, hogy tüzet észleltek.
Ebben a cikkben összekapcsoljuk a lángérzékelőt az Arduino-val, és megtanuljuk a Tűzjelző rendszer felépítésének összes lépését az Arduino és a lángérzékelő használatával. A lángérzékelő modul rendelkezik egy fénydiódával a fény érzékelésére és egy op-erősítővel az érzékenység szabályozására. Tűz észlelésére és HIGH jelzésre szolgál az észleléskor. Arduino beolvassa a jelet, és riasztást nyújt a hangjelző és a LED bekapcsolásával. Az itt használt lángérzékelő IR alapú lángérzékelő. Tűzoltó robotunkban ugyanazt a koncepciót használtuk a tűz észlelésére is, ha érdekli, ellenőrizheti azt is.
Lángérzékelő
A lángérzékelő olyan érzékelő, amelyet láng vagy tűz észlelésére és reagálására terveztek. Az észlelt lángra adott válaszok a telepítéstől függenek, de magukban foglalhatják a riasztást, az üzemanyag-vezeték (például propán vagy földgázvezeték) deaktiválását és a tűzoltó rendszer aktiválását. Az ebben a projektben használt IR lángérzékelő az alábbiakban látható, ezeket az érzékelőket néha Tűzérzékelő modulnak vagy lángérzékelő érzékelőnek is hívják.

Különböző típusú lángfelderítési módszerek léteznek. Néhány közülük: ultraibolya detektor, közel infravörös tömb detektor, infravörös (IR) detektor, infravörös hőkamerák, UV / IR detektor stb.
Ha tűz ég, kis mennyiségű infravörös fényt bocsát ki, ezt a fényt az érzékelő modul fotodióda (IR vevő) veszi fel. Ezután Op-Amp segítségével ellenőrizzük az IR vevő feszültségének változását, így ha tüzet észlelünk, a kimeneti tű (DO) 0V (LOW) értéket ad, és ha nincs tűz, akkor a kimeneti tű lesz 5V (MAGAS).
Ebben a projektben IR alapú lángérzékelőt használunk. Az YG1006 érzékelőn alapul, amely nagy sebességű és nagy érzékenységű NPN szilícium fototranzisztor. Az infravörös fényt 700 nm-től 1000 nm-ig terjedő hullámhosszal képes felismerni, detektálási szöge pedig körülbelül 60 °. A lángérzékelő modul egy fotodiódából (IR vevő), ellenállásból, kondenzátorból, potenciométerből és az LM393 komparátorból áll egy integrált áramkörben. Az érzékenység a fedélzeti potenciométer változtatásával állítható be. Az üzemi feszültség 3,3 V és 5 V DC között van, digitális kimenettel. A magas kimeneti logika láng vagy tűz jelenlétét jelzi. Az alacsony kimeneti logika azt jelzi, hogy nincs láng vagy tűz.
Az alábbiakban a Lángérzékelő modul csapleírása található:
| 
 Pin  | 
 Leírás  | 
| 
 Vcc  | 
 3,3 - 5 V tápegység  | 
| 
 GND  | 
 Talaj  | 
| 
 Dout  | 
 Digitális kimenet  | 
Lángérzékelők alkalmazásai
- Hidrogén állomások
 - Égők égésfigyelői
 - Olaj- és gázvezetékek
 - Gépjárműgyártó létesítmények
 - Nukleáris létesítmények
 - Repülőgép-hangárok
 - Turbina burkolatok
 
Szükséges alkatrészek
- Arduino Uno (bármely Arduino tábla használható)
 - Lángérzékelő modul
 - VEZETTE
 - Berregő
 - Ellenállás
 - Jumper huzalok
 
Kördiagramm
Az alábbi kép az Arduino tűzérzékelő kapcsolási rajza, amely bemutatja, hogyan kell összekapcsolni a tűzérzékelő modult az Arduino-val.

Lángérzékelő működése az Arduinóval
Az Arduino Uno egy nyílt forráskódú mikrokontroller tábla, amely az ATmega328p mikrokontrolleren alapul. 14 digitális érintkezõvel rendelkezik (ebből 6 érintkezõ használható PWM kimenetként), 6 analóg bemenettel, fedélzeti feszültségszabályozókkal stb. 16MHz órajel frekvencián működik. Az Arduino Uno támogatja a Serial, I2C, SPI kommunikációt más eszközökkel való kommunikációhoz. Az alábbi táblázat az Arduino Uno műszaki leírását mutatja.
| 
 Mikrovezérlő  | 
 ATmega328p  | 
| 
 Üzemi feszültség  | 
 5V  | 
| 
 Bemeneti feszültség  | 
 7-12 V (ajánlott)  | 
| 
 Digitális I / O csapok  | 
 14  | 
| 
 Analóg csapok  | 
 6.  | 
| 
 Flashmemória  | 
 32 KB  | 
| 
 SRAM  | 
 2KB  | 
| 
 EEPROM  | 
 1 KB  | 
| 
 Óra sebessége  | 
 16MHz  | 
A lángérzékelő tűz vagy láng jelenlétét érzékeli a láng által kibocsátott infravörös (IR) hullámhossz alapján. Az 1. logikát adja kimenetnek, ha lángot észlel, ellenkező esetben a 0 logikát adja kimenetként. Az Arduino Uno ellenőrzi az érzékelő kimeneti tüskéjének logikai szintjét, és további feladatokat hajt végre, például aktiválja a hangjelzőt és a LED-et, riasztási üzenetet küld.

Ellenőrizze a többi tűzjelző projektünket is:
- Tűz riasztás termisztor használatával
 - Tűzjelző rendszer AVR mikrovezérlővel
 - Arduino alapú tűzoltó robot
 
Kódmagyarázat
A projekt teljes Arduino kódja a cikk végén található. A kódot apró, értelmes darabokra osztják, és az alábbiakban elmagyarázzák.
A kód ezen részében meghatározzuk az Arduino-hoz csatlakoztatott lángérzékelő, LED és hangjelző csapjait. A lángérzékelő az Arduino 4-es digitális tűjéhez csatlakozik. A hangjelző az Arduino 8. digitális csatlakozójához van csatlakoztatva. A LED az Arduino 7. digitális csatlakozójához csatlakozik.
A „ flame_detected ” változót a lángérzékelőből kiolvasott digitális érték tárolására használják. Ezen érték alapján érzékeljük a láng jelenlétét.
int hangjelző = 8; int LED = 7; int lángérzékelő = 4; int láng_detektálva;
A kód ezen részében meg fogjuk állítani az Arduino digitális csapjainak állapotát és konfigurálni
Baud sebesség a soros kommunikációval a PC-vel a lángérzékelő áramkör állapotának megjelenítéséhez.
void setup () { Serial.begin (9600); pinMode (hangjelző, OUTPUT); pinMode (LED, OUTPUT); pinMode (lángérzékelő, INPUT); }
Ez a kódsor beolvassa a lángérzékelő digitális kimenetét és eltárolja a „ flame_detected ” változóban.
láng_detektált = digitalRead (láng_érzékelő);
A „ flame_detected ” könyvtárban tárolt érték alapján be kell kapcsolnunk a hangjelzőt és a LED-et. A kód ezen részében összehasonlítjuk a „ flame_detected ” mappában tárolt értéket 0-val vagy 1-vel.
Ha értéke 1, akkor azt jelzi, hogy lángot észleltek. Bekapcsolnunk kell a hangjelzőt és a LED-et, majd figyelmeztető üzenetet kell megjelenítenünk az Arduino IDE soros monitorján.
Ha értéke 0, akkor azt jelzi, hogy nem észleltek lángot, ezért ki kell kapcsolnunk a LED-et és a hangjelzőt. Ezt a folyamatot másodpercenként megismételjük a tűz vagy láng jelenlétének azonosítására.
if (flame_detected == 1) { Serial.println ("Lángot észleltünk… azonnal cselekedjünk."); digitalWrite (hangjelző, HIGH); digitalWrite (LED, HIGH); késés (200); digitalWrite (LED, LOW); késés (200); } else { Serial.println ("Nincs láng észlelve. maradjon hűvös"); digitalWrite (hangjelző, LOW); digitalWrite (LED, LOW); } késleltetés (1000);
Ezen koncepció alapján építettünk egy tűzoltó robotot, amely automatikusan észleli a tüzet és kiszivattyúzza a vizet a tűz eloltására. Most már tudja, hogyan kell elvégezni a tűz észlelését az Arduino és a lángérzékelő segítségével, remélem, tetszett neked megtanulni, ha bármilyen kérdése van, hagyja őket az alábbi megjegyzés részben.
Ellenőrizze az alábbi teljes kódot és bemutató videót.
