Arduino系列教程之火焰报警

  • LV2工程师
  • |      2014-09-17 21:39:33
  • 浏览量 5451
  • 回复:0

利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。

所需元器件

红外接收管1个、蜂鸣器、10KΩ电阻1个、面包板、跳线若干、Arduino控制板


Arduino系列教程-013 火焰报警


原理图

Arduino系列教程-013 火焰报警

如上图所示,首先将红外三极管的负极接到5V端口中,正极连接10KΩ的电阻,电阻的另一端连接GND。在三极管与电阻之间接一根导线接到模拟端口A0上,把蜂鸣器与第八接口相连,另一端接地,这样电路就接好了。
注意:区分蜂鸣器的正负极,数字端口要接对。

实物接线

Arduino系列教程-013 火焰报警

当有火焰靠近时,模拟口读出的电压就是变化的,所以在实验开始时可以先储存一个没有火焰时的模拟口的电压值。把模拟信号转化为高低变化的电平信号,引起蜂鸣器发声。


程序代码

int flame=A0;//定义火焰接口为模拟0 接口

int Beep=8;//定义蜂鸣器接口为数字8 接口

int val=0;//定义数字变量

void setup() 

{ pinMode(Beep,OUTPUT);//定义LED 为输出接口

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); } }



  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子