| 在本篇文章中,我们将火焰传感器与Arduino进行连接。简单地说,我们将使用火焰传感器和Arduino设计火灾探测器来检测火灾。传感器可以检测出从火焰中发出的760 nm – 1100 nm(纳米)红外光。大部分火焰传感器使用的是YG1006传感器,它是一种高速、高灵敏度的NPN硅光电晶体管。 
  
 火焰传感器 火焰传感器(Flame Sensor)可用于检测波长在760nm – 1100 nm范围内的火源或其他光源。它基于YG1006传感器,该传感器是一种高速、高灵敏度的NPN硅光电晶体管。由于其黑色环氧树脂,该传感器对红外辐射敏感。在消防机器人游戏中,传感器起着非常重要的作用,它可用作机器人的眼睛来寻找火源。 
  
 火焰传感器模块具有以下功能: –  工作电压为3.3 – 5V。 –  它为我们提供了模拟和数字输出。 –  带有指示灯,指示是否检测到火焰。 –  可以通过旋转电位器的顶部来更改阈值。 –  火焰探测距离,可以在0.8m内触发较轻的火焰测试,如果火焰强度高,则探测距离会增加。 –  火焰传感器模块的检测角度约为60度。 
 所需的组件 ●    Arduino Uno开发板 ●    火焰传感器 ●    蜂鸣器或LED指示灯 ●    面包板 ●    连接导线 
 电路连接图 使用火焰传感器和Arduino的火灾探测器的电路图如下所示: 
  
 项目工作过程 火焰传感器的输出引脚连接到Arduino的数字引脚8,当检测到火灾时,火焰传感器输出低电平,Arduino串口打印输出“FLAME , FLAME , FLAME”,同时连接在Arduino的3引脚的LED灯点亮。 
 程序/源代码 复制代码int led_pin = 13 ;// initializing the pin 9 as the led pin
int flame_sensor_pin = 8 ;// initializing pin 12 as the sensor output pin
int flame_pin = HIGH ; // state of sensor
void setup ( ) {
pinMode ( led_pin , OUTPUT ); // declaring led pin as output pin
pinMode ( flame_sensor_pin , INPUT ); // declaring sensor pin as input pin for Arduino
Serial.begin ( 9600 );// setting baud rate at 9600
}
void loop ( ) {
flame_pin = digitalRead ( flame_sensor_pin ) ; // reading from the sensor
if (flame_pin == LOW ) // applying condition
{
Serial.println ( " FLAME , FLAME , FLAME " ) ;
digitalWrite ( led_pin , HIGH ) ;// if state is high, then turn high the led
}
else
{
Serial.println ( " no flame " ) ;
digitalWrite ( led_pin , LOW ) ; // otherwise turn it low
}
}
 |