Arduino使用HC-SR04超声波测距

 时间:2024-11-02 15:20:14

1、对于距离测试的方法有很多种,而使用超声波来测距是很常见的,下面使用到的超声波模块HC-SR04,可测量范围为2-400cm,下面是其照片如下:

Arduino使用HC-SR04超声波测距

2、其有4根PIN,分别是VCC、Trig、Echo、GND,将其分别接到Arduino UNO R3板卡的5V、Digital PIN7、Digital PIN8、GND。

3、硬件连接好后,就是打开Arduino的开发IDE,然后创建文件,将下面的源码保存起来:

4、int echoPin = 8;int trigPin = 7;int ledPin = 13;void setup() { pinMode(ledPin, OUTPUT); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);}void loop() { long duration, cm; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); cm = msToCm(duration); if (cm > 20) { digitalWrite(ledPin, LOW); } else { digitalWrite(ledPin, HIGH); } delay(500);}long msToCm(long ms) { return ms / 29 / 2;}

5、从源码可以看到,每次都从Trig引脚发送一个高电平方波脉冲,然后使用pluseIn()函数读取Echo引脚检测到孕驷巴墟高电平需要多久,再将该时间值进行转换,即可得到距离值,声音在空气的传播速度为340m/s,那么相当于1ms传播29cm,而上面测试得到的是来回往返的时间差,故而还要减半处理。当得到的距离值超过20cm时,会将UNO板上的L灯灭掉,如果小于该值则亮灯。

  • keil4资源窗口在哪里
  • 什么是虚拟化
  • Mathematica怎么输入“数词+量词”?
  • Labview新手入门--簇的控件使用
  • VisualStudio2010创建C#应用程序
  • 热门搜索
    鞋带太长怎么系 玫瑰花怎么养 zara怎么读 桥牌怎么玩 怎么计算胎儿体重 动物用英语怎么说 眼皮跳是怎么回事 我怎么这么好看 眼睛充血怎么治疗 淤青怎么快速消除