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