[原创] 物联网智能家居-厨房之烟雾传感器

anananjjj   2012-7-11 12:27 楼主
烟雾传感器是个很灵敏的东西!
厨房使用的是MQ-2烟雾传感器模块

简要说明:

一、 尺寸:32mm X22mm X27mm   XX

二、 主要芯片:LM393ZYMQ-2气体传感器

三、 工作电压:直流5

四、 特点:

1、具有信号输出指示。

2、双路信号输出(模拟量输出及TTL电平输出)

3TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机)                

4、模拟量输出0~5V电压,浓度越高电压越高。

5、对液化气,天然气,城市煤气有较好的灵敏度。

6、具有长期的使用寿命和可靠的稳定性

7、快速的响应恢复特性

五、应用:

适用于家庭或工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等监测装置。

3.png


原理图:

4.png

其实他的道理很简单,厨房采用的是模拟输出,所以要用到G2553的ADC采样功能!

只要将得到的AD值和预先设定的值进行比较就可以对浓度的变化进行报警!

程序如下:

1、初始化AD

void SetupMQ_2_AD(void)

{

  //Setup  MQ_2


  MQ_PORT_SEL |= MQ_PIN;    //Enable A/D channel inputs

  MQ_PORT_SEL2 |= MQ_PIN;

  MQ_PORT_DIR &= ~MQ_PIN;


  // Allow the accelerometer to settle before sampling any data 

  __delay_cycles(200000);   

  

  ADC10CTL1 = CONSEQ_2 + INCH_0;            // Repeat single channel, A0

  ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE; // ADC10ON, interrupt enable

  ADC10DTC1 = 0x20;                         // 32 conversions

  ADC10AE0 |= 0x01;                         // P1.0 ADC option voidselect

}

其中:

#define MQ_PORT_DIR      P1DIR

#define MQ_PORT_OUT      P1OUT

#define MQ_PORT_SEL      P1SEL

#define MQ_PORT_SEL2     P1SEL2

#define MQ_PIN           BIT0

2、AD采样:
void TakeADCMeas(void)
{
  ADC10CTL0 &= ~ENC;
  while (ADC10CTL1 & BUSY);
  ADC10SA = 0x200;                        // Data buffer start
  ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
    __bis_SR_register(CPUOFF + GIE);        // LPM0, ADC10_ISR will force exit
}

3、AD中断服务子函数:
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
  MQ_result=ADC10MEM;
  __bic_SR_register_on_exit(CPUOFF);        // Clear CPUOFF bit from 0(SR)
}
得到的结果放在了MQ_result中!
预热的时间并不需要很长的!
平时:
20120711_0272.jpg
用固态松香烟熏一下:
20120711_0277.jpg

回复评论 (2)

回复 楼主 anananjjj 的帖子

给力!支持一下
点赞  2012-7-11 12:29
顶一下小郑
点赞  2012-7-11 22:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复