Описание:
“KY-026” – датчик пламени реагирует на наличие инфракрасного излучения (открытый огонь) и наиболее чувствителен к длинам волн от 760 нм до 1100 нм. Этот детектор огня имеет два выхода – цифровой и аналоговый и легко подключается к платам “Arduino”, или другим микроконтроллерам. На плате имеется 2 светодиода – индикации питания и индикации выхода с компаратора при обнаружении огня.
Модуль выполнен на микросхеме LM393. При отсутствии пламени на аналоговом выходе имеется напряжение 4,2 В, а при появлении огня на расстоянии до 1 метра, на аналоговом выходе – 0,2 В (при напряжении питания 5 В).
Не рекомендуется размещать устройство слишком близко к огню, так как пластик фотодиода может расплавиться или воспламениться. Датчик пламени должен находиться на разумном расстоянии от источника пламени.
Характеристики KY-026:
- угол обнаружения пламени, град: 60
- дальность обнаружения огня, м: 1
- напряжение питания, В: 3- 5.5
- размеры (длина x ширина), мм : 36 x 16
Подключение датчика огня “KY-026”:
- “A0” – выходное напряжение в реальном времени (аналоговый выход)
- “G” – GND (общий)
- “+” – плюс питания
- “D0” – цифровой выход, когда температура пламени превысит определенный порог, на нем появляется напряжение высокого уровня (порог срабатывания регулируется потенциометром)
Используемые детали:
инфракрасный диод, двойной компаратор – LM393, потенциометр
Пример кода (скетч) для “KY-026” и Arduino:
//KY-026 датчик пламени
// umnyjdomik.ru
int led = 13 ;// назначение пина встроенного светодиода
int flameDigitalPin = 10; // назначение пина цифрового входа датчика
int flameAnalogPin = A0; // назначение пина аналогового входа датчика
int valueDigital ;// переменная для цифрового значения
float valueAnalog; //переменная для аналогового значения
void setup ()
{
pinMode (led, OUTPUT) ;
pinMode (flameDigitalPin, INPUT) ;
pinMode (flameAnalogPin, INPUT) ;
Serial.begin(9600);
}
void loop ()
{
valueAnalog = analogRead(flameAnalogPin);
Serial.println(valueAnalog); // вывод аналогового значения в монитор порта
valueDigital = digitalRead (flameDigitalPin) ;// чтение цифрового значения
if (valueDigital == HIGH) // когда на цифровом входе высокий уровень светодиод горит
{
digitalWrite (led, HIGH);
}
else
{
digitalWrite (led, LOW);
}
delay(1000);
}