Необходимое оборудование
Плата Arduino UNO * 1
Датчик Пламени * 1
Активный Зуммер * 1
Провода -перемычки для макетной платы * 6
USB - кабель * 1
Немного знаний
Датчик пламени основан на принципе высокой чувствительности инфракрасного излучения к пламени. Он имеет инфракрасный приемный трубопровод, специально разработанный для обнаружения огня, и преобразует яркость пламени в колеблющийся уровень сигнала. Затем сигналы подаются в центральный процессор и обрабатываются соответствующим образом. Короткий вывод приемного триода предназначен для отрицательного, другой - для положительного. Подключите отрицательный к 5В контакту, положительный - к резистору; подключите другой конец резистора к GND, один конец провода -перемычки к зажиму, который электрически соединен с положительным контактом датчика, другой конец - к аналоговому контакту. Как показано ниже
Принцип Эксперимента
Когда вы приближаетесь к огню, значение напряжения, считываемое с аналогового порта, будет отличаться. Если вы используете мультиметр, вы можете увидеть, что когда огня нет поблизости, напряжение составляет около 0.3В; когда огонь приближается, напряжение составляет около 1.0В. Чем ближе огонь, тем выше напряжение. Поэтому в начале программы вы можете инициализировать значение напряжения i (значение без огня); затем постоянно считывать аналоговое значение напряжения j и получать разницу k = j - i; сравнить k с 0.6В (123 в двоичной системе), чтобы определить, есть ли приближающийся огонь или нет; если да, то зуммер будет гудеть.
Подключение Схемы

Пример Кода
//////////////////////////////////////////////////////////////////
//fire sensor
int sensorPin = A0; // выбрать аналоговый контакт 0 для датчика
int sensorValue = 0; // инициализация переменной
int led = 7; // выбрать цифровой контакт 9 для LED
int buzzer = 9; // выбрать цифровой контакт 12 для зуммера
void setup() {
// declare the ledPin and buzzer as an OUTPUT:
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println("Welcome to Alash electronics Flame Sensor example");
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
if (sensorValue < 100)
{
Serial.println("Fire Detected");
Serial.println("LED on");
digitalWrite(led, HIGH);
digitalWrite(buzzer, HIGH);
delay(1000);
}
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
delay(1000);
}
//////////////////////////////////////////////////////////////////
Результат Теста
Эта программа может имитировать сигнализацию при возникновении пожара. Все нормально, когда огня нет; когда появляется огонь, сразу же срабатывает сигнализация.