今天我們用GBoard來做一個有毒氣體檢測報警器。(PIR人體紅外傳感器用的太多了,想要用PIR的小伙伴可以看這篇教程:http://blog.sina.com.cn/s/blog_ade378ae0102uwrj.html)
制作有毒氣體檢測報警器需要用到的配件有:
GBoard跟sim900擴展板ICOMSAT一樣,需要9V/2A的供電。所以還需要加一個適配器,還有手機sim卡(僅支持聯(lián)通/移動2G卡):
代碼如下:
?#include
SoftwareSerial mySerial(2, 3); // RX, TX 使用軟串口看數(shù)值
const int thresholdvalue=700; //MQ2目標值,一般空氣環(huán)境是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狀態(tài),HIGH是點亮
? Serial.println("ATD12345678900;\r");//12345678900改成你要撥打的電話號碼
? mySerial.print("ATD12345678900;\r");//串口顯示撥打出號碼
? delay(5000);
//以下是避免重復(fù)撥打號碼,當值超過700,只打一次。等降到650以下才進入主程序繼續(xù)監(jiān)測
? 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跳帽如下圖:(關(guān)于跳帽,在這里下載GBoard產(chǎn)品手冊、原理圖和庫文件:
?
?
MQ2接在A0,LED接在A1。接上9V/2A適配器和FOCA轉(zhuǎn)串板,插入手機sim卡,最終如圖:
?
用foca轉(zhuǎn)串板把代碼燒寫進GBOARD,如圖插入:(板子背面有引腳定義)
?
Foca驅(qū)動安裝跟uno一樣,這里略過不談。GBoard燒寫時“board類型”選擇Arduino Duemilanove w/atmega328
?
程序燒寫進去后,GBoard的sim900模塊自動開啟,可以打開串口監(jiān)視窗口查看MQ2的值。MQ2需要有一個通電加熱過程,需要1分鐘左右達到穩(wěn)定狀態(tài),所以剛打開串口監(jiān)視窗口的時候是沒有數(shù)據(jù)的,稍等片刻即可。
現(xiàn)在,我們就可以用一個打火機來測試了。
演示視頻地址:http://v.youku.com/v_show/id_XNzQxMzQxNTg4.html