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