Проект 11: датчик пламени


Датчик пламени представляет собой инфракрасный приёмник и  применяется в робототехнике для поиска источника открытого огня. Подобный датчик (запечатлён на фотографии ниже) обладает достаточно высокой чувствительностью к пламени.

Проект 11: датчик пламени

Принцип работы:

Функционирование датчика основывается на том, что инфракрасные лучи очень чувствительны к огню. Датчик оснащён специально разработанным ИК-приёмником, который позволяет обнаружить пламя, при этом яркость пламени влияет на уровень регистрируемого сигнала. Далее сигнал подаётся на вход в центральный процессор и обрабатывается соответствующим образом.

Подключение датчика

            Один, более короткий, контакт обладает отрицательной полярностью, другой – положительной.  “Минус” необходимо подключить к 5В-входу, “плюс” к резистору, а другой конец резистора нужно соединить с землёй (GND). Один из концов провода соединяется с зажимом (clip), который подключён к “плюсу” датчика, а другой вставляется в аналоговый вход/выход (pin). Схема соединения компонентов показана ниже.

Проект 11: датчик пламени

Необходимое оборудование:

1) датчик пламени – 1 шт;

2) пищалка (buzzer) – 1 шт;

3) резистор 10K – 1 шт;

4) соединительные провода – несколько шт.

Подключение оборудования

1) Подключение пищалки: плату контроллера, макетную плату и USB-кабель необходимо соединить так, как указано в руководстве Arduino. Пищалка подключается к цифровому входу/выходу 8.

2) Подключение датчика пламени: датчик нужно подключить к аналоговому входу/выходу 0.

Подключение компонентов при использовании платы 2560 R3:

Проект 11: датчик пламени

Принцип проведения эксперимента

По мере приближения к источнику огня значение напряжения, регистрируемое аналоговым портом, начинает изменяться. Если воспользоваться мультиметром, то можно заметить, что вдали от огня напряжение составляет примерно 0,3 В. При наличии рядом пламени показания мультиметра будут находиться уже около отметки в 1,0 В, при этом чем ближе располагается источник огня к датчику, тем больше будет регистрируемое значение напряжения.

Соответственно, в начале программы целесообразно объявить некоторую переменную, которая хранила бы значение напряжения i, соответствующее отсутствию пламени. Затем можно последовательно считывать регистрируемое аналоговым входом/выходом напряжение (обозначим его j), рассчитывать разность  k = j – i и сравнивать такую разность с напряжением в 0,6 В, чтобы определить, имеется ли рядом источник огня. Если поблизости обнаружено пламя, пищалка должна подать звуковой сигнал для оповещения об этом.

Программа-пример

//////////////////////////////////////////////////////////

int flame=0;// использование аналогового входа/выхода 0 для датчика

int Beep=9;// использование цифрового входа/выхода 9 для пищалки

int val=0;// объявление переменной

void setup()

{

pinMode(Beep,OUTPUT);// пищалка применяется в качестве “выхода”

pinMode(flame,INPUT);// датчик пламени применяется в качестве “входа”

Serial.begin(9600);// задание скорости передачи данных (бод) на уровне //”9600”

}

void loop()

{

val=analogRead(flame);// считывание аналогового значения с датчика

Serial.println(val);// вывод считанного значения на экран

if(val>=600)// если аналоговое значение превышает 600, включается пищалка

{

digitalWrite(Beep,HIGH);

}else

{

digitalWrite(Beep,LOW);

}

delay(500);

}

////////////////////////////////////////////////////////////////

Результат

Программа, код которой приведён выше, может служить для объявления пожарной тревоги. Если регистрируемые значения напряжения не выходят за заданные границы, никаких действий не производится, но при обнаружении огня тревога включается незамедлительно.