Датчик огня
Инфракрасный
датчик огня улавливает излучение в
диапазоне 760-1100 нм, свойственное пламени
свечи, например. На практике, такой
датчик реагирует не только на пламя, но
и на солнце, и даже на комнатные лампы.
Чтобы избежать паразитной засветки,
фотодиод необходимо закрывать с боковых
сторон непрозрачным материалом. Для
лучшей фильтрации посторонних источников
света, при детектировании пламени таким
датчиком, применяют алгоритм детектирования
низкой частоты. Это возможно благодаря
тому, что пламя свечи меняет свою
интенсивность с частотой 15-20 Гц.
Рисунок 14 – Датчик огня
У
цифрового датчика пламени, который мы
подключаем, есть всего три вывода:
–
Vcc – питание +5В;
–
Gnd – земля;
–
Out – сигнал.
В
листинге 5 представлен код для измерения
данных о пожаре с помощью освещённости
с помощью датчика огня, представленного
на рисунке 15. Результат работы кода
представлен на рисунке 16.
Листинг 5 – Код для съёма данных с
датчика огня ESP32
|
//
Пин 14 на ESP32
const
int flamePin = 14;
void
setup() {
Serial.begin(115200);
//
Датчик работает на вход
pinMode(flamePin,
INPUT);
Serial.println("Система
мониторинга огня запущена...");
}
void
loop() {
//
Читаем состояние (цифровой сигнал)
int
fireDetected = digitalRead(flamePin);
//
Внимание: большинство этих модулей
выдают 0, когда видят пламя
if
(fireDetected == LOW) {
Serial.println("!!!
ПОЖАР !!! ОБНАРУЖЕНО ПЛАМЯ !!!");
}
else {
Serial.println("Все
спокойно, огня нет.");
}
delay(200);
// Опрашиваем почаще для безопасности
}
|
Рисунок 15 – Подключенный датчика огня,
накрываемый рукой для снижения
освещённости, и освечиваемый фонариком
телефона для имитации пожара, на основе
платы ESP32
Рисунок 16 – Считывание огня в помещении,
в случае справа реакция датчика на
фонарик телефона в приближении для
имитации пожара
ВЫВОДЫ
Подключили
к плате ESP32 пять различных датчиков:
освещённости, влажности почвы, уровня
воды, горючих газов и огня. Для каждого
сенсора был написан код, считывающий
аналоговые или цифровые значения и
выводящий их в последовательный порт
Serial Monitor для отображения информации в
среде Arduino IDE.
В
процессе выполнения экспериментов мы
физически воздействовали на датчики,
чтобы имитировать изменение их состояния
и получить соответствующие изменения
показаний.