怎样用超声波传感器来检测前方一定距离内有无障碍,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 01:04:26
怎样用超声波传感器来检测前方一定距离内有无障碍,
严格的说“前方一定距离有无障碍”太笼统.
什么是前方障碍,从大范围来说,一个钉子、一个坑,一根横着的绳子,它们都是障碍,但这些超声波的识别率很低.实际上微波、视频也很难胜任,激光就更不用提了.
所以,我不得不明确一下,如果前方有一面墙,超声波是能检测到的,如果是一根电线或者水坑什么的,超声波是无法识别的.在这一点能接受的情况下,我们才可以继续把这个想法深入下去:
用超声波来判断前方障碍,用一个测距模块就可以了,MCU反复读取前方测距的数值,如果连续几次测距,返回的距离信息都在‘障碍’定义的距离范围之内,就判断为前方有障碍,程序则控制转向或停车,或者报警.
再问: 先谢谢你的答案,我使用的是HC-SR04超声波模块,就假设前方是一面墙,是不是用E端高电平的时间T和一个数值X比较(这个数值是由需要检测墙的距离而确定),TX则无,问哈我的分析对还是不对。
再答: 。。。这个,您得问HC-SR04厂家或销售商,问问他们这个输出接口是怎么定义的。。。
再问: 我把HC-SR04的资料发到你邮箱里了,帮我看哈
再答: 刚才看到了,这个模块设计得不错,尤其在发射电路上设计得很巧妙。 厂家对于HC-SR04模块的接口定义: T脚:“触发测距,给至少10us的高电平信号” E脚:“高电平持续的时间就是超声波从发射到返回的时间” 对于E脚,我没有理解用这个方式输出有什么优势,但咱们先按照这个接口来设计吧,伪代码如下: //定义T为与模块T脚相连的IO脚; //定义E为与模块E脚相连的IO脚; //定义L为int16类型,存储计时数据,它也代表着距离; //定义D为int16类型,用于调整两次测距的时间间隔; //定义B为障碍的触发距离,可以通过实测L的数值来得到; //定义W为接警报LED灯或嗡鸣器的IO脚; while(1) { T=1; //延迟10uS,建议加几行nop(); T=0; L=0; for(D=0;D
什么是前方障碍,从大范围来说,一个钉子、一个坑,一根横着的绳子,它们都是障碍,但这些超声波的识别率很低.实际上微波、视频也很难胜任,激光就更不用提了.
所以,我不得不明确一下,如果前方有一面墙,超声波是能检测到的,如果是一根电线或者水坑什么的,超声波是无法识别的.在这一点能接受的情况下,我们才可以继续把这个想法深入下去:
用超声波来判断前方障碍,用一个测距模块就可以了,MCU反复读取前方测距的数值,如果连续几次测距,返回的距离信息都在‘障碍’定义的距离范围之内,就判断为前方有障碍,程序则控制转向或停车,或者报警.
再问: 先谢谢你的答案,我使用的是HC-SR04超声波模块,就假设前方是一面墙,是不是用E端高电平的时间T和一个数值X比较(这个数值是由需要检测墙的距离而确定),TX则无,问哈我的分析对还是不对。
再答: 。。。这个,您得问HC-SR04厂家或销售商,问问他们这个输出接口是怎么定义的。。。
再问: 我把HC-SR04的资料发到你邮箱里了,帮我看哈
再答: 刚才看到了,这个模块设计得不错,尤其在发射电路上设计得很巧妙。 厂家对于HC-SR04模块的接口定义: T脚:“触发测距,给至少10us的高电平信号” E脚:“高电平持续的时间就是超声波从发射到返回的时间” 对于E脚,我没有理解用这个方式输出有什么优势,但咱们先按照这个接口来设计吧,伪代码如下: //定义T为与模块T脚相连的IO脚; //定义E为与模块E脚相连的IO脚; //定义L为int16类型,存储计时数据,它也代表着距离; //定义D为int16类型,用于调整两次测距的时间间隔; //定义B为障碍的触发距离,可以通过实测L的数值来得到; //定义W为接警报LED灯或嗡鸣器的IO脚; while(1) { T=1; //延迟10uS,建议加几行nop(); T=0; L=0; for(D=0;D
如何调节超声波传感器测试距离
有没有达到毫米级精度的超声波传感器,需要用在移动机器人上,离地高度5cm,检测距离10cm至50cm
超声波传感器测距原理是运用了声波在传导过程中的衰减还是在用它的往返时间计算距离?我指的是用在机器人里让它躲避障碍的传感器
解释如何用超声波传感器来测量位移?
怎样用万用表检测开关
无表面电阻测试仪,有无其它方法来检测防静电袋子是否合格?
香港中文大学英语授课大陆新生有无障碍
细胞核内有无核糖体?
原核细胞内有无染色质?
在平直公路上以10米每秒的速度匀速行驶的汽车,现遇前方有一障碍需要紧急刹车,测得汽车刹车后第2秒内运动了7秒,求汽车在刹
怎样用万用表检测电容好坏
怎样用试电笔检测电路故障?