×

PSoC 4:使用HCSR 04和CY8CKIT 049 4200测量距离

消耗积分:0 | 格式:zip | 大小:1.72 MB | 2022-12-27

分享资料个

描述

对于 Arduino,这没什么大不了的,对吧?

只需将触发引脚数字写入“高电平”几微秒,然后在回波引脚中脉冲以及时测量脉冲持续时间,将时间转换为距离!

您如何在 PSoC 4 中做到这一点?做一些数学运算以获得时间并在 LCD 上打印!

 

 
poYBAGOpdyWAUyuPAAF_SKZqETw134.jpg
 

那么它是怎样工作的 ?

触发器(也是用于短蓝色闪光的LED 引脚)称为PSoC 的输出引脚,它连接到超声波模块的触发器输入,每500 毫秒变为高电平 10 微秒以触发模块发送超声波. 这是从C 代码完成的,这意味着这部分由 CPU (PSoC 中的 ARM M0)处理。

请注意,触发器和 LED 均由软件控制。

然后模块的Echo Pin会产生一个High Pulse ,脉冲的宽度取决于测量的距离为测量此持续时间,使用了 PSoC 的硬件定时器组件

 
poYBAGOpdyyAM3TEAAFzsZ-nX2c334.jpg
PSoC Creator
 
 
pYYBAGOpdy-AP2gZAAFBrmpQkAw582.jpg
配置定时器组件
 

来自 HC 04 超声波模块的数据表,

回波脉冲高持续时间(以美国为单位)/58 = 1 cm

最大可测量长度 4 米 = 400 厘米将用 400 x 58 = 23200 uS 高脉冲表示。因此,定时器周期(此处为 65535)必须 > 23200。

 

检查上图 -

计数器模式:向上(从 0 到 65535 计数)

运行模式:1次(一旦停止,除非再次启动,否则不会启动)

Compare/Capture : Capture(捕捉定时器停止时的计数)

 

中断:捕获计数(捕获计数时将断言中断)

 

定时器在超声波模块回波引脚的上升沿启动(开始计数)并重新加载(从 0 开始)然后在下降沿停止(停止计数)并计数(从开始到停止的滴答计数),然后中断发生(在ISR 计数转换为时间,更新距离)。

 

当新的 Echo Pulse 出现时,计时器将再次启动!

 

如果您想使用 PSoC 4 进行以下项目:

  • 1. 机器人避障
  • 2. 扫描物体形状
  • 3. 在给定距离检测运动

 

这个迷你项目会很方便!在连续模式下使用另一个定时器,可以定期触发触发引脚,从而从代码中消除 CyDelay 以释放 CPU!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !