超音波偵測

硬體

HC-SR04

VCC:紅線

Trig:綠線

Echo:黃線

Gnd:黑線


RJ11插頭請插D12 D13


綠色:D13--trig pin

黃色:D12--echo pin


程式

原理

以上的程式碼重點在於超音速測距的原理,是透過arduino發出訊號給超音波模組,然後發射端就會發出超音波,當超音波打到東西再返回時,接收端收到訊號告訴arduino。arduino計算這兩者的時間差Δt,Δt再除以2,那個就是單程所費的時間。


音速的計算方式和溫度有關

c = 331.5 + 0.6 * [攝氏]

20°C的時候, c = 331.5 + 0.6 * 20 = 343.5 m/s


換算成每微秒(ųs)幾公分的話,那就是

c = 343.5 * 100 / 1000000 = 0.03435 cm/ųs


假設在20°C,arduino計算的時間差Δt為 250 ųs,那麼測距就是

250 * 0.03435 = 8.6 cm


除了用音速直接計算,也可以用速度的倒數(pace)來計算

The Pace of Sound = 1 / Speed of Sound = 1 / 0.03435 = 29.1 ųs/cm

因此距離就可以用 D = 250 / 29.1 = 8.6 cm