做个简单便携的煤气报警器
有时候做饭完会忘记关闭煤气阀门,搞不好又是一起严重的火灾。。感谢上天啊!就是这样我就想的是能不能做一个简易的液化气报警装置呢?想着我就动手做了!
从家里的百宝箱里找到一个Attiny85, 一个液化气体传感器 MQ-2模块和一个蜂鸣器。就开始了。
下面是连线图
attiny85
2N2700一个是用来给蜂鸣器声音放大的
1000uF电容一个,为一分钟校准存电
LED一个
220电阻一个
工作原理
MQ-2传感器有一个小的燃烧器,需要在加热之前加热。
这样读数变得准确。为此我们用了烟雾报警器
校准模式,当校准发生时,传感器
读数慢慢下降,直到一分钟后停止并达到一个精确的值。
ARDUINO代码设置了等待,直到这些值正常化。
开LED,让用户知道校准校准变化。当
LED是关闭的,传感器被触发,并完全校准。
//made by gada888
#define led 0
#define buzzer 1
#define sensor 2
int treshold = 0;
int alarmLength = 40;
void setup() {
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(sensor, INPUT);
while(isCalibrating()){
digitalWrite(led, HIGH);
}
treshold = analogRead(sensor) + 10;
}
bool isCalibrating(){
int sample1 = analogRead(sensor);
delay(5000);
int sample2 = analogRead(sensor);
if(sample1 < sample2){
return true;
} else if(abs(sample1 - sample2) <= 2) {
return false;
}
}
void loop() {
if(analogRead(sensor) > treshold){
while(alarmLength >= 0){
alarmLength--;
alarmOn(100);
}
alarmLength = 40;
} else {
alarmOff();
}
}
void alarmOn(int delayMs){
digitalWrite(led, HIGH);
analogWrite(buzzer, 100);
delay(delayMs);
digitalWrite(led, LOW);
analogWrite(buzzer, 0);
delay(delayMs);
}
void alarmOff(){
digitalWrite(led, LOW);
analogWrite(buzzer, 0);
}
好实用好实用 地板 这才是地板 这个很实用哦 诩 发表于 2022-4-18 10:57
这个很实用哦
谢谢
页:
[1]