• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      多方法實(shí)現(xiàn)Arduino“水火警報(bào)儀”

      2021-08-17 16:56:29牟曉東
      電腦報(bào) 2021年31期
      關(guān)鍵詞:水火蜂鳴器低電平

      牟曉東

      水火無(wú)情,為了能對(duì)“水情”“火情”的意外情況及時(shí)報(bào)警,我們借助雨水傳感器和火焰?zhèn)鞲衅?,利用Arduino開(kāi)發(fā)制作一個(gè)“水火警報(bào)儀”系統(tǒng)——LED燈發(fā)光、蜂鳴器發(fā)聲和屏幕顯示警報(bào)信息。

      1.實(shí)驗(yàn)器材與電路連接

      實(shí)驗(yàn)器材:Arduino UNO主板一個(gè),雨水傳感器一個(gè),火焰?zhèn)鞲衅饕粋€(gè),紅色LED燈一支,低電平觸發(fā)蜂鳴器一個(gè),面包板一塊,各色杜邦線若干。

      首先,將Arduino的5V和GND通過(guò)杜邦線連接至面包板;接著,將雨水傳感器和火焰?zhèn)鞲衅鞯腣CC和GND端均插接至面包板(與Arduino的5V和GND相連),二者的DO數(shù)字輸出端則分別插接至Arduino的7號(hào)和8號(hào)數(shù)字引腳;然后,將蜂鳴器的VCC和GND端同樣也插接至面包板,它的I/O信號(hào)端插接至12號(hào)數(shù)字引腳;最后,將LED燈長(zhǎng)腿插入13號(hào)、短腿插入相鄰的GND引腳,再通過(guò)數(shù)據(jù)線將Arduino與計(jì)算機(jī)USB接口連接(如圖1)。

      值得一提的是,雨水傳感器和火焰?zhèn)鞲衅鞯臄?shù)字輸出信號(hào)均為“反邏輯”結(jié)果——當(dāng)雨水傳感器的感應(yīng)板上沒(méi)有水滴時(shí),數(shù)字輸出信號(hào)是高電平“1”;而當(dāng)檢測(cè)到有水滴時(shí),則輸出低電平“0”。另外蜂鳴器上如果標(biāo)有“低電平觸發(fā)”字樣時(shí),其工作模式與此類似,只有使用低電平“0”去觸發(fā)時(shí)才會(huì)發(fā)聲。

      2.Arduino IDE代碼編程實(shí)現(xiàn)“水火警報(bào)儀”

      首先進(jìn)行變量的定義:語(yǔ)句“int Beep = 12;”和“int led = 13;”分別對(duì)應(yīng)蜂鳴器和LED燈的引腳編號(hào),語(yǔ)句“int WaterSensorPin = 7;”和“int FireSensor

      Pin = 8;”則分別對(duì)應(yīng)雨水傳感器和火焰?zhèn)鞲衅鞯囊_編號(hào);接著,在setup()函數(shù)中對(duì)它們進(jìn)行引腳模式的聲明,蜂鳴器和LED燈是輸出模式——“pinMode(Beep,OUTPUT);”“pinMode(led,OUTPUT);”,兩個(gè)傳感器是輸入模式——“pinMode(WaterSensorPin,INPUT);”“pinMode(FireSensor

      Pin,INPUT);”;然后,再通過(guò)語(yǔ)句“Serial.begin(9600);”設(shè)置串口監(jiān)視器的波特率(如圖2)。

      在loop()函數(shù)中,先定義WaterSensorValue和FireSensorValue兩個(gè)變量,通過(guò)“int WaterSensor

      Value = digitalRead(WaterSensorPin);”和“int FireSensorValue = digitalRead(FireSensor

      Pin);”兩個(gè)語(yǔ)句,實(shí)現(xiàn)分別讀取雨水傳感器和火焰?zhèn)鞲衅鲾?shù)字信號(hào);接著,構(gòu)建“if……else……”雙分支選擇結(jié)構(gòu),判斷雨水傳感器和火焰?zhèn)鞲衅魉鶛z測(cè)的信號(hào)是否為低電平:“WaterSensorValue == LOW or FireSensorValue == LOW”,其中有一個(gè)成立(或同時(shí)成立)的話,則進(jìn)行“亮燈、發(fā)聲、屏顯”三種形式的報(bào)警——語(yǔ)句“digitalWrite(led,HIGH);”控制LED燈,語(yǔ)句“digitalWrite(Beep,LOW);”控制蜂鳴器(注意是低電平觸發(fā)),語(yǔ)句“Serial.println(“警報(bào)——水火無(wú)情,火速檢查!”);”是向串口監(jiān)視器輸出提示信息;否則,則通過(guò)類似的三個(gè)語(yǔ)句來(lái)實(shí)現(xiàn)“熄燈、無(wú)聲、屏顯”——“digitalWrite(led,LOW);”“digitalWrite(Beep,HIGH);”和“Serial.println(“情況正常,請(qǐng)保持!”);”;最后,添加遲延0.5秒鐘的語(yǔ)句“delay(500);”(單位是毫秒),避免死機(jī)。完成程序的編寫(xiě)(如圖3)。

      保存程序并編譯、上傳至Arduino,打開(kāi)串口監(jiān)視器后對(duì)“水火警報(bào)儀”進(jìn)行測(cè)試:在沒(méi)有“水情”“火情”的正常情況下,LED燈不亮、蜂鳴器不響,屏幕顯示“情況正常,請(qǐng)保持!”;當(dāng)在雨水傳感器的感應(yīng)板上滴水滴時(shí)(或用濕紙巾接觸),LED燈發(fā)光、蜂鳴器發(fā)聲,屏幕顯示“警報(bào)——水火無(wú)情,火速檢查!”;或者使用打火機(jī)靠近火焰?zhèn)鞲衅鬟M(jìn)行“打火”測(cè)試,同樣也會(huì)觸發(fā)警報(bào)(如圖4)。

      3.Python代碼編程實(shí)現(xiàn)“水火警報(bào)儀”

      使用Python同樣可以控制Arduino實(shí)現(xiàn)“水火警報(bào)儀”。首先,通過(guò)語(yǔ)句“import time”和“from pinpong.board import Board,Pin”導(dǎo)入time和pinpong庫(kù),并且初始化Arduino uno開(kāi)發(fā)板:“Board(“uno”).begin()”;接著,通過(guò)語(yǔ)句“Beep = Pin(Pin.D12, Pin.OUT)”和“l(fā)ed = Pin(Pin.D13, Pin.OUT)”,聲明蜂鳴器和LED燈分別插接在Arduino的12和13號(hào)數(shù)字引腳,并且均為數(shù)字輸出端;類似地,語(yǔ)句“WaterSensor = Pin(Pin.D7, Pin.IN)”和“FireSensor = Pin(Pin.D8, Pin.IN)”,則是對(duì)雨水傳感器和火焰?zhèn)鞲衅鬟M(jìn)行聲明,分別接插在7號(hào)和8號(hào)數(shù)字引腳,且均為數(shù)字輸入端。

      猜你喜歡
      水火蜂鳴器低電平
      數(shù)字電路中“邏輯非”的用法辨析
      電動(dòng)自行車(chē)產(chǎn)品車(chē)速提示音檢測(cè)現(xiàn)狀和整改技術(shù)研究(2)
      水火大比拼
      鐵道車(chē)輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
      掌控板制作簡(jiǎn)易鋼琴
      噴火魚(yú)VS射水魚(yú),水火較量誰(shuí)更強(qiáng)
      水火人生
      海峽姐妹(2019年3期)2019-06-18 10:37:08
      單片機(jī)驅(qū)動(dòng)蜂鳴器的程序設(shè)計(jì)
      2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車(chē)型低電平參考電壓總線電路圖
      水火相容
      外汇| 湖北省| 潼关县| 温宿县| 绍兴市| 长春市| 绵竹市| 平度市| 望城县| 峨眉山市| 郴州市| 松潘县| 北辰区| 西宁市| 辽阳县| 望奎县| 龙门县| 宿州市| 铁力市| 常州市| 烟台市| 阳城县| 洞口县| 永昌县| 石城县| 辛集市| 山东省| 泸水县| 营口市| 盈江县| 玉环县| 吴堡县| 双城市| 永善县| 内黄县| 西丰县| 九江县| 施甸县| 明星| 德令哈市| 滨海县|