实现功能:
检测到有火焰,蜂鸣器以2S的周期报警,LED灯以1S的周期闪烁报警,启动喷水装置灭火。
模块选取:
火焰传感器1个、蜂鸣器1个、LED灯1个、继电器1个、10K电阻1个、主控板1块,面包板一块
火焰传感器及原理:
火焰传感器是专门用来搜寻火源的传感器,对火焰特别灵敏。火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。
电路连接实物图 :
Arduino中代码如下:
int flame=A5;//定义火焰为接口模拟5接口
int beep=8;//定义蜂鸣器接口数字8接口
int led=6;
int relay=9;
int val=0;//定义数字变量
void setup()
{
pinMode(beep,OUTPUT);//定义蜂鸣器为输出接口
pinMode(relay,OUTPUT);//
pinMode(flame,INPUT);//定义火焰传感器为输入接口
Serial.begin(9600);//设置波特率为9600
}
void pin_off(int a)
{
digitalWrite(a,LOW);
}
void pin_on(int b)
{
digitalWrite(b,HIGH);
}
/*void led_on()
{
pin_on(led);
delay(1000);
pin_off(led);
delay(1000);
}
void beep_on()
{
pin_on(beep);
delay(2000);
pin_off(beep);
delay(2000);
}
*/
void loop()
{
val=analogRead(flame);//读取火焰传感器的模拟值
Serial.println(val);//输出模,将其打印出来
if(val<1000)
{
pin_on(relay);
pin_on(led);
pin_on(beep);
delay(1000);//延时1s
pin_off(led);
delay(1000);
pin_off(beep);
pin_on(led);
delay(1000);
}
if(val>300);
{
pin_off(led);
pin_off(beep);
pin_off(relay);
}
}
里面的延时和接口可以根据自己连接的实物图进行修改。
试试你做出来的效果吧!