arduino教程-08.超声波的应用
topic
- 2.1 認識超聲波
 - 2.2 影響聲音傳播速度的因素
 - 2.3 超聲波傳感器簡介
 - 2.4 實驗
 - 任務1:使用超聲波傳感器制作數字量尺
 - 測量脈沖持續時間的pulseln()函數
 
- 2.5 hc-sr04超聲波傳感器
 
超聲波選型指南
2.1 認識超聲波
可在空氣中傳播的超聲波頻率,大約介于20~200KHz之間,其衰減程度與頻率成正比(即頻率越高,傳播距離越短)
 在室溫20°C的環境中,聲波的傳輸速度約為344m/s(**聲音在水中傳播的速度比在空氣快60倍),因此,假設超聲波往返的時間為600μs,可通過公式:距離=344米/秒×傳播時間2距離 = 344米/秒 \times \frac{傳播時間}{2}距離=344米/秒×2傳播時間? 求得:被測物的距離為10.3cm。
2.2 影響聲音傳播速度的因素
速度=V0+0.6×T速度 = V_0 + 0.6 \times T 速度=V0?+0.6×T
其中,V0V_0V0?:聲音在0攝氏度時的傳播速度331.5米/秒。T:溫度
波長=相速度頻率波長 = \frac{相速度}{頻率} 波長=頻率相速度?
2.3 超聲波傳感器簡介
超聲波傳感器模塊上面通常有兩個超聲波元器件,一個用于發射,一個用于接收。電路板上有4個引腳:VCC(正極)、Trig(觸發)、Echo(回應)、GND(接地),主要參數:
- 工作電壓與電流 :5V、15mA。
 - 感測距離 :2~400cm
 - 感測角度:不大于15°。
 - 被測物的面積不要小于50cm2并且盡量平整。
 - 具備溫度補償電路。
在超聲波模塊的觸發腳位輸入10微妙以上的高電位,即可發射超聲波,發射超聲波之后,與接收到傳回的超聲波之前,“響應”腳位呈現高電位。因此,程序可從“響應”腳位的高電位脈沖持續時間,換算出被測物的距離。 
2.4 實驗
任務1:使用超聲波傳感器制作數字量尺
實驗說明: 使用超聲波感測與障礙物之間的距離,顯示在串口監視器或LCD模塊。
 實驗材料:
| 超聲波傳感器 | 1個 | 
測量脈沖持續時間的pulseln()函數
Arduino提供一個測量脈沖時間長度的pulseln()函數,語法格式:
Syntax
 pulseIn(pin, value)
 pulseIn(pin, value, timeout)
 此函數將傳回微妙單位的脈沖時間,建議用unsigned long類型的變量來存放。
 pulseln()函數會等待脈沖出現再開始計時,預設的等待截止時間是1秒(即10610^6106微秒),假如脈沖信號未在等待時間內出現,pulseln()將傳回0.假如有需要,指定timeout的值為10微秒~3分鐘的等待截止時間。
 如果想要測量信號的頻率,可以采用Martin Nawrath開發的頻率計時器擴展庫“FreqCounter”。
Parameters
 pin: the number of the pin on which you want to read the pulse. (int)
 value: type of pulse to read: either HIGH or LOW. (int)
timeout (optional): the number of microseconds to wait for the pulse to start; default is one second (unsigned long)
 實驗程序:
2.5 hc-sr04超聲波傳感器
HC-SR04超聲波傳感器使用聲納來確定物體的距離。它提供了非常好的非接觸范圍檢測,準確度高,讀數穩定,易于使用,尺寸從2厘米到400厘米或1英寸到13英尺不等。
 其操作不受陽光或黑色材料的影響,盡管在聲學上,柔軟的材料(如布料等)可能難以檢測到。它配有超聲波發射器和接收器模塊。
 
| 電源 | + 5V DC | 
| 靜態電流 | <2mA | 
| 工作電流 | 15mA | 
| 有效角度 | <15° | 
| 測距距離 | 2厘米-400厘米/1英寸-13英尺 | 
| 分辨率 | 0.3厘米 | 
| 測量角度 | 30度 | 
你將需要以下組件:
- 1 × Breadboard 面包板
 - 1 × Arduino Uno R3
 - 1 × 超聲波傳感器(HC-SR04)
 
超聲波傳感器有四個端子:+5V,Trigger,Echo和GND,連接如下:超聲波傳感器有四個端子:+5V,Trigger,Echo和GND,連接如下:
- 將+5V引腳連接到Arduino板上的+5v。
 - 將Trigger連接到Arduino板上的數字引腳7。
 - 將Echo連接到Arduino板上的數字引腳6。
 - 將GND連接到Arduino上的GND。
 
在我們的程序中,我們通過串口顯示了傳感器測量的距離,單位為英寸和厘米。
 結果,你將在Arduino串口監視器上看到傳感器測量的距離,單位為英寸和厘米。
總結
以上是生活随笔為你收集整理的arduino教程-08.超声波的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 消息中间件详解
 - 下一篇: autocad连接mysql_AutoC