火焰报警器所需要的器件有:Arduino UNO,光敏电阻传感器模块,温度传感器,蜂鸣器,LED灯。其原理是当温度,亮度达到一定限度时,使得LED发光,蜂鸣器报警。
由于Proteus中没有三线制的光敏电阻传感器模块,因此与要根据原理图来连接
图中的LDR为光敏电阻
总电路图:
面包板图:
另外,Arduino开发板所需的二进制代码:
#include <math.h>
const int ldrPin = A5; //光敏电阻传感器
int buzzer = 8;
int LED = 13;
int ldrValue;
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
pinMode(LED, OUTPUT);
pinMode(ldrPin, INPUT);
digitalWrite(buzzer, LOW);
}
void loop() {
int temperature = 0;
int light = 0;
int test = 0;
float Digital_Value = analogRead(A0); //温度传感器接A0,接5V
float tem = Digital_Value / 1023 *110.00; //获得的温度值(摄氏温度)
if (tem >100)
{
temperature=1; //温度足够,记为1
}
ldrValue = analogRead(ldrPin);
if (ldrValue>800)
{
light=1;
}
if(temperature==1)
test=test+1;
if(light==1)
test=test+1;
//有两个传感器反应,则蜂鸣器响
if(test>1)
{
digitalWrite(buzzer, HIGH);
tone(8,1000);
digitalWrite(LED, HIGH);
}
else
{
digitalWrite(buzzer, LOW);
noTone(8);
digitalWrite(LED, LOW);
}
delay(1000); //一秒刷新一次
}