1实验原理
利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。 所需元器件
红外接收管1个、蜂鸣器、10KΩ电阻1个、面包板、跳线若干、Arduino控制板
实验使用的元器件实物图
实验电路原理图
2硬件电路
火焰报警实验器件表
3程序设计
/****************************************************
光控声音实验程序
蜂鸣器随着光线强度变化而发声
This example code is in the public domain.
****************************************************/
int flame=A0;//定义火焰接口为模拟0 接口
int Beep=8;//定义蜂鸣器接口为数字8 接口
int val=0;//定义数字变量
/****************************************************
初始化部分_setup()函数
****************************************************/
void setup()
{
pinMode(Beep,OUTPUT);//定义LED 为输出接口
pinMode(flame,INPUT);//定义蜂鸣器为输入接口
Serial.begin(9600);//设定波特率为9600
}
/****************************************************
执行部分_loop()函数
****************************************************/
void loop() {
val=analogRead(flame);//读取火焰传感器的模拟值
Serial.println(val);//输出模拟值,并将其打印出来
if(val>=10)//当模拟值大于10 时蜂鸣器鸣响
{
digitalWrite(Beep,HIGH);
}
else
{
digitalWrite(Beep,LOW);
}
}
4实验操作1) 按照图4-19-4将电路连接到landzoduino开发板上。首先将红外三极管的负极接到5V端口中,正极连接10KΩ的电阻,电阻的另一端连接GND。在三极管与电阻之间接一根导线接到模拟端口A0上,把蜂鸣器与第八接口相连,另一端接地,这样电路就接好了。区分蜂鸣器的正负极,数字端口要接对。 2) 插上编程线,把程序下载到Landzoduino控制板。 3) 观察运行情况。
5实验结果当有火焰靠近时,模拟口读出的电压就是变化的,所以在实验开始时可以先储存一个没有火焰时的模拟口的电压值。把模拟信号转化为高低变化的电平信号,引起蜂鸣器发声。 总结上面的实验,这个实验其实就是光控声音的一个拓展,共同点都是把光信号转化为高低变化的电平信号输出去。在这之中,也遇到过两点问题,一点就是将传感器接A0端口的接到A1上去,导致线路图与程序不想符,写入程序出现错误;另一点就是蜂鸣器的正负极没有区分,实验没反应。
|