基于Dragonboard 410c的燃气烟雾检测器(一)

来源:互联网 发布:人工智能毁灭人类电影 编辑:程序博客网 时间:2024/04/26 16:00

  火是大家再熟悉不过的东西了,它可以在寒冷时给你温暖,在黑暗中给你光明,在饥饿时有热腾腾的食物,让人类摆脱了茹毛饮血的生活,火的作用和好处也是数不胜数,但是凡事都有两面性,一旦发生火灾,后果不堪设想,所以,最近想到用410c做一个简单的燃气烟雾检测器,让我们一起来了解一下吧。

  其主要功能和模块如下:

 (1)燃气烟雾检测模块MQ-2

  首先说一下为什么选用这个模块,因为大部分家庭都至少会用到煤气、天然气、液化气中的一种,其中,煤气的成分主要是氢气和一氧化碳,天然气的主要成分是甲烷,液化气的主要成分是丙烷和丁烷。


  燃气烟雾检测模块MQ-2有以下的特点:

  在较宽的浓度范围内对可燃气体有良好的灵敏度

  对液化气、丙烷、氢气的灵敏度较高

  这是因为MQ-2中有一种气敏材料---二氧化锡,这种材料在空气中导电率较低,当传感器所处的环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。

  其具体工作原理如下:

  Rp构成比较器的门槛电压,当烟雾浓度较高时输出电压将超出门槛电压,这时比较器输出低电平,LED被点亮;当烟雾浓度降低时输出电压将低于门槛电压,此时比较器输出高电平,LED熄灭。

  所以我们可以通过调节比较器的门槛电压来调节灵敏度。


  (2)温湿度传感器dht11

  除了上面的燃气烟雾传感器,我们又添加了一个温湿度传感器,用来增强监控效果,减小误触发的概率。


  此模块是用的单总线,双向传输,一次传送40位数据,高位在先。

  其数据传输格式如下:

  8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验位

  前面4个8bit的和与最后1个8bit的和相等,则说明接收的数据正确。


  数据时序图

  用户主机发送一次开始信号后,dht11从低功耗模式转换到告诉模式,待主机开始信号结束后,dht11发送响应信号,送出40bit的数据,并触发一次采集。信号发送如下图所示:

数据时序图

  外设读取步骤,下面是微处理器读取dht11的数据的步骤:

1.dht11上电后(dht11上电后要等待1s越过不稳定状态,在此期间不能发送任何指令),测试环境温湿度数据,并记录数据,同时dht11的data数据线一直保持高电平;此时dht11的data引脚处于输入状态,检测外部信号。

2.微处理器的I/O设置为输出低电平,且低电平保持时间不能小于18ms,然后微处理器的I/O设置为输入状态,由于上拉电阻,微处理器的I/O即dht11的data数据线也随之变高,等待dht11作出回答信号。

主机发送起始信号

3.dht11的data引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后dht11的data引脚处于输出状态,输出80微妙的低电平作为应答信号,紧接着输出80微妙的高电平通知微处理器准备接收数据,微处理器的I/O此时处于输入状态,检测到I/O有低电平(dht11的回应信号)后,等待80微妙的高电平后的数据接收。

从机应答信号

4.由dht11的data引脚输出40位数据,微处理器根据I/O电平的变化接收40位数据,位数据“0”的格式为:50微妙的低电平和26-28微妙的高电平;位数据“1”的格式为:50微妙的低电平加70微妙的高电平。位数据“0”、“1”格式信号如下图所示:

5.结束信号:

  dht11的data引脚输出40位数据后,继续输出低电平50微妙后转为输入状态,由于上拉电阻随之变为高电平。但dht11内部重测环境温度数据,并记录数据,等待外部信号的到来。






阅读全文
1 0
原创粉丝点击