4.7. Подключение модуля датчика огня
Модуль датчика огня Flame Sensor (рис. 4.) позволяет фиксировать наличие пламени или другого источника огня в прямой видимости перед собой.
Датчик имеет 4 контакта (питание, земля, аналоговый вывод и цифровой вывод, срабатывание которого (выдачу сигнала HIGH) можно настроить с помощью потенциометра).Номинальное напряжение питания – 5 В. Сенсор определяет наличие огня в углу чувствительности 60 °. Показания представляются в виде аналогового сигнала. Рабочая температура датчика пламени составляет от -25 до +85 градусов по Цельсию.

Рис. 4.34. Модуль датчика огня Flame Sensor.

Рассмотрим подключение модуля Flame Sensor к плате Arduino Mega и модулю NodeMcu ESP8266.

4.7.1. Подключение модуля датчика Flame Sensor к плате Arduino Mega

Подключение модуля датчика Flame Sensor к плате Arduino Mega мы будем производить по аналоговому входу. Питание для датчика берем также с платы Arduino. Схема соединений представлена на рис. 4.35.

Рис. 4.35. Схема подключений модуля датчика огня Flame Sensor к плате Arduino Mega

Загрузим на плату Arduino Mega скетч получения данных с модуля датчика Flame Sensor и вывода в последовательный порт Arduino. Процедура определения по данным, приходящим с аналогового входа get_data_flame().
Содержимое скетча представлено в листинге 4.14.
Листинг 4.14

#define INTERVAL_GET_DATA 2000  // интервала измерений, мс 
// пин, к которому подключен датчик огня flame sensor
#define FLAMEPIN         A12

// переменная для интервала измерений
unsigned long millis_int1=0;
 
void setup() {
  // открываем последовательный порт
  Serial.begin(9600);
}
 
void loop() {
   if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
      // получение данных c датчика mq7
      float  flame= get_data_flame();
      // выводим значения flame sensor
      Serial.print("flame=");
      Serial.print(flame);
      // старт интервала отсчета
      millis_int1=millis();
   }
}

// получение данных с датчика flame sensor
float get_data_flame()  {

  // получение значения 
  float value=analogRead(FLAMEPIN);
  
  return (float)value;
} 


Загрузим скетч на плату Arduino Mega, откроем монитор последовательного порта и увидите вывод данных с модуля датчика огня Flame Sensor (рис. 4.36).


Рис. 4.36. Вывод данных модуля датчика огня Flame Sensor в монитор последовательного порта.

Скачать данный скетч можно на сайте www.arduino-kit.ru по ссылке .

4.7.2. Подключение модуля датчика Flame Sensor к модулю NodeMcu ESP8266

Теперь рассмотрим подключение модуля датчика Flame Sensor к модулю NodeMcu ESP8266. Датчик MQ-7  подключаем к входу y3 мультиплексора. Для выбора аналогового входа мультиплексора используем контакты D5, D7, D8 модуля Node Mcu. Схема соединений представлена на рис. 4.37.

Рис. 4.37. Схема подключений модуля датчика огня Flame Sensor к NodeMcu ESP8266

Загрузим на модуль NodeMcu скетч получения данных с модуля датчика Flame Sensor и вывода в последовательный порт Arduino. Для выбора аналогового входа мультиплексора y4 подаем на контакты D5, D7 сигнал низкого уровня LOW, на контакт D8 сигнал высокого уровня HIGH. Процедура определения по данным, приходящим с аналогового входа get_data_flame().
Содержимое скетча представлено в листинге 4.15.
Листинг 4.15

#define INTERVAL_GET_DATA 2000  // интервала измерений, мс 
// аналоговый пин
#define FLAMEPIN         A0

// переменная для интервала измерений
unsigned long millis_int1=0;
 
void setup() {
  // входы подключения к мультиплексору D5, D7, D8 (GPIO 14, 13, 15) 
  // как OUTPUT
  pinMode(14,OUTPUT);
  pinMode(13,OUTPUT);
  pinMode(15,OUTPUT);  
  // открываем последовательный порт
  Serial.begin(9600);
}
 
void loop() {
   if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
      // выбор входа мультиплексора CD4051 – y4 (100)
      digitalWrite(14,LOW);
      digitalWrite(13,LOW);
      digitalWrite(15,HIGH);     
      // получение данных c датчика mq7
      float  flame= get_data_flame();
      // выводим значения flame sensor
      Serial.print("flame=");
      Serial.print(flame);
      // старт интервала отсчета
      millis_int1=millis();
   }
}

// получение данных с датчика flame sensor
float get_data_flame()  {
  // получение значения 
  float value=analogRead(FLAMEPIN);  
  return (float)value;
}


Загрузим скетч на модуль Node Mcu, откроем монитор последовательного порта и увидите вывод данных с модуля датчика огня Flame Sensor (рис. 4.38).

 

Рис. 4.38. Вывод данных данных модуля датчика огня Flame Sensor в монитор последовательного порта

Скачать данный скетч можно на сайте www.arduino-kit.ru по ссылке .



1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33 


Вверх