极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16705|回复: 7

求教大神为啥一个简单的超声波测距不对呢?

[复制链接]
发表于 2015-8-13 23:02:19 | 显示全部楼层 |阅读模式
大神,
arduino+超声波测距模块 HC-SR04
模块上有VCC GND TRIG ECHO几个接口,
VCC GND分别接5v gnd
trig echo 分别接12, 13  (其他接口也试过)
代码很简单,但是结果不对,不知道问题出在哪里,代码如下:

const int TrigPin = 12;
const int EchoPin = 13;
float distance;
void setup()
{
  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(100);
  digitalWrite(TrigPin, LOW);

  //digitalWrite(EchoPin, LOW);
  // 检测脉冲宽度,并计算出距离
  //distance = pulseIn(EchoPin, HIGH) / 58.00;
// int t=0;
// while (!digitalRead(EchoPin));
// while (digitalRead(EchoPin)){ delayMicroseconds(10);t++; }
distance = pulseIn(EchoPin, HIGH);
  //声音速度一般29.15 微秒/厘米,往返则要*2,得出58    or *0.017   cm
  Serial.println(distance);
  distance = (distance)/58.0;
  Serial.print(distance);
  Serial.println("CM");
  delay(1000);
}

输出如下,完全不对,发射超声波的圆筒附近放手 放东西都数值都不变:
188742.00
3254.17CM
188743.00
3254.19CM
188683.00
3253.16CM
188814.00
3255.41CM
188756.00
3254.41CM
188707.00
3253.57CM

不知道哪位大神遇到过类似的情况,求指点!
回复

使用道具 举报

发表于 2015-9-9 20:03:24 | 显示全部楼层
// 产生一个10us的高脉冲去触发TrigPin
  digitalWrite(TrigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(100);
  digitalWrite(TrigPin, LOW);

是不是该是delayMicroseconds(10);
回复 支持 1 反对 0

使用道具 举报

发表于 2015-9-10 10:50:27 | 显示全部楼层
超声波启动程序不对       100改为10

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2015-8-14 00:03:06 | 显示全部楼层
第一检查连线是否正确。看你的情况我也遇到过,读数基本保持不变,那就
第二查验模块是否损坏,用手堵住发射口,检查读数
我的那个是第三,模块坏了。本来超声波工作时是听不到声音的,可是我的可以,于是不是超声波了。
仅供参考
回复 支持 反对

使用道具 举报

发表于 2015-8-14 08:47:52 | 显示全部楼层
TX 和RX 尽量保持水平保持
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-14 11:21:04 | 显示全部楼层
@萧芸凤  多谢  线检查过应该没问题。 准备再买看看。按理说这玩意应该不会容易坏。有人说带晶振的模块比不带的效果要差,这回换一个试试。问题很奇怪,按理说应该很简单的用法。

TX 和RX 尽量保持水平保持 是什么意思?
回复 支持 反对

使用道具 举报

发表于 2015-8-15 18:19:31 | 显示全部楼层
我用过正常,你再看一下程序延时
回复 支持 反对

使用道具 举报

发表于 2015-8-15 18:19:55 | 显示全部楼层
188742.00这是测什么?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 23:22 , Processed in 0.052099 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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