新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > Arduino超聲測距系統設計

        Arduino超聲測距系統設計

        作者: 時間:2018-07-30 來源:網絡 收藏

        Arduino是目前較為流行的電子互動平臺,基于嵌入式系統開發,具有使用簡單,功能多樣,價格低廉等優點,廣泛應用于電子系統設計和互動產品開發方面。我們采用Arduino作為主控制器,結合模塊,1602液晶模塊,進行了超聲波測距系統的軟硬件設計。

        本文引用地址:http://www.104case.com/article/201807/384475.htm

        一、“電子積木”Arduino

        近幾年,歐美大學皆相當流行應用Arduino作為基礎的技術,在國內使用Arduino的人也越來越多。

        Arduino為什么會這樣流行?首先因為它是一個基于開放源代碼的硬件項目平臺:

        1.硬件平臺是開放的,任何人都可以在Arduino官方網站上下載最新的PCB設計進行復制,硬件平臺包括基于AVR ATmega128微控制器的主控制電路板,以及大量的各式輸入/輸出電子模塊。輸入/輸出模塊包括開關輸入模塊、溫度壓力傳感器輸入模塊、傳感器輸入模塊、各類顯示輸出模塊、電機控制模塊等,甚至還有以太網接入模塊。這些模塊與主控制電路板的連接,不需焊接,只要像積木一樣拼在一起即可。因此,Arduino也被稱為“電子積木”.

        2.在軟件方面,Arduino有一個屬于自己的基于Eclipse的IDE軟件開發環境,開發語言采用類C++語言的高級語言,容易被使用者掌握。有大量的庫文件可以通過互聯網下載免費獲得,大大簡化了程序開發工作。

        二、超聲波測距原理

        由于超聲波具有指向性強,在傳輸中能量消耗低,傳播的距離較遠等優點而被經常用于工業控制、建筑測量、汽車倒車系統等領域。

        超聲波測距儀是利用超聲波發射器向某一方向發射超聲波,在發射時刻開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。根據計時器記錄的超聲波傳播時間,以及超聲波在相應介質中的傳播速度就可以計算出發射點距障礙物的距離S=C*t/2,其中C為超聲波在空氣中的傳播速度,t為聲波往返所用的時間。

        超聲波的傳播主要受空氣密度的影響,空氣的密度越高其速度就越快,而空氣的密度又與溫度有著密切的關系。空氣中的聲波傳播速度可近似地表示為C=331.4+0.607*T,其中T是空氣介質的溫度。超聲波的傳播速度式中:

        C=331.4m/S為零度時的聲波速度;T為實際溫度(℃)。在測距精度不是很高的情況下,一般認為c為常數340m/s.

        三、超聲波測距儀的硬件設計

        超聲波測距儀的硬件設計主要有ArduinoUNO主控制板、模塊LCD1602液晶顯示模塊。

        1.超聲波板主要技術參數的介紹:

        (1)工作電壓:DC5V;

        (2)靜態電流:小于2mA;

        (3)電平輸出:高5V;

        (4)電平輸出:底0V;

        (5)感應角度:不大于15度;

        (6)感應距離:4cm-5米;

        (7)高精度:0.3cm.

        板上接線如圖1所示(左數起):

        (1)VCC;

        (2)trig(控制端);

        (3)echo(接收端);

        (4)out(空腳);

        5)GND.

        2.Arduino與超聲測距的連接方式:

        Arduino的數字6腳與超聲測距模塊的第2腳連接,Arduino的數字7腳與超聲測距模塊的第3腳連接。

        3.1602液晶與Arduino板連接圖如圖2所示:

        4.實物連接圖如圖3所示:

        四、軟件代碼

        1.在采用Arduino編程的過程中,主要用pulseIn()函數,pulseIn()函數用來讀取一個引腳的脈沖(HIGH或LOW)。例如,如果value是HIGH,pulseIn()會等待引腳變為HIGH,開始計時,再等待引腳變為LOW并停止計時。返回脈沖的長度,單位微秒。如果在指定的時間內無脈沖函數返回。計時范圍從10微秒至3分鐘。

        (1秒=1000毫秒=1000000微秒)語法:

        pulseIn(pin,value)或pulseIn(pin,value,timeout)

        參數:

        pin:你要進行脈沖計時的引腳號(int)。

        value:要讀取的脈沖類型,HIGH或LOW(int)。

        Timeout(可選):指定脈沖計數的等待時間,單位為微秒,默認值是1秒(unsigned long)超聲測距的主要代碼:

        五、總結

        本文以Arduino為工作處理器核心,設計了超聲測距模塊,準確度達到測距模塊精度。由于Arduino是一個開源的系統,可以通過互聯網下載免費獲得庫文件,從而大大簡化了程序開發工作。Arduino是適合電子愛好者進行開發產品的一個平臺。



        關鍵詞: Arduinoo 超聲測距

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 防城港市| 荔波县| 浙江省| 武平县| 民乐县| 抚宁县| 金秀| 德钦县| 汉源县| 思茅市| 新泰市| 晋中市| 灵山县| 正定县| 崇仁县| 阳江市| 阳曲县| 罗甸县| 棋牌| 苍山县| 清涧县| 麦盖提县| 三门县| 嘉兴市| 卢湾区| 嵊泗县| 溧水县| 鸡西市| 山西省| 托克逊县| 林西县| 定西市| 罗江县| 云阳县| 嘉祥县| 阿勒泰市| 丹寨县| 施秉县| 望江县| 彝良县| 罗源县|