专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

uno+Sim900整合板GBoard MQ2煤气泄漏报警器

作者:未知   来源:互联网   点击数:  更新时间:2014年07月27日   【字体:
前两天给小伙伴们介绍了sim900扩展板ICOMSAT,反响一般,所以今天决定给大家介绍升级整合板GBoard:集mega328sim900模块于一体的arduino开发板。




今天我们用GBoard来做一个有毒气体检测报警器。(PIR人体红外传感器用的太多了,想要用PIR的小伙伴可以看这篇教程:
http://blog.sina.com.cn/s/blog_ade378ae0102uwrj.html

制作有毒气体检测报警器需要用到的配件有:

GBoardsim900扩展板ICOMSAT一样,需要9V/2A的供电。所以还需要加一个适配器,还有手机sim卡(仅支持联通/移动2G卡)




代码如下:

?#include

SoftwareSerial mySerial(2, 3); // RX, TX 使用软串口看数值

const int thresholdvalue=700; //MQ2目标值,一般空气环境是100左右。

void setup()

{?

? pinMode(6, OUTPUT); //D6是Gboard的sim900模块启动脚,使用软件自启动

? pinMode(A1, OUTPUT);

? digitalWrite(6,HIGH);

? delay(1000);

? digitalWrite(6,LOW);

? delay(10000);

? delay(5000);?

? Serial.begin(9600);

? mySerial.begin(9600);

}

void loop()

{

? int sensorValue = analogRead(A0); //使用AO读取MQ2的值

? {

? digitalWrite(A1,HIGH);//使用A1显示LED状态,HIGH是点亮

? Serial.println("ATD12345678900;\r");//12345678900改成你要拨打的电话号码

? mySerial.print("ATD12345678900;\r");//串口显示拨打出号码

? delay(5000);

//以下是避免重复拨打号码,当值超过700,只打一次。等降到650以下才进入主程序继续监测

? while((analogRead(A0)-thresholdvalue)>0)

? Serial.println(analogRead(A0));

? while((thresholdvalue-analogRead(A0))<50)

? Serial.println(analogRead(A0));

}

? else?

? {

? ? Serial.println(analogRead(A0)); ? ??

? ? digitalWrite(A1,LOW);//MQ2的值没有超过700,LED灭

? }

}


烧写前,确定GBoard跳帽如下图:(关于跳帽,在这里下载GBoard产品手册、原理图和库文件:

?

?

MQ2接在A0LED接在A1。接上9V/2A适配器和FOCA转串板,插入手机sim卡,最终如图:

?

foca转串板把代码烧写进GBOARD,如图插入:(板子背面有引脚定义)


?

Foca驱动安装跟uno一样,这里略过不谈。GBoard烧写时“board类型”选择Arduino Duemilanove w/atmega328

?

程序烧写进去后,GBoardsim900模块自动开启,可以打开串口监视窗口查看MQ2的值。MQ2需要有一个通电加热过程,需要1分钟左右达到稳定状态,所以刚打开串口监视窗口的时候是没有数据的,稍等片刻即可。


现在,我们就可以用一个打火机来测试了。

演示视频地址:http://v.youku.com/v_show/id_XNzQxMzQxNTg4.html

关闭窗口

相关文章