国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino的自動飲水機設計與研究

2020-03-30 03:19朱俊
電腦知識與技術 2020年1期
關鍵詞:執(zhí)行器單片機傳感器

朱俊

摘要:Arduino系統(tǒng)是建立在c類語言基礎上的,它將AVR單片機中的一些參數(shù)設置函數(shù)化,用戶可以輕松進行設計和開發(fā)。該文介紹了基于Arduino的自動飲水機系統(tǒng),該系統(tǒng)利用超聲波傳感器進行監(jiān)測,從而判斷水杯離飲水機的距離,再根據(jù)距離將相應信號傳遞Arduino控制板,由Arduino控制板將信號傳遞給場效應管,進而控制電磁閥的閥門開關,達到自動流水和自動停水的目的,該系統(tǒng)具有一定的創(chuàng)新和研究價值。

關鍵詞:Arduino;傳感器;單片機;執(zhí)行器

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2020)01-0279-03

1概述

地球上的淡水資源極其缺乏,陸地上的淡水只占地球儲水量的2.8%。人類生活所使用的淡水資源主要來自江河、淡水湖和地下水,而這些水資源占地球上的淡水儲量的0.34%。大多數(shù)國家和地區(qū)都缺乏飲用水,同時,隨著社會的發(fā)展,很多淡水資源正受到化工業(yè)、造紙等工業(yè)和生活垃圾等各類污染的影響,更加劇了淡水資源的缺乏,人類面臨著越來越嚴峻的挑戰(zhàn)。

生活中,如果水龍頭每秒滴一滴水,那么一年就會浪費1.5噸水。如果采用智能水龍頭替換所有手動水龍頭,當水杯接近飲水機,飲水機就自動放滿水,拿走水杯,飲水機自動停止放水。這樣不僅可以節(jié)約用水,還可以避免用臟手操作水龍頭。2Arduino

Arduino是一系列基于單片機的人機互動產品開發(fā)平臺,它的最大的優(yōu)點是具備了模塊化能力,用戶可以用類似搭積木的方式,將硬件進行系統(tǒng)集成。Arduino具有開放的硬件平臺,用戶可以從網絡上獲取PCB的設計,進行升級改進。

Arduino的硬件系統(tǒng)主要由幾大部件構成,核心是由AVR單片機作為控制器的電路板,AVR機采用的是精簡指令集,指令長度單位使用字,它將組成指令的兩個基本單位操作數(shù)和操作碼集成在一個字當中,所以減少了取指令的時間,并且它可以預取指令,并實現(xiàn)流水作業(yè),因此執(zhí)行指令速度很快。Ardui-no具有種類很多的模塊,這些模塊簡單易用。

Arduino的軟件開發(fā)平臺采用類c語言的高級程序語言,用戶容易快速入門掌握,用戶可以從網絡上下載庫文件直接使用,這樣可以大大縮短軟件開發(fā)周期。

由于Arduino有著以上的優(yōu)點,普通用戶不需要掌握專業(yè)的理論知識,不需要掌握編程技術,也能設計和制造出想要的系統(tǒng)。

2.1基本結構

(1)Arduino控制板

Arduino主控板的型號有很多,如Arduino Uno等。Arduino擴展板的型號同樣也有很多,如Arduino GSM Shield等Arduino的控制板采用AVR單片機,本系統(tǒng)采用的版本是Arduino Uno,這個版本與其他版本不同的地方在于它沒有使用FTDI USB串行驅動芯片,而是把Atmega8U2設置為USB設備,這樣當主控板與計算機相連時,主控板就會作為一個USB設備顯示,而且這樣生產成本降低了。Arduino Uno和其他的單片機控制板原理相同,但因為了大量的開源軟件的支持,使其得到了廣泛的應用和推廣。

(2)輸入模塊

Arduino的輸入模塊主要指的是與外部設備進行信號傳遞的一種裝置,用于把原始信息和處理的指令輸入到系統(tǒng)中,可以是數(shù)值型的數(shù)據(jù),也可以是如溫度、濕度、距離、煙霧、聲音等非數(shù)值型的數(shù)據(jù)。通常各類傳感器是屬于輸入模塊。本系統(tǒng)使用的傳感器為超聲波傳感器,超聲波傳感器可以將超聲波信號轉換成電信號。

(3)輸出模塊

輸出模塊是模塊與外部的執(zhí)行器交互的一種裝置,用于把控制板的信號轉換成相應的動作執(zhí)行,通常執(zhí)行器是屬于輸出模塊。

執(zhí)行器是一些應用系統(tǒng)作為輸出的一種常用部分,它的作用通常是接收由控制器送來的控制信號,從而通過改變被控介質的大小,將被控變量維持在一定的范圍。

執(zhí)行器按其能源形式主要分為電動、氣動、液動三大類。電動執(zhí)行器的能源取用方便,信號傳遞迅速,但結構復雜、防爆性能差。氣動執(zhí)行器利用壓縮的空氣作為動力,穩(wěn)定、適用廣泛。液動執(zhí)行器的特點是輸出推力很大,主要用在需要推力大的環(huán)境下。

本系統(tǒng)的執(zhí)行部分通過金屬氧化物半導體場效應晶體管來控制開關旋轉,從而控制水流。

2.2軟件平臺

Arduino編程語言是類C/C++語言,因為c語言有著廣泛的應用基礎,所以Arduino同樣有著廣泛的使用群體,Arduino將AVR單片機相關的參數(shù)設計成了對應函數(shù),這樣普通用戶不需要太多的編程基礎,通過調用已有函數(shù),也能夠進行軟件設計。

Arduino IDE具有跨平臺的優(yōu)點,既可以在Windows上運行也可以在Linux等操作系統(tǒng)上運行,它具有簡單清晰、開放性、發(fā)展快等特點。Arduino IDE對于初學者來說,極易掌握,同時有著足夠的靈活性。

2.3 Arduino軟件開發(fā)環(huán)境

Arduin01.8.5程序界面如圖1所示,程序界面友好,菜單項精簡易操作,常用功能放在菜單下的常用工具欄處,與普通的程序的界面沒有太大的區(qū)別,即使是初學者不需要太多的基礎,也能進行軟件開發(fā)設計工作,并且調試起來也很方便,極大地方便了項目的開發(fā)。

3硬件設計

本項目所需的材料主要有Arduino Uno控制板、電磁閥、超聲波傳感器、場效應管、電阻、面包板、各類導線等。

3.1 Arduino系統(tǒng)開發(fā)板

Arduino UNO的技術參數(shù)如表1。

3.2工作原理

通過超聲波傳感器來檢查飲水機前是否有物體,如果有物體,由電磁閥控制飲水機的出水口,當通電時,電磁閥打開,飲用水流出。當斷電時,電磁閥關閉,飲用水停止流水。程序將始終監(jiān)測是否有物體放置在超聲波傳感器附近,如果是,則電磁閥打開,并一直監(jiān)測是否有物體移走,如果監(jiān)測到有物體移走,將觸發(fā),電磁閥隨即關閉,飲水機停止流出水。

本項目使用的電磁閥壓強是0-0.8Mpa,功率為6.5W,電壓為直流12V,額定電流為700mA,最大額定電流為1.2A。要啟動電磁閥需要使用場效應管。本項目所使用的場效應管是IRF540N N溝道MOSFET。它有3個引腳,分別是柵極、源極和漏極。電磁閥的正極端子由Arduino的Vin引腳供電。使用12V適配器為Arduino供電,Vin引腳將輸出12V,可用于控制電磁閥。電磁閥的負極端子通過MOSFET的源極和漏極引腳連接到地。因此,只有在MOSFET導通時才會為電磁閥供電。MOSFET的柵極引腳用于打開或關閉它。如果柵極引腳接地,它將保持關閉狀態(tài),如果施加柵極電壓,它將導通。為了在沒有電壓施加到柵極引腳時保持MOSFET關斷,柵極引腳通過10k電阻接地。Arduino引腳12用于打開或關閉MOSFET,因此D12引腳通過1K電阻連接到柵極引腳。使用1K電阻的目的是用于限流。

超聲波傳感器使用的是HC-SR04,由Arduino的+5V和接地引腳供電。Echo和Trigger引腳分別連接到引腳8和引腳9。通過對Arduino進行編程,利用超聲波傳感器測量距離,并在檢測到物體時打開MOSFET。

4軟件設計

使用HCSR-04超聲波傳感器來測量物體前方的距離。當距離<10cm時,打開MOSFET場效應管,當距離≥10cm時,關閉MOSFET場效應管。

為了避免造成重復定義,考慮到一些變量用得多,使用宏定義使算法精練。使用超聲波傳感器的觸發(fā)和回聲引腳,MOSFET柵極引腳和LED作為Arduino的I/O。在連接電路圖時,將Echo和Trigger引腳分別連接到第8和第9個數(shù)字引腳。然后MOSFET引腳連接到引腳12,默認情況下板載LED連接到引腳13。使用以下代碼進行宏定義。

#definetrigger9

#define echo 8

#defineLED 13

#define MOSFET12

在setup函數(shù)中,對輸入和輸出進行聲明。在硬件中,只有超聲波傳感器的Echo引腳是輸入引腳,其余都是輸出引腳??梢允褂肁rduino的pinMode函數(shù)來指定如下所示。

在主loop函數(shù)內部,調用了名為measure_distance(1的函數(shù)。此函數(shù)功能使用超聲波傳感器測量物體前方的距離,并將值更新為變量“distance”。要使用超聲波傳感器測量距離,必須首先將觸發(fā)引腳保持低電平兩微秒,然后保持高電平持續(xù)10微秒并再次保持低電平持續(xù)2微秒。這將向空氣中發(fā)出超聲波信號的聲波,它將被前方的物體反射,回聲引腳將采集由它反射的信號。然后使用時間值來計算傳感器前方物體的距離。計算出距離后,使用if語句比較距離值,如果距離<10cm,將MOSFET和LED變?yōu)楦唠娖?,在else語句中將MOSFET和LED設置為低電平。程序如下:

按照電路中所示進行連接,并將程序寫入Arduino控制板。將電磁閥連接到進水口,并使用12V適配器將電路連接到Ar-duino板的DC插孔。確保板載LED指示燈熄滅,這樣可確保電磁閥也關閉。

將超聲波傳感器直接放置在電磁閥下方,這樣當水杯放置在電磁閥下方時,它會直接與超聲波傳感器相對。超聲波傳感器將探測到物體后,MOSFET和LED一起打開,電磁閥執(zhí)行打開閥門操作,飲用水流出來。

當移除水杯后,超聲波傳感器觸發(fā),信號傳遞給Arduino控制板,控制板將電路斷開,電磁閥閉合,飲用水停止流出。

5結束語

本文研究了一套基于Arduino的自動飲水機系統(tǒng),它利用超聲波傳感器監(jiān)測到靠近飲水機的水杯,從而將信號傳遞Ar-duino控制板,由控制板將執(zhí)行數(shù)據(jù)通過場效應管,將信號傳遞給電磁閥,由電磁閥開啟閥門控制飲水機流出水。當水杯離開飲水機時,超聲波傳器監(jiān)測到水杯離開飲水機,將信號傳遞給控制板,由控制板再將執(zhí)行的數(shù)據(jù)通過場效應管,將信號傳遞給電磁閥,電磁閥的閥門自動閉合,飲水機不再流出水。實驗證明,基于Arduino的自動飲水機系統(tǒng)設計合理,具有一定的實用價值。

猜你喜歡
執(zhí)行器單片機傳感器
康奈爾大學制造出可拉伸傳感器
簡述傳感器在物聯(lián)網中的應用
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
“傳感器新聞”會帶來什么
基于單片機的層次漸變暖燈的研究
基于單片機的便捷式LCF測量儀
跟蹤導練(三)2
測控技術(2018年12期)2018-11-25
飛機裝配預連接緊固件自動化安裝末端執(zhí)行器設計
考慮執(zhí)行器飽和的改進無模型自適應控制