查看: 632|回复: 4

[未解决] 关于超声波测距的误差问题

[复制链接]
  • TA的每日心情
    慵懒
    2020-8-25 13:39
  • 签到天数: 65 天

    [LV.6]常住居民II

    发表于 2020-6-3 16:59 | 显示全部楼层 |阅读模式
    菜鸟请教一下各位大神, 最近做了一个超声波的测距实验,使用的是下面的模块
      

    测距模块

    测距模块

    网上的程序和给的示例都是类似的如下:
    • // 设定SR04连接的Arduino引脚
    • const int TrigPin = 2;
    • const int EchoPin = 3;
    • float distance;
    • void setup()
    • {   // 初始化串口通信及连接SR04的引脚
    •         Serial.begin(9600);
    •         pinMode(TrigPin, OUTPUT);
    •     // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
    •         pinMode(EchoPin, INPUT);
    •     Serial.println("Ultrasonic sensor:");
    • }
    • void loop()
    • {
    •     // 产生一个10us的高脉冲去触发TrigPin
    •         digitalWrite(TrigPin, LOW);
    •         delayMicroseconds(2);
    •         digitalWrite(TrigPin, HIGH);
    •         delayMicroseconds(10);
    •         digitalWrite(TrigPin, LOW);
    •     // 检测脉冲宽度,并计算出距离
    •         distance = pulseIn(EchoPin, HIGH) / 58.00;
    •         Serial.print(distance);
    •         Serial.print("cm");
    •         Serial.println();
    •         delay(1000);
    • }
    为什么我得到的返回值和实际测量的有很大的差异, 比如模块电路板与墙面有10cm的距离,但是我得到的数值是8.7CM左右。

    大神能否给解答一下,是哪里出现问题了吗?
    谢谢
  • TA的每日心情
    开心
    2020-6-23 14:19
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2020-6-3 18:16 | 显示全部楼层
    对于这个SR04这个精度已经可以了吧
  • TA的每日心情
    开心
    2020-9-20 05:13
  • 签到天数: 683 天

    [LV.9]以坛为家II

    发表于 2020-6-3 20:12 | 显示全部楼层
    距离应是模块前沿到墙面为准.对于3厘米以上的距离测量精度还是满好的.
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2020-6-3 22:28 | 显示全部楼层
    SR04 不能用 pulseIn 函数,原因:

    TRIG 有个正脉冲后,没来及运行到 pulseIn,ECHO 立刻就出现了 H 电平.
    而 pulseIn 函数必须是检测到 L->H->L 才能返回 H 时间。

    于是上述程序根本没能正确测试到 ECHO 高电平时间长度。

    正确做法:TRIG 加载正脉冲后,直接等待 ECHO 高电平时长即可,不使用 pulseIn
  • TA的每日心情
    慵懒
    2020-8-25 13:39
  • 签到天数: 65 天

    [LV.6]常住居民II

     楼主| 发表于 2020-6-4 10:19 | 显示全部楼层
    t3486784401 发表于 2020-6-3 22:28
    SR04 不能用 pulseIn 函数,原因:

    TRIG 有个正脉冲后,没来及运行到 pulseIn,ECHO 立刻就出现了 H 电平. ...

    好的,我去试试,谢谢指点
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    ESP8266物联网创意点阵时钟,女朋友看了都想要!
    ESP8266物联网创意点阵时
    [md]本文作者:默 & 铁熊 前段时间我在网上看到了一款很有意思的点阵时钟,它可以
    小白救助 让LED等按顺序亮的程序
    小白救助 让LED等按顺序亮
    如何让4个led按图片的顺序依次亮 就算第一个亮一次 第二个亮两次 第三个亮三次 第四个
    让LED等按顺序亮的程序
    让LED等按顺序亮的程序
    网友eobeom提问帖,问题是:如何让4个led按图片的顺序依次亮,第一个亮一次、 第二个
    新手求助!blinker同步到米家,但手机里的小爱控制不了ESP8266
    新手求助!blinker同步到
    搞了两个晚上还是没解决,请大神帮忙看看 我的手机是苹果手机,下了点灯,米家,小爱
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表