人们可以听到的声音的频率为2Hz~20KHz,20KHz以上的声音称为超声波 (Ultrasound)。超声波可以在气体、液体及固体中传播,其传播速度不同。
(图)超声波频率分布
本次实验采用的超声波传感器如下:
超声波测距原理
超声波测距原理:超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。
(图)超声波测距原理
测距的公式表示为:L=C×T
式中 L 为测量的距离长度;
C 为超声波在空气中的传播速度;
T 为测量距离传播的时间差(T 为发射到接收时间数值的一半)。
已知超声波速度C=344m/s (20℃室温)
超声波传播速度误差超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系。
(图)温度影响
近似公式为:C=C0+0.607×T℃
式中:C0为零度时的声波速度332m/s;T为实际温度(℃)。
Arduino
ultrasonic.ino1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| int Echo = 40; int Trig = 42;
void setup() { Serial.begin(9600); pinMode(Trig, OUTPUT); digitalWrite(Trig, LOW); pinMode(Echo, INPUT); }
void loop() { float Fdistance, Distance ; digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); Fdistance = pulseIn(Echo, HIGH); Fdistance= Fdistance/58.14; Distance = Fdistance; Serial.print("Distance:"); Serial.print(Distance); Serial.println("cm");
delay(1000); }
|
参考
超声波传感器测距方法详解
超声波测距原理与超声测距传感器知识简介