当前位置:   article > 正文

Arduino-----超声波传感器的使用学习_超声波传感器arduino

超声波传感器arduino

1.超声波测距基础:超声波频率高,波长短,方向性好,能够成为射线而定向传播等特点

我使用的超声波传感器为【US-015】,如下图:

 它有四个引脚,分别是VCC、GND以及发射引脚Trig、接收引脚Echo

两个探头,一个是发射探头,一个是接收探头。

测距原理:发射探头发射超声波,传感器开始计时,在空气中遇到障碍物就会反射回来,接收器收到返回的超声波波以后就会停止计时,根据计时器记录的时间可以计算出发射点到障碍物的距离。计算公式:S=V·t/2,其中V取340m/s,t为记录的时间

相关参数有:

工作电压:5V

工作电流:15mA

作用角度:小于15°

测量最大距离450cm         最小距离2cm(小于这个距离精度很差,可以说是盲区了)

组装好的电路大概是这样:

 以下是使用的代码及部分注释笔记:

  1. const int TrigPin=8;//设置发射引脚为8号引脚
  2. const int EchoPin=9;//设置接收引脚为9号引脚
  3. float cm;//将数据设为浮点数类型,提高超声探测的精度
  4. /*const之前没有用到过
  5. 它的作用是将定义的脚位存储在只读存储器
  6. 或者认为是UNO板的硬盘里
  7. 作用是在运行中节约UNO板的内部资源
  8. */
  9. void setup() {
  10. // put your setup code here, to run once:
  11. Serial.begin(9600);//开启串口通讯,设置波特率为9600
  12. pinMode(TrigPin,OUTPUT);//将发射引脚初始化为输出模式
  13. pinMode(EchoPin,INPUT);//将接收引脚初始化为输入模式,用于接收传感器的数据
  14. }
  15. void loop() {
  16. // put your main code here, to run repeatedly:
  17. digitalWrite(TrigPin,LOW);//用低高低的电平发送脉冲给发射引脚
  18. delayMicroseconds(2);//短暂延时
  19. /*delayMicroseconds()也是之前没接触过
  20. 但是作用跟Delay是相似的
  21. 也是一个延时函数,单位是微妙
  22. 1000微妙=1毫秒
  23. */
  24. digitalWrite(TrigPin,HIGH);
  25. delayMicroseconds(10);
  26. digitalWrite(TrigPin,LOW);
  27. cm=pulseIn(EchoPin,HIGH)/58.0;//读取脉冲的宽度,并将其换算成厘米
  28. Serial.print(cm);//距离
  29. Serial.print("cm");//单位
  30. Serial.println();//回车
  31. delay(1000);
  32. }

结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/225914
推荐阅读
相关标签
  

闽ICP备14008679号