Stm32 如何检测超声波测距传感器是否超出范围?

Stm32 如何检测超声波测距传感器是否超出范围?,stm32,arduino-ultra-sonic,Stm32,Arduino Ultra Sonic,我使用的是jsn-srf04t测距传感器(25厘米到5米范围),我想知道它何时超出范围(25厘米以下) 问题是,当它低于25厘米时,传感器输出有时会变为(90厘米到95厘米或100厘米到120厘米),这会导致无法检测到它是否真的超出范围 有什么解决办法吗?这个问题与此没有直接关系,但我想我还是发布了一个建议/答案 可以检测到小到3厘米的距离。请使用示波器测量输出回波脉冲的宽度。它的范围从100uS到18mS,如果在其范围内没有物体,回波脉冲为36ms。 如果示波器测得的脉冲宽度与您所说的一致,则

我使用的是jsn-srf04t测距传感器(25厘米到5米范围),我想知道它何时超出范围(25厘米以下) 问题是,当它低于25厘米时,传感器输出有时会变为(90厘米到95厘米或100厘米到120厘米),这会导致无法检测到它是否真的超出范围


有什么解决办法吗?

这个问题与此没有直接关系,但我想我还是发布了一个建议/答案

可以检测到小到3厘米的距离。请使用示波器测量输出回波脉冲的宽度。它的范围从100uS到18mS,如果在其范围内没有物体,回波脉冲为36ms。 如果示波器测得的脉冲宽度与您所说的一致,则可能SRF04有故障,或者其安装等有问题。 如果脉冲的宽度是以美国为单位测量的,那么除以58将得到以厘米为单位的距离,或者除以148将得到以英寸为单位的距离。 SRF传感器可以每50毫秒触发一次,或每秒触发20次。在下一次触发之前,您应该等待50毫秒,以确保超声波“嘟嘟”声已经消失,并且不会在下一次测距时造成虚假回波

否则,请检查计时器配置。确保它可以测量数百微秒量级的脉冲,分辨率至少为数十微秒


如果您正在使用,那么您可能处于尽可能低的级别

为什么会列在STM32下?我使用Arduino和STM32控制器来使用这种传感器进行测距,另一方面,大多数参与控制器的人都有一些测距传感器的经验。也许有人看到了这一点,并为我提供了一个解决方案:)如果没有看到任何代码、示意图或您的设置,就无法真正为您提供解决方案。但是我写了一些可能对你有帮助的东西。