Arduino系列教程-013 火焰报警

本教程来至yingcloud.com网站

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

所需元器件

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

         

 

原理图

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

实物接线

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


程序代码

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

课程总结

总结上面的实验,这个实验其实就是光控声音的一个拓展,共同点都是把光信号转化为高低变化的电平信号输出去。在这之中,也遇到过两点问题,一点就是将传感器接A0端口的接到A1上去,导致线路图与程序不想符,写入程序出现错误;另一点就是蜂鸣器的正负极没有区分,实验没反应。

你可能感兴趣的:(传感器,开源项目,arduino,可穿戴设备,开源硬件)