制作一个USB可燃气体声光报警器

    手头有一些闲置的模块和小电路板,选了几件做了一个科技小制作。利用Nano做核心,MQ9可燃气体检测模块做传感器,接上一个蜂鸣器和LED就可以制作这个报警器了。

一、硬件连接

电路图就是这样的咯,将MQ9的传感器朝右,蜂鸣器的喇叭朝上,MQ9左侧的是LED,上面是正极,VIN和GND引出方便用其他电源供电。电路板非常紧凑,我设计时使用的是5V给蜂鸣器和MQ9供电,LED也是如此,如果你发现喇叭和MQ9发热厉害可以更换为3.3V供电,LED一般问题不大闪烁时间很短,为了保险可以修改代码中的输出为analogWrite来“降低电压”使用。

二、代码

/*
 Name:    Sketch3.ino
 Created: 2019/10/8 15:20:24
 Author:  Administrator
*/
int MaxGS = 200;        //容许的最大气体浓度

int PinGS = A0;         //MQ9可燃气体传感器读数引脚
int PinBr = A1;         //蜂鸣器输出引脚
int PinLed = A2;        //LED输出引脚

// the setup function runs once when you press reset or power the board
void setup() {
  Serial.begin(115200);         //初始化串口通讯便于调试
  pinMode(PinGS, INPUT);        //初始化引脚
  pinMode(PinBr, OUTPUT);
  pinMode(PinLed, OUTPUT);
  digitalWrite(PinBr, LOW);     //初始化输出值
  digitalWrite(PinLed, LOW);
}

// the loop function runs over and over again until power down or reset
void loop() {
  int GSVal = 0;
  int Hz=100;                   //不报警时0.1s检测一次,报警时频率会加快
  GSVal = analogRead(PinGS);    //读取可燃气体浓度
  Serial.println(GSVal-MaxGS);  //将与最大容许浓度的比较结果输出到串口
  if (GSVal>=MaxGS) {           //当可燃气体浓度超出最大容许浓度时产生报警动作
    Hz=(GSVal-MaxGS)/20+1;      //将浓度换算成报警声音和光的频率,+1是保证GSVal-MaxGS在0-20时不会产生0Hz的错误。
    Beep(Hz);   
    Flash(Hz);
  }
  delay(Hz);
}

void Beep(int Hz) {
  tone(PinBr, 1024, 1000 / Hz);
  delay(1000 / Hz); 
  noTone(PinBr);
}

void Flash(int Hz) {
  digitalWrite(PinLed, HIGH);
  delay(1000 / Hz);
  digitalWrite(PinLed, LOW);
}

注释已经非常详尽了,可以修改20、1000来改变声音和光的频率,修改1024来改变声音的音调,修改200以适合你的MQ9以及电路。

MQ9气体检测模块Gas Sensor适用于检测 LPG,CO,CH4。Gas Sensor(MQ9)模块可用于气体泄漏检测(可以在家里和工厂中使用)。由于其的灵敏度高,响应时间快,所以能够时时进行测量。 传感器的灵敏度可以通过使用电位器进行调整。 MQ9 气体检测模块特点: 检测范围广 能够稳定和长时间使用 响应快,灵敏度高 MQ9 气体检测模块规格参数: 硬件连接: 气体检测:基本例子 在这个例子中,传感器连接到A0引脚。 从传感器读取到的电压可以显示出来。 并且该值可以用作检测气体浓度是否增加/减少的基准。 测量:近似值 这个例子介绍了一种知道气体近似浓度的方法。 根据MQ9传感器的数据表,在标准条件下对这些方程计算的结果进行测试,不需要进行校准。 不过它可能会根据温度或湿度的变化而变化。 将气体传感器保持在清洁的空气环境中。 上传以下程序。 然后打开Arduino IDE的串行监视器。 记下R0的值,这需要在下一个程序中使用。 读取稳定后,请将R0放在下方。 将下面的R0替换为上面测试的R0值 . 将下面的R0替换为上面测试的R0值。 将传感器放置在上述任何一种气体中。 现在,我们可以从下图获得气体的浓度。 根据该图可以看出,我们可以测试的最小浓度为200ppm,最大值为10000ppm,换句话说,我们可以得到0.02%〜1%之间的气体浓度。 然而,我们不能得到一个公式,因为比例和浓度之间的关系是非线性的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清晨曦月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值