为什么我的SR04超声波模块一有障碍物就显示0cm

程序如下:... 程序如下: 展开
 我来答
魔蝎张东鹏
2018-01-28 · TA获得超过609个赞
知道小有建树答主
回答量:564
采纳率:62%
帮助的人:168万
展开全部
超声波是有最近和最远的范围的,普通超声波模块只能测大概2cm以上的距离。太近会出现一些比较奇怪的数值。
追问
我把障碍物放到1m左右 串口传回来的数据是0cm
莱科斯
2023-06-12 广告
太阳能电池片(硅片)与太阳能组件的检测太阳能EL检测仪用于检测太阳能电池片(硅片)与组件的内部缺陷,主要应用于内部硅片的:裂纹,黑心,黑边,断栅的测试。 检测太阳能电池及组件的内部缺陷问题,包括隐裂,破片,碎片,断线,删节网纹。苏州莱科斯新... 点击进入详情页
本回答由莱科斯提供
既无脑又愚蠢
2018-01-27 · TA获得超过216个赞
知道答主
回答量:371
采纳率:32%
帮助的人:38.5万
展开全部
用这个试试
// 设定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);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式