0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎么制作物聯(lián)網(wǎng)煙霧報(bào)警器

454398 ? 來源:工程師吳畏 ? 2019-08-02 11:03 ? 次閱讀

煙霧報(bào)警器如何工作?

MQ-2煙霧傳感器將以模擬電壓的形式提供輸出。我們?cè)诖a中設(shè)置了一個(gè)條件,即如果傳感器的輸出值大于400,則蜂鳴器將開始發(fā)出蜂鳴聲,紅色LED將亮起;如果傳感器的輸出值小于400,則蜂鳴器將保持靜音,綠色LED將亮起。

這里使用的ESP將創(chuàng)建一個(gè)網(wǎng)頁一個(gè)IP地址,將數(shù)據(jù)發(fā)送到該IP地址,并在那里打印數(shù)據(jù)。上傳代碼后,可在串口監(jiān)視器中看到此IP地址,如下所示。

當(dāng)您輸入此IP時(shí)在瀏覽器中顯示地址,然后將顯示項(xiàng)目的輸出,如下圖所示。

電路圖

首先,將ESP8266模塊與Arduino連接。為了將ESP8266與Arduino正確連接,我們使用了ESP-01適配器模塊,這將使連接變得非常容易。該適配器模塊內(nèi)置5V至3.3V穩(wěn)壓器,這意味著您不必使用任何電阻。

將ESP-01適配器的VCC引腳連接到Arduino上的5V引腳和Arduino上的ESP-01適配器的GND到GND。接下來,將TX引腳從適配器連接到Arduino上的引腳2,將RX引腳從適配器連接到Arduino上的引腳3.

然后,連接MQ -2帶Arduino的氣體傳感器。將氣體傳感器上的VCC和GND連接到Arduino上的5V和GND引腳。然后將MQ-2氣體傳感器上的A0引腳連接到Arduino上的A0。

之后,將蜂鳴器和LED連接到Arduino。將蜂鳴器上的正極連接到Arduino上的引腳10,將蜂鳴器上的負(fù)極連接到Arduino上的GND。然后通過220歐姆電阻將LED的負(fù)極連接到GND,將正極連接到Arduino的引腳8和9上。

代碼說明

首先,添加軟件序列庫。軟件串行庫允許我們?cè)贏rduino的其他引腳上使用TX和RX通信,而不是僅使用默認(rèn)的TX和RX引腳。然后我們定義了我們?cè)贏rduino上連接這些TX和RX引腳的位置。

#include #define DEBUG true SoftwareSerial wifi_module(2,3);//將esp的TX引腳連接到Arduino的引腳2和esp的RX引腳連接到Arduino的引腳3

在下面的行中,我們已經(jīng)聲明了LED,蜂鳴器和煙霧傳感器的引腳。

int red_led_pin = 9; int green_led_pin = 8; int buzzer_pin = 10; int smoke_sensor_pin = A0;

在設(shè)置功能中,首先,我們?cè)O(shè)置串行通信的波特率和9400的wifi模塊。然后我們聲明了引腳并且蜂鳴器引腳作為輸出引腳,因?yàn)槲覀儗⑦@些引腳的輸出提供給LED和蜂鳴器。最后,我們將煙霧傳感器引腳聲明為輸入,因?yàn)闊熿F傳感器引腳將從傳感器接收輸入并將其傳送給Arduino。

Serial.begin(9600) ); wifi_module.begin(9600);//根據(jù)您的esp8266 pinMode(red_led_pin,OUTPUT)設(shè)置波特率; pinMode(green_led_pin,OUTPUT); pinMode(buzzer_pin,OUTPUT) ; pinMode(smoke_sensor_pin,INPUT);

這些線路將調(diào)用該功能,并將在ESP提供的IP地址處設(shè)置服務(wù)器。然后ESP將在此IP地址發(fā)送數(shù)據(jù)。

esp8266_command(“AT + RST r n”,2000,DEBUG);//reset module esp8266_command(“AT + CWMODE = 2 r n”,1000,DEBUG);//配置為接入點(diǎn) esp8266_command(“AT + CIFSR r n”,1000,DEBUG);//獲取IP地址 esp8266_command(“AT + CIPMUX = 1 r n”,1000,DEBUG);//為多個(gè)連接配置 esp8266_command(“AT + CIPSERVER = 1,80 r n”,1000,DEBUG);//打開端口80上的服務(wù)器

在循環(huán)函數(shù)中,我們讀取來自煙霧傳感器的值然后應(yīng)用一個(gè)條件,如果輸出值大于400,則紅色LED將亮起,蜂鳴器將開始發(fā)出蜂鳴聲。如果輸出值小于400,則綠色LED指示燈將亮起,蜂鳴器將保持靜音。

int analogSensor = analogRead(smoke_sensor_pin); if(analogSensor》 400) { digitalWrite(red_led_pin,HIGH); digitalWrite(green_led_pin,LOW); 音(buzzer_pin,1000,200); }

以下行將打印網(wǎng)頁上的數(shù)據(jù)。首先,我們將在頂部打印“物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)”。然后在第二行,我們將打印煙霧值,在第三行,我們將打印“Everything Normal”或“DANGER!移動(dòng)到其他地方“取決于條件。

字符串網(wǎng)頁=”

物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)

“; 網(wǎng)頁+ = “

煙霧值是”; 網(wǎng)頁+ = analogSensor; 網(wǎng)頁+ =“

”; if(analogSensor》 400) ) { 網(wǎng)頁+ =“

危險(xiǎn)!移動(dòng)其他地方

”; } 其他 { 網(wǎng)頁+ =“

一切正常

”; }

下面的代碼會(huì)將命令發(fā)送到ESP,并在串口監(jiān)視器上打印ESP的輸出。

String esp8266_command(String command,const int timeout,boolean debug) { String response =“”; wifi_module.print(command); long int time = millis(); while((time + timeout)》 millis()) { while (wifi_module.available()) { char c = wifi_module.read(); 響應(yīng)+ = c; } } 就是這樣,希望你能讓它運(yùn)轉(zhuǎn)起來!此外,您還可以查看我的博客,查看ElectronicsHobbyist.com上的其他一些項(xiàng)目。

代碼

#include #define DEBUG true SoftwareSerial wifi_module (2,3);//將esp的TX引腳連接到Arduino的引腳2和esp的RX引腳連接到Arduino的引腳3 int red_led_pin = 9; int green_led_pin = 8; int buzzer_pin = 10; int smoke_sensor_pin = A0; void setup() { Serial。開始(9600);wifi_module.begin(9600);//根據(jù)您的esp8266 pinMode(red_led_pin,OUTPUT)設(shè)置波特率; pinMode(green_led_pin,OUTPUT); pinMode(buzzer_pin,OUTPUT) ; pinMode(smoke_sensor_pin,INPUT); esp8266_command(“AT + RST r n”,2000,DEBUG);//reset moduleesp8266_command(“AT + CWMODE = 2 r n”,1000,DEBUG);//配置為接入點(diǎn) esp8266_command(“AT + CIFSR r n”,1000,DEBUG);//獲取IP地址 esp8266_command(“AT + CIPMUX = 1 r n”,1000,DEBUG);//為多個(gè)連接配置 esp8266_command(“AT + CIPSERVER = 1,80 r n”,1000,DEBUG);//在端口80上打開服務(wù)器 } void loop() { int analogSensor = analogRead(smoke_sensor_pin); if(analogSensor》 400) { digitalWrite(red_led_pin,HIGH); digitalWrite(green_led_pin,LOW); 音(buzzer_pin,1000,200); } 其他 { digitalWrite(red_led_pin, LOW); digitalWrite(green_led_pin,HIGH); noTone(buzzer_pin); } if(wifi_module.available( )) { if(wifi_module.find(“+ IPD,”)) { delay(1000); int connectionId = wifi_module.read() - 48; String webpage =“

物聯(lián)網(wǎng)煙霧探測(cè)系統(tǒng)

”; 網(wǎng)頁+ =“

煙霧值是”; 網(wǎng)頁+ = analogSensor; 網(wǎng)頁+ =“

“; if(analogSensor》 400) { 網(wǎng)頁+ =”

危險(xiǎn)!移動(dòng)到其他地方

“; } 其他 { 網(wǎng)頁+ =”

一切正常

“; } 字符串cipSend =”AT + CIPSEND =“; cipSend + = connectionId; cipSend + =“,”; cipSend + = webpage.length(); cipSend + =“ r n”; esp8266_command(cipSend,1000,DEBUG); esp8266_command(網(wǎng)頁,1000,DEBUG); 字符串closeCommand =“AT + CIPCLOSE = “;closeCommand + = connectionId;//追加連接ID closeCommand + =” r n“; esp8266_command( closeCommand,3000,DEBUG); } } } 字符串esp8266_command(字符串命令,const int timeout,布爾調(diào)試) { 字符串響應(yīng)=“”; wifi_module.print(命令); long int time = millis() ; while((時(shí)間+超時(shí))》 millis()) { while(wifi_module.available()) { char c = wifi_module.read(); 響應(yīng)+ = c; } } if(debug) { Serial.print(響應(yīng)); } 返回響應(yīng); }

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 報(bào)警器
    +關(guān)注

    關(guān)注

    12

    文章

    927

    瀏覽量

    108847
  • 氣體傳感器
    +關(guān)注

    關(guān)注

    14

    文章

    553

    瀏覽量

    37750
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187559
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45240
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    接近感應(yīng)單片機(jī)在煙霧報(bào)警器抗干擾性的總結(jié)

    一、電源干擾方面 功耗穩(wěn)定 XD08M3232單片機(jī)在8MHz@3.3V運(yùn)行時(shí)功耗典型值為5mA,穩(wěn)定的功耗使其在煙霧報(bào)警器電源波動(dòng)(如電池電量變化或外部充電設(shè)備不穩(wěn)定)時(shí),自身運(yùn)行狀態(tài)受影響
    發(fā)表于 12-10 19:14

    用TPS8802設(shè)計(jì)10年電池壽命的煙霧報(bào)警器

    電子發(fā)燒友網(wǎng)站提供《用TPS8802設(shè)計(jì)10年電池壽命的煙霧報(bào)警器.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 11:00 ?0次下載
    用TPS8802設(shè)計(jì)10年電池壽命的<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>

    煙感芯片-光電式感煙火災(zāi)探測(cè)IC-煙霧報(bào)警器單片機(jī)

    英銳恩科技在消防安防領(lǐng)域,專注于行業(yè)主控芯片定制開發(fā)應(yīng)用十六年,特別在煙霧探測(cè)報(bào)警器行業(yè)芯片的定制開發(fā)應(yīng)用方面,可以跟隨工藝進(jìn)步和市場(chǎng)變化持續(xù)更新和升能產(chǎn)品,提供高性價(jià)比的”芯“解決方案。為客戶提供
    發(fā)表于 09-24 15:43

    電子圍欄報(bào)警器報(bào)警常見問題

    電子圍欄報(bào)警器是一種安全防護(hù)設(shè)備,廣泛應(yīng)用于住宅、商業(yè)、工業(yè)等場(chǎng)所,用于防止非法入侵和盜竊。然而,在使用過程中,可能會(huì)遇到各種問題,導(dǎo)致報(bào)警器無法正常工作或誤報(bào)。 1. 系統(tǒng)安裝問題 1.1 圍欄
    的頭像 發(fā)表于 09-24 09:15 ?663次閱讀

    光柵報(bào)警器一直報(bào)警是什么原因

    光柵報(bào)警器是一種安全防護(hù)設(shè)備,通常用于防止非法入侵或保護(hù)特定區(qū)域。當(dāng)光柵報(bào)警器一直報(bào)警時(shí),可能有幾個(gè)原因。 1. 硬件故障 傳感損壞 :光柵報(bào)警器
    的頭像 發(fā)表于 09-24 09:12 ?1086次閱讀

    TPS8802煙霧報(bào)警器AFE數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TPS8802煙霧報(bào)警器AFE數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-09 09:23 ?0次下載
    TPS8802<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>AFE數(shù)據(jù)表

    基于51單片機(jī)煙霧檢測(cè)報(bào)警器設(shè)計(jì)

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機(jī)煙霧檢測(cè)報(bào)警器設(shè)計(jì)包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格打開)。本
    發(fā)表于 06-26 10:51 ?1次下載

    紅外報(bào)警器設(shè)計(jì)原理與實(shí)現(xiàn)方法

    紅外報(bào)警器,作為一種安全防護(hù)設(shè)備,已廣泛應(yīng)用于家庭、商業(yè)場(chǎng)所和公共場(chǎng)所。它通過檢測(cè)紅外輻射的變化來發(fā)現(xiàn)潛在的入侵者,從而發(fā)出警報(bào)。本文將詳細(xì)介紹紅外報(bào)警器的設(shè)計(jì)原理和實(shí)現(xiàn)方法。一、設(shè)計(jì)原理紅外報(bào)警器
    的頭像 發(fā)表于 06-20 08:28 ?714次閱讀
    紅外<b class='flag-5'>報(bào)警器</b>設(shè)計(jì)原理與實(shí)現(xiàn)方法

    基于RJM8L151S的煙霧報(bào)警器解決方案

    煙霧報(bào)警器是一種重要的安全設(shè)備,它可以在火災(zāi)發(fā)生時(shí)及時(shí)發(fā)出報(bào)警,提醒人們采取相應(yīng)的措施,避免火災(zāi)蔓延造成更大的損失。
    發(fā)表于 04-08 10:31 ?620次閱讀
    基于RJM8L151S的<b class='flag-5'>煙霧</b><b class='flag-5'>報(bào)警器</b>解決方案

    合泰單片機(jī)推出一款低功耗協(xié)同感煙報(bào)警器方案

    協(xié)同感煙報(bào)警器,即同時(shí)具備煙霧探測(cè)功能和協(xié)同報(bào)警功能。煙霧探測(cè)功能是指通過檢測(cè)煙霧濃度來實(shí)現(xiàn)火災(zāi)防范的功能。
    的頭像 發(fā)表于 03-29 17:31 ?750次閱讀
    合泰單片機(jī)推出一款低功耗協(xié)同感煙<b class='flag-5'>報(bào)警器</b>方案

    煙霧報(bào)警器WTN6語音芯片方案

    隨著科技的進(jìn)步和人們生活水平的提高,對(duì)于家庭安全的關(guān)注度也日益增強(qiáng)。煙霧報(bào)警器作為預(yù)防火災(zāi)的重要設(shè)備,其功能和性能也在不斷更新升級(jí)。傳統(tǒng)的煙霧報(bào)警器通常只有蜂鳴聲作為
    的頭像 發(fā)表于 03-29 14:52 ?539次閱讀

    家庭燃?xì)?b class='flag-5'>報(bào)警器應(yīng)用示例

    燃?xì)獍踩珶o小事,燃?xì)?b class='flag-5'>報(bào)警器在檢測(cè)到氣體泄漏后發(fā)出報(bào)警并切斷燃?xì)忾y,范防于未“燃”。燃?xì)?b class='flag-5'>報(bào)警器通過高精度傳感檢測(cè)周圍環(huán)境氣體,產(chǎn)生電信號(hào)給到MCU,當(dāng)達(dá)到
    的頭像 發(fā)表于 03-14 10:58 ?1085次閱讀
    家庭燃?xì)?b class='flag-5'>報(bào)警器</b>應(yīng)用示例

    九聯(lián)科技物聯(lián)網(wǎng)模組技術(shù)革新煙感報(bào)警器,提升火災(zāi)預(yù)警智能化水平

    傳統(tǒng)的煙感報(bào)警器長(zhǎng)期以來依賴煙霧傳感進(jìn)行火災(zāi)檢測(cè),雖然在一定程度上起到了預(yù)警作用,但在響應(yīng)速度和智能化程度上仍有諸多不足。然而,隨著物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,九聯(lián)科技憑借其先進(jìn)的物
    的頭像 發(fā)表于 03-13 10:06 ?912次閱讀

    火災(zāi)報(bào)警器電路圖分享

    火災(zāi)報(bào)警器是一種用于探測(cè)火災(zāi)并發(fā)出報(bào)警信號(hào)的消防器材。它通常由火災(zāi)探測(cè)報(bào)警控制組成,探測(cè)
    的頭像 發(fā)表于 02-07 18:31 ?7728次閱讀
    火災(zāi)<b class='flag-5'>報(bào)警器</b>電路圖分享

    門把手觸摸報(bào)警器分享

    報(bào)警器是一種用于防止或預(yù)防某事件發(fā)生所造成的后果的電子產(chǎn)品。它通過聲音、光、氣壓等形式來提醒或警示人們采取某種行動(dòng)。報(bào)警器可以分為機(jī)械式報(bào)警器和電子報(bào)警器,其中電子
    的頭像 發(fā)表于 02-07 15:33 ?935次閱讀
    門把手觸摸<b class='flag-5'>報(bào)警器</b>分享