久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

用uno 和GSM900短信模塊制作個簡易的液化氣報警器

 灰常愛玩 2017-06-15
xiansen_shun 高級會員 2014-7-31 22:59
本帖最后由 xiansen_shun 于 2014-8-2 11:34 編輯

樓主今天早上起來走的急沒有吃早餐就走了,,留下2貨媳婦在家里,,誰知他今天在家做了早餐吃了,,家中液化氣沒有關(guān)嚴(yán),,也就出去了,。等我今天下班回來的時候一打開門 一股子全是液化氣的味道,,嚇得樓主臉都白了,幸好樓主不抽煙 要不是這樣的話,,樓主估計就掛了,,或者又是一起嚴(yán)重的火災(zāi),。,。感謝上天啊,!
就是這樣我就想的是能不能做一個簡易的液化氣報警裝置呢,?想著我就動手做了,!
從家里的百寶箱里找到一個一年前買的Arduino UNO 一個液化氣體傳感器 MQ-2和一個前些天在openjumpe哪里拿到的一個GSM 900的模塊。
Arduino UNO 模塊一個

MQ-2傳感器一個,。

GSM900模塊一個,。

SIM電話卡一張。

將MQ-2的模塊的s腳和Arduino uno的A0 腳相連接,,VCC和GND接上即可。

由于GSM900模塊Arduino UNO 模塊是兼容的直接連接上就可以了,。如果不能通信在GSM900上的設(shè)置需要參考我之前寫的一篇貼子,。
連接如下GSM 900設(shè)置
代碼如下:
[C++] 純文本查看 復(fù)制代碼
代碼
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
int val;           //定義變量val
#define MAXCHAR 81
char aa[MAXCHAR]; 
int j=0;            
int g_timeout=0;    
int Gas_Sensors = A0; 
////////////////////////////////////////////////////
char ATE0[]="ATE0";
char CREG_CMD[]="AT+CREG?";
char SMS_send[]="AT+CMGS=18";
char ATCN[]="AT+CNMI=2,1";
char CMGF0[]="AT+CMGF=0";
char CMGF1[]="AT+CMGF=1";
char CMGR[12]="AT+CMGR=1";
char CMGD[12]="AT+CMGD=1";
/*************************************************/
//#define SEND_MESSA_TO_YOUR "at+cmgs=\"18382117086\"\r\n"http://發(fā)短信接收的手機(jī)號碼
#define CALL_YOU_TELNUMBER "ATD18382117086;\r\n"http://打電話接受的手機(jī)號碼
char *Num = "The function module is correct, please rest assured that the use of.  [url=http://shop69712475.taobao.com]http://shop69712475.taobao.com[/url]  \n openjumper "";
             //功能模塊矯正完畢,請放心使用,。
char *Num1 = "The liquefied gas value is 200~300, the normal value has exceeded. Please check the liquefied gas is closed.\n openjumper ";
            //當(dāng)前液化氣氣體值為200~300,,已超過正常值。請檢查液化氣,。
char *Num2 = "The liquefied gas value is 300~700, many have more than normal value. Easy to cause fire and poisoning please close the liquefied petroleum gas immediately.\n openjumper ";
             //當(dāng)前液化氣氣體值為300~700,,已超過正常值很多。容易引起火災(zāi)和中毒請立即關(guān)閉液化氣。
char *Num3 = "The liquefied gas value has exceeded 700, now that the range of extreme danger, easy to cause fire and poisoning please close the liquefied petroleum gas immediately.\n openjumper ";
              //當(dāng)前液化氣值已超過700,,現(xiàn)在此范圍內(nèi)極度危險,,容易引起火災(zāi)和中毒請立即關(guān)閉液化氣。
char *yy = "at+cmgs=\"18382117086\"\r\n";//發(fā)短信接收的手機(jī)號碼
              //可以設(shè)置多個電話 格式如 char *yy = "at+cmgs=\"18382117086\"\r\n"; 即可.
/*************************************************/
int readSerial(char result[])
      {
          int i = 0;
          while (Serial.available() > 0)
              {
                    char inChar = Serial.read();
                        if (inChar == '\n')
                              {
                                  result
[i] = '\0';
                                  Serial.flush();
                                  return 0;
                              }
                        if(inChar!='\r')
                                {
                                  result
[i] = inChar;
                                  i++;
                                }
              }
      }
void clearBuff(void)//打電話發(fā)短信清除指令
      {
            for(j=0;j<MAXCHAR;j++)
                {
                    aa[j]=0x00;
                }
                j=0;
      }
int Hand(char *s)//發(fā)短信打電話發(fā)短信調(diào)用指令
    {
            delay(200);
            clearBuff();
            delay(300);
            readSerial(aa);
                if(strstr(aa,s)!=NULL)     //檢測單片機(jī)和模塊的連接
                    {
                        g_timeout=0;
                        clearBuff();
                        return 1;
                    }
                if(g_timeout>50)
                    {
                        g_timeout=0;
                        return -1;
                    }
           g_timeout++;
           return 0;
    }
void send_english(char *x,char *i)
    {
          clearBuff();
          Serial.println(CMGF1);
          delay(500);
          while(Hand("OK")==0);
            
          clearBuff();
          Serial.println(x);
          delay(500);
          while(Hand(">")==0);
            
          Serial.println(i);
          delay(100);
          Serial.print("\x01A");      //發(fā)送結(jié)束符號
          delay(10);
            
          delay(1000);
          while(Hand("OK")==0);
    }
void send_call(void) //打電話
    {
        clearBuff();
        Serial.println(CALL_YOU_TELNUMBER); //打電話
        delay(2000);
        while(Hand("OK")==0);
         
    }
void setup (void)
    {
        
        Serial.begin(115200);//設(shè)置波特率為115200
        Serial.println("serial port [ok]!");
}
void loop (void)
{  
   
      send_english(yy,Num);
      while(1)
      {
          int sensorValue = analogRead(Gas_Sensors);                     
          Serial.print("Gas Sensors = " );                      
          Serial.println(sensorValue);           
          if((sensorValue>=200)&&(sensorValue<=300))
          {
              send_english(yy,Num1);
          }
         if((sensorValue>=301)&&(sensorValue<=700))
           {
               send_english(yy,Num2);
           }
         if(sensorValue>=701)
           {
                send_english(yy,Num3);
           }
         delay(60000);//每隔一分鐘檢查一次氣體情況
      }
       
}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多