• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Arduino的水位監(jiān)測(cè)報(bào)警系統(tǒng)

    2020-02-03 02:38:00伍敏君
    電子技術(shù)與軟件工程 2020年19期
    關(guān)鍵詞:蜂鳴器端口報(bào)警

    伍敏君

    (中山火炬職業(yè)技術(shù)學(xué)院光電信息學(xué)院 廣東省中山市 528400)

    經(jīng)濟(jì)發(fā)展使人們生活水平不斷提高,生活用水與工業(yè)用水量大幅度增加;另一方面,要?jiǎng)討B(tài)監(jiān)測(cè)湖泊、水庫(kù)、河流等水位以研究生態(tài)環(huán)境變化、防御自然災(zāi)害,因此,水位監(jiān)測(cè)與控制至關(guān)重要[1-3]。電子技術(shù)的迅速發(fā)展,使智能化監(jiān)控已成為發(fā)展趨勢(shì)。移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)的發(fā)展,為實(shí)時(shí)監(jiān)測(cè)提供了必要條件[4-5]。本文以水位為監(jiān)測(cè)對(duì)象,設(shè)計(jì)一款水位實(shí)時(shí)監(jiān)測(cè)報(bào)警系統(tǒng),通過(guò)傳感器采集數(shù)據(jù)并顯示于液晶顯示器中,本系統(tǒng)可應(yīng)用于日常生活中的水位監(jiān)測(cè)場(chǎng)合。

    1 系統(tǒng)硬件設(shè)計(jì)

    本系統(tǒng)以ArduinoUNO 控制器為核心,結(jié)合傳感器技術(shù),實(shí)現(xiàn)水位實(shí)時(shí)監(jiān)測(cè)與報(bào)警。本系統(tǒng)由控制器模塊、水位檢測(cè)模塊、顯示模塊、報(bào)警模塊等四部分組成。

    1.1 控制器模塊

    本系統(tǒng)采用的控制器為ArduinoUNO,如圖1所示,其主控芯片為ATmega328P,核心處理器是AVR 單片機(jī)。ArduinoUNO 是開源的硬件,資源豐富,有14 個(gè)數(shù)字I/O 口,6 個(gè)PWM 輸出端口,6 個(gè)模擬輸入端口,1 個(gè)16MHz 晶振,1 個(gè)復(fù)位按鍵,1 個(gè)USB 接口以及1 個(gè)直流電源插孔等[6]。ArduinoUNO 的工作電壓為5V,既可用USB 供電,也可用外部供電。其價(jià)格低,穩(wěn)定性好,設(shè)有一個(gè)自恢復(fù)保險(xiǎn)絲,當(dāng)短路或電流過(guò)大時(shí),自動(dòng)斷開供電,起保護(hù)ArduinoUNO 板和計(jì)算機(jī)USB 端口的作用。

    1.2 水位檢測(cè)模塊

    本系統(tǒng)的水位檢測(cè)模塊采用深圳科易互動(dòng)科技有限公司研發(fā)的一款水位傳感器,如圖2所示。此傳感器采用半月形凹陷防滑處理設(shè)計(jì),表面有一系列平行導(dǎo)線用于測(cè)量水滴水量的大小。模塊體積小巧,輕便簡(jiǎn)單,低功耗,靈敏性好,工作電壓為5V,工作電流低于20mA。該水位傳感器可直接與控制器相連接,有三個(gè)引腳,其中,“-”為GND 端口,“+”為VCC 端口,“S”為數(shù)據(jù)輸出端口。

    1.3 顯示模塊

    圖1:ArduinoUNO 控制器

    圖2:水位傳感器

    圖3:LCD1602 液晶顯示器

    本系統(tǒng)的顯示模塊采用液晶顯示器LCD1602 芯片,如圖3所示。該芯片能顯示2 行信息,每行可顯示16 個(gè)字符、數(shù)字或字母,各字符尺寸為2.95×4.35mm。LCD1602 的工作電壓為5.0V,工作電流為2.0mA,驅(qū)動(dòng)簡(jiǎn)單,共有16 個(gè)引腳。其中,引腳1 為電源地,引腳2 為電源正極,引腳3 為液晶顯示偏壓信號(hào),引腳4 為數(shù)據(jù)/命令選擇端,引腳5 為讀/寫選擇端,引腳6 為使能信號(hào),引腳7 ~14為數(shù)據(jù)口,引腳15 為背光源正極,引腳16 為背光源負(fù)極。

    1.4 報(bào)警模塊

    本系統(tǒng)的報(bào)警模塊采用由LED 指示燈和有源蜂鳴器組成的電路。為了使LED、有源蜂鳴器工作在額定電壓和額定電流范圍內(nèi),兩者各串聯(lián)220Ω 電阻。當(dāng)水位低于預(yù)設(shè)的報(bào)警值時(shí),報(bào)警模塊不工作;否則,觸發(fā)報(bào)警模塊工作,驅(qū)動(dòng)LED 點(diǎn)亮、蜂鳴器發(fā)響。

    1.5 系統(tǒng)連接

    本系統(tǒng)的連接圖如圖4所示,LCD1602 芯片的16 個(gè)引腳,采用八位連接法與ArduinoUNO 控制器連接,即第7 ~14 引腳的數(shù)據(jù)位D0 ~D7 分別連接到ArduinoUNO 控制器的八個(gè)數(shù)字I/O 口9、8、7、6、5、4、3、2。為了便于調(diào)節(jié)液晶顯示器的對(duì)比度,第3 引腳接入10kΩ 可調(diào)電阻。

    LED 和有源蜂鳴器的正極并聯(lián)后,接至ArduinoUNO 控制器的數(shù)字I/O 口13。LED 和有源蜂鳴器的負(fù)極分別串聯(lián)220Ω 電阻,再接至控制器的GND 端口。

    水位傳感器的正極接至ArduinoUNO 控制器的VCC 端口,其負(fù)極接至控制器的GND 端口,S 端口接控制器的模擬輸入端口A0。

    2 系統(tǒng)軟件設(shè)計(jì)

    2.1 ArduinoIDE

    本系統(tǒng)所有模塊功能的程序均在Arduino IDE 平臺(tái)中設(shè)計(jì)與完成。在Arduino IDE 平臺(tái)上,Arduino 語(yǔ)言把AVR 單片機(jī)相關(guān)的參數(shù)設(shè)置封裝成函數(shù),減少了硬件底層的開發(fā)。

    啟動(dòng)Arduino IDE 后,新建工程,系統(tǒng)已自動(dòng)在工程中添加如下內(nèi)容:

    圖4:系統(tǒng)連接圖

    圖5:軟件設(shè)計(jì)流程圖

    圖6:水位傳感器置于空氣中

    圖7:水位傳感器浸入水中

    Arduino 程序中沒有C 語(yǔ)言要求的main()函數(shù),只需完成setup()和loop()兩個(gè)函數(shù)的編寫。其中,setup()只執(zhí)行一次,完成程序的一些初始化設(shè)置;loop()一直反復(fù)執(zhí)行,相當(dāng)于while(1)的循環(huán)語(yǔ)句,是實(shí)現(xiàn)程序功能的主體代碼。

    2.2 程序設(shè)計(jì)

    本系統(tǒng)軟件部分的設(shè)計(jì)包括變量的定義與初始化、數(shù)據(jù)采集、數(shù)據(jù)分析、顯示器設(shè)置等。軟件設(shè)計(jì)流程圖如圖5所示。

    當(dāng)Arduino UNO 控制器上電后,啟動(dòng)本系統(tǒng)。首先完成系統(tǒng)初始化,執(zhí)行頭文件命令,由于系統(tǒng)采用液晶顯示器,需要包含頭文件“LiquidCrystal.h”。接著完成變量的定義與初始化等。

    在setup()函數(shù)里,將LED、蜂鳴器引腳配置為OUTPUT 端口,串口波特率初始化為9600,LCD1602 初始化為16 列2 行,傳感器采集第一次數(shù)據(jù)等。

    在loop()函數(shù)里,定時(shí)采集傳感器數(shù)據(jù),通過(guò)analogRead 函數(shù)讀取傳感數(shù)據(jù),并作數(shù)據(jù)分析,水位數(shù)據(jù)顯示在LCD1602 中。LCD1602 第一行顯示當(dāng)前的日期,設(shè)置格式為“年-月-日”;第二行顯示“water:”字符串,其后顯示傳感數(shù)據(jù)。當(dāng)傳感數(shù)據(jù)大于預(yù)設(shè)的報(bào)警值300 時(shí),啟動(dòng)LED 燈點(diǎn)亮、蜂鳴器報(bào)警。系統(tǒng)每隔3s 自動(dòng)采集并更新數(shù)據(jù)于LCD1602 中。

    3 系統(tǒng)性能分析

    為了測(cè)試系統(tǒng)的功能、穩(wěn)定性以及可行性,將系統(tǒng)分別置于空氣和水中,通過(guò)實(shí)驗(yàn)采集數(shù)據(jù),記錄相應(yīng)數(shù)值。如圖6所示,當(dāng)水位傳感器置于空氣中,此時(shí)未浸入水中,水位傳感器采集到的數(shù)據(jù)為9,通過(guò)自定義函數(shù)完成數(shù)據(jù)轉(zhuǎn)換,LCD1602 中顯示為“009”。

    如圖7所示,當(dāng)水位傳感器浸入水中,將其采集到的數(shù)據(jù)顯示于LCD1602 中,本次采集數(shù)據(jù)為“611”,大于預(yù)設(shè)的報(bào)警值300,則觸發(fā)報(bào)警模塊,此時(shí)Arduino UNO 驅(qū)動(dòng)LED 點(diǎn)亮,蜂鳴器發(fā)響,實(shí)現(xiàn)水位過(guò)高的報(bào)警機(jī)制。

    4 小結(jié)

    本文設(shè)計(jì)并制作一款基于Arduino的水位監(jiān)測(cè)報(bào)警系統(tǒng),本系統(tǒng)電路設(shè)計(jì)簡(jiǎn)明,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè),定時(shí)更新并顯示水位的傳感數(shù)據(jù)。通過(guò)實(shí)驗(yàn)表明,系統(tǒng)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示等各功能可靠,報(bào)警響應(yīng)迅速,滿足水位實(shí)時(shí)監(jiān)測(cè)的需求。

    猜你喜歡
    蜂鳴器端口報(bào)警
    電動(dòng)自行車產(chǎn)品車速提示音檢測(cè)現(xiàn)狀和整改技術(shù)研究(2)
    一種端口故障的解決方案
    掌控板制作簡(jiǎn)易鋼琴
    單片機(jī)驅(qū)動(dòng)蜂鳴器的程序設(shè)計(jì)
    LKD2-HS型列控中心驅(qū)采不一致報(bào)警處理
    端口阻塞與優(yōu)先級(jí)
    2015款奔馳E180車安全氣囊報(bào)警
    豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
    初識(shí)電腦端口
    電腦迷(2015年6期)2015-05-30 08:52:42
    生成樹協(xié)議實(shí)例探討
    麻栗坡县| 佛坪县| 巩留县| 新民市| 莱芜市| 平安县| 年辖:市辖区| 梅州市| 柯坪县| 望谟县| 龙岩市| 沂南县| 黄山市| 措勤县| 繁昌县| 佛山市| 搜索| 富阳市| 永福县| 岢岚县| 枣庄市| 越西县| 乌恰县| 寿阳县| 广丰县| 澄迈县| 石嘴山市| 延庆县| 丰原市| 保德县| 凯里市| 临城县| 奈曼旗| 丰城市| 郧西县| 吴川市| 开阳县| 晴隆县| 桓仁| 小金县| 西华县|