Системи пожежної сигналізації дуже поширені в комерційних будівлях і на заводах, ці пристрої зазвичай містять групу датчиків, яка постійно контролює наявність полум’я, газу чи пожежі в будівлі і спрацьовує сигнал тривоги, якщо виявляє будь-який із них. Одним з найпростіших способів виявити вогонь є використання ІК-датчика полум'я, ці датчики мають ІЧ-фотодіод, чутливий до ІЧ-світла. Тепер, у разі пожежі, вогонь не тільки буде виробляти тепло, але і випромінюватиме ІЧ-промені, так, кожне палаюче полум’я буде випромінювати певний рівень ІЧ-світла, це світло не видно для людських очей, але наш датчик полум’я може його виявити і попередити мікроконтролер, як Arduino, про виявлення пожежі.
У цій статті ми взаємодіємо датчик полум’я з Arduino і вивчаємо всі кроки для побудови пожежної сигналізації за допомогою Arduino та датчика полум’я. Модуль датчика полум'я має фотодіод для виявлення світла та підсилювач для управління чутливістю. Він використовується для виявлення пожежі та подання ВИСОКОГО сигналу при виявленні. Arduino зчитує сигнал і подає попередження, увімкнувши зуммер і світлодіод. Датчик полум’я, що використовується тут, є датчиком полум’я на основі ІЧ. Ми також використовували ту ж концепцію для виявлення вогню у нашому протипожежному роботі, ви також можете перевірити це, якщо вам це цікаво.
Датчик полум'я
Детектор полум'я являє собою датчик призначений для виявлення і реагувати на присутність полум'я або пожежі. Відповіді на виявлене полум’я залежать від установки, але можуть включати подачу сигналу тривоги, деактивацію паливної магістралі (наприклад, пропану або газопроводу) та активацію системи пожежогасіння. ІК-датчик полум'я, що використовується в цьому проекті, показаний нижче, ці датчики іноді також називають модулем датчика пожежі або датчиком полум’я.
Існують різні типи методів виявлення полум'я. Деякі з них: ультрафіолетовий детектор, ближній ІЧ-детектор, інфрачервоний (ІЧ-детектор), інфрачервоні теплові камери, УФ / ІЧ-детектор тощо.
Коли вогонь горить, він випромінює невелику кількість інфрачервоного світла, це світло буде отримувати Фотодіод (ІЧ-приймач) на модулі датчика. Потім ми використовуємо підсилювач Op-A для перевірки на зміну напруги на ІЧ-приймачі, так що при виявленні пожежі вихідний штифт (DO) видасть 0 В (НИЗЬКИЙ), а якщо немає пожежі, вихідний штифт буде 5 В (ВИСОКО).
У цьому проекті ми використовуємо інфрачервоний датчик полум'я. Він заснований на датчику YG1006, який є високошвидкісним та високочутливим кремнієвим фототранзистором NPN. Він може виявляти інфрачервоне світло з довжиною хвилі від 700 нм до 1000 нм, а його кут виявлення становить близько 60 °. Модуль датчика полум'я складається з фотодіода (ІЧ-приймача), резистора, конденсатора, потенціометра та компаратора LM393 в інтегральній схемі. Чутливість можна регулювати, змінюючи вбудований потенціометр. Робоча напруга становить від 3,3 до 5 в постійного струму, з цифровим виходом. Логіка на виході свідчить про наявність полум’я або вогню. Логіка з низьким рівнем потужності вказує на відсутність полум'я або вогню.
Нижче наведено контактний опис модуля датчика полум'я:
PIN-код |
Опис |
Vcc |
3,3 - 5В живлення |
GND |
Земля |
Даут |
Цифровий вихід |
Застосування датчиків полум’я
- Водневі станції
- Монітори згоряння пальників
- Нафтогазопроводи
- Автомобільні виробничі потужності
- Ядерні об'єкти
- Авіаційні ангари
- Турбінні корпуси
Потрібні компоненти
- Arduino Uno (може використовуватися будь-яка плата Arduino)
- Модуль датчика полум'я
- СВІТЛОДІОДНИЙ
- Зумер
- Резистор
- Провід перемички
Кругова діаграма
Нижче наведено схему схеми датчика пожежі Arduino, вона показує, як взаємодіяти модуль пожежного датчика з Arduino.
Робота датчика полум'я з Arduino
Arduino Uno - це плата мікроконтролера з відкритим кодом, заснована на мікроконтролері ATmega328p. Він має 14 цифрових висновків (з них 6 висновків можна використовувати як ШІМ-виходи), 6 аналогових входів, вбудовані регулятори напруги тощо. Arduino Uno має 32 КБ флеш-пам'яті, 2 КБ SRAM і 1 КБ EEPROM. Він працює на тактовій частоті 16 МГц. Arduino Uno підтримує послідовний, I2C, SPI-зв'язок для зв'язку з іншими пристроями. У таблиці нижче наведено технічні характеристики Arduino Uno.
Мікроконтролер |
ATmega328p |
Робоча напруга |
5 В |
Вхідна напруга |
7-12 В (рекомендується) |
Цифрові штифти вводу-виводу |
14 |
Аналогові шпильки |
6 |
Флеш-пам'ять |
32 КБ |
SRAM |
2 КБ |
EEPROM |
1 КБ |
Тактова частота |
16 МГц |
Датчик полум'я виявляє наявність вогню або полум'я, грунтуючись на (ІК) довжини хвиль інфрачервоного випромінюваних полум'я. Він дає логіку 1 як вихід, якщо виявлено полум’я, інакше, він дає логіку 0 як вихід. Arduino Uno перевіряє рівень логіки на вихідному штифті датчика і виконує подальші завдання, такі як активація зумера та світлодіода, надсилання попереджувального повідомлення.
Також перевірте інші наші проекти пожежної сигналізації:
- Пожежна сигналізація за допомогою термістора
- Система пожежної сигналізації за допомогою мікроконтролера AVR
- Робот для пожежогасіння на базі Arduino
Пояснення коду
Повний код Arduino для цього проекту подано в кінці цієї статті. Код розділений на невеликі значущі фрагменти і пояснено нижче.
У цій частині коду ми визначимо висновки для датчика полум'я, світлодіода та зумера, які підключені до Arduino. Датчик полум'я підключений до цифрового висновку 4 Arduino. Звуковий сигнал підключений до цифрового висновку 8 Arduino. Світлодіод підключений до цифрового виводу 7 Arduino.
Змінна “ flame_detected ” використовується для збереження цифрового значення, зчитуваного з датчика полум'я. Виходячи з цього значення, ми виявимо наявність полум’я.
зуммер int = 8; int LED = 7; int flame_sensor = 4; int flame_detected;
У цій частині коду ми збираємося встановити статус цифрових контактів Arduino та налаштувати
Швидкість передачі даних для послідовного зв'язку з ПК для відображення стану схеми виявлення полум'я.
void setup () { Serial.begin (9600); pinMode (зумер, ВИХІД); pinMode (світлодіод, ВИХІД); pinMode (сенсор полум'я, INPUT); }
Цей рядок коду зчитує цифровий вивід датчика полум'я та зберігає його у змінній “ flame_detected ”.
flame_detected = digitalRead (flame_sensor);
Виходячи зі значення, збереженого в “ flame_detected ”, ми повинні увімкнути зуммер та світлодіод. У цій частині коду ми порівнюємо значення, збережене у “ flame_detected ”, з 0 або 1.
Якщо воно дорівнює 1, це означає, що полум'я виявлено. Нам слід увімкнути зуммер та світлодіод, а потім відобразити попереджувальне повідомлення на послідовному моніторі Arduino IDE.
Якщо воно дорівнює 0, це означає, що полум’я не виявлено, тому ми повинні вимкнути світлодіод та зумер. Цей процес повторюється щосекунди, щоб виявити наявність вогню або полум’я.
if (flame_detected == 1) { Serial.println ("Полум'я виявлено…! негайно вживай заходів."); digitalWrite (зумер, HIGH); digitalWrite (світлодіодний, високий); затримка (200); digitalWrite (LED, LOW); затримка (200); } else { Serial.println ("Полум'я не виявлено. залишайтеся холодним"); digitalWrite (зумер, LOW); digitalWrite (LED, LOW); } затримка (1000);
На основі цієї концепції ми створили протипожежного робота, який автоматично виявляє пожежу та викачує воду, щоб загасити вогонь. Тепер ви знаєте, як зробити виявлення пожежі за допомогою Arduino та датчика полум’я, сподіваємось, вам сподобалось це вивчати, якщо у вас виникли запитання, залиште їх у розділі коментарів нижче.
Перевірте повний код та демонстраційне відео нижче.