极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11987|回复: 4

用SRO4超声波+1602 测量距离时最后多了两个“mm”这是为什么呢

[复制链接]
发表于 2017-4-28 23:48:14 | 显示全部楼层 |阅读模式
用SRO4超声波+1602   测量距离时最后多了两个“mm”这是为什么呢?还有就是距离感觉不准确应该如何做修改?




我的程序如下:

#include<LiquidCrystal.h>
  LiquidCrystal lcd(12,11,5,4,3,2);
int TringPin=A1;
int EchoPin=A0;
float distance;
void setup() {
  Serial.begin(9600);
  lcd.begin(16,2);
  pinMode(TringPin,OUTPUT);
  pinMode(EchoPin,INPUT);

}

  void loop() {
    digitalWrite(TringPin,LOW);
    delayMicroseconds(5);
    digitalWrite(TringPin,HIGH);
    delayMicroseconds(10);
    digitalWrite(TringPin,LOW);
    distance=pulseIn(EchoPin,HIGH)/58.00;      // 检测脉冲宽度,并计算出距离
   
    lcd.setCursor(0,0);               //设置光标位置
    lcd.print(distance);
    lcd.print("cm");
   
    delay(1000);

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-4-29 09:59:16 | 显示全部楼层
你没有清空画面,显示过的位置不清空,那么上次显示的就会一直在。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-30 22:34:56 | 显示全部楼层
弘毅 发表于 2017-4-29 09:59
你没有清空画面,显示过的位置不清空,那么上次显示的就会一直在。

谢谢,问题已解决,再问你一个问题,这个程序,超声波测出来的距离并不准确好像还差得很远。是什么回事呢,是不是代码有问题呢?
回复 支持 反对

使用道具 举报

发表于 2017-5-5 15:04:32 | 显示全部楼层
为什么不用标准库文件呢?
Ultrasonic.h
很准的.
回复 支持 反对

使用道具 举报

发表于 2017-5-7 00:09:16 | 显示全部楼层
超声波测距精度太差,测量时间太久,抖动个一两厘米甚至几厘米很正常。
如果需要精确测量的话,可以淘宝VL53L0X激光测距,2m内精确到厘米甚至毫米级。youtube上面有用来量身高的例子。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-19 14:41 , Processed in 0.047948 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表