ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
查看: 1202|回复: 51
收起左侧

[应用相关] 怎么用12864实时显示超声波的测距值

[复制链接]
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-4 10:19 | 显示全部楼层 |返回版面|阅读模式
如题
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-5 11:42 | 显示全部楼层 |返回版面
经过两天的半做半玩,超声波测距12864显示已经完成了,我把程序也贴上了,大家有需要可以自行下载,希望对大家有帮助。本人用的单片机是stm32zet6,超声波模块是HC-SRD4,经测试可以显示四路超声波。
感谢这几天各位前辈对我的教诲和指点,谢谢!!!

本帖子中包含更多资源

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

x
     

1

主题

73

帖子

223

积分

中级技术员

发表于 2017-8-4 11:53 | 显示全部楼层 |返回版面
题目有点大;分割任务,包含超声波测距部分、12864显示部分。把每部分都调通了,再跟进实时要求整合到一起。可以采用不停测距的方式,每次测到数据发给12864显示即可。

评分

参与人数 1威望 +1 收起 理由
江左的豪富 + 1
     

62

主题

1990

帖子

6004

积分

高级工程师

发表于 2017-8-4 16:17 | 显示全部楼层 |返回版面
哈哈,你先获取那个距离,然后用12864显示数字。。

评分

参与人数 1威望 +2 收起 理由
江左的豪富 + 2
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-4 16:22 | 显示全部楼层 |返回版面
fengfeng的恒 发表于 2017-8-4 11:53
题目有点大;分割任务,包含超声波测距部分、12864显示部分。把每部分都调通了,再跟进实时要求整合到一起 ...

恩恩,调好了,现在要调多路超声波,感觉有点棘手了
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-4 16:23 | 显示全部楼层 |返回版面
稳稳の幸福 发表于 2017-8-4 16:17
哈哈,你先获取那个距离,然后用12864显示数字。。

现在调多路超声波,请前辈指点一二
     

62

主题

1990

帖子

6004

积分

高级工程师

发表于 2017-8-4 16:26 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-4 16:23
现在调多路超声波,请前辈指点一二

多路的就存一个数组里,然后把这个数组分行显示到屏幕上啊。。。你会不会让屏幕显示字符?

评分

参与人数 1威望 +2 收起 理由
江左的豪富 + 2 很给力!
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-4 16:36 | 显示全部楼层 |返回版面
稳稳の幸福 发表于 2017-8-4 16:26
多路的就存一个数组里,然后把这个数组分行显示到屏幕上啊。。。你会不会让屏幕显示字符? ...

显示字符我会,但是多路超声波存一个数组能再具体一些么。。。
     

1

主题

73

帖子

223

积分

中级技术员

发表于 2017-8-4 16:42 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-4 16:22
恩恩,调好了,现在要调多路超声波,感觉有点棘手了

比如你要调10路,定义一个数组int length[10];
对应的每路数据保存到对应数组下标处。当然了你可以根据自己需求定义数据类型。显示的时候直接显示整个数组的内容就可以了。

评分

参与人数 1威望 +2 收起 理由
江左的豪富 + 2 很给力!
     

62

主题

1990

帖子

6004

积分

高级工程师

发表于 2017-8-4 16:46 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-4 16:36
显示字符我会,但是多路超声波存一个数组能再具体一些么。。。

int ss_val[10];
for(int i=0;i<10;i++)
{

ss_val[x]=get_val(x);
}
然后显示ss_val到屏幕。。

评分

参与人数 1威望 +2 收起 理由
江左的豪富 + 2 很给力!
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-4 16:46 | 显示全部楼层 |返回版面
fengfeng的恒 发表于 2017-8-4 16:42
比如你要调10路,定义一个数组int length[10];
对应的每路数据保存到对应数组下标处。当然了你可以根据自 ...

那是分别调十路,记录数据,然后统一显示,
如果这样,延时会不会太久
     

1

主题

73

帖子

223

积分

中级技术员

发表于 2017-8-4 16:57 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-4 16:46
那是分别调十路,记录数据,然后统一显示,
如果这样,延时会不会太久

看你的测距是多远咯。一般都是毫秒级别的,问题不大。

评分

参与人数 1威望 +1 收起 理由
江左的豪富 + 1 赞一个!
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-5 09:31 | 显示全部楼层 |返回版面
fengfeng的恒 发表于 2017-8-4 16:57
看你的测距是多远咯。一般都是毫秒级别的,问题不大。

3米之内,目前几乎都在1米之内,我调一下先,谢谢前辈
     

26

主题

6277

帖子

1万

积分

资深工程师

发表于 2017-8-5 09:41 | 显示全部楼层 |返回版面
所谓设计,要先设计,而不是边调试边设计。
测量一路超声波需要多少时间,显示一路到LCD上需要多少时间,总要事先预估一下。
如果路数太多,当然只能降低刷屏的频率了。超声波会存在干扰,只能一路一路的测试。

评分

参与人数 1威望 +2 收起 理由
江左的豪富 + 2 赞一个!
移动通信设计,GPS防盗定位终端设计。各种电子产品设计,温度仪表设计专家。
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-5 09:44 | 显示全部楼层 |返回版面
gx_huang 发表于 2017-8-5 09:41
所谓设计,要先设计,而不是边调试边设计。
测量一路超声波需要多少时间,显示一路到LCD上需要多少时间,总 ...

恩恩,先设计,再调试,我明白了,谢谢前辈
     

13

主题

581

帖子

1810

积分

版主

发表于 2017-8-5 16:41 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-5 11:42
经过两天的半做半玩,超声波测距12864显示已经完成了,我把程序也贴上了,大家有需要可以自行下载,希望对 ...

能否总结下 如何解决这个问题
     

8

主题

71

帖子

223

积分

中级技术员

 楼主| 发表于 2017-8-5 20:11 | 显示全部楼层 |返回版面
gujiamao12345 发表于 2017-8-5 16:41
能否总结下 如何解决这个问题

我总结一下思路吧,我首先分别调好了12864,超声波测距,然后把两者结合起来,开始是显示一路超声波,之后扩展至多路。
测距具体看程序吧,感觉程序写得已经很简单了。
这过程还是比较顺利的,没有遇上什么问题,其他有想到再补充吧。

1

主题

831

帖子

2493

积分

初级工程师

发表于 2017-8-5 22:57 | 显示全部楼层 |返回版面
已经实现了测距了吗?

2

主题

809

帖子

2442

积分

初级工程师

发表于 2017-8-5 22:57 | 显示全部楼层 |返回版面
超声波需要触发信号比较费时。

0

主题

828

帖子

2489

积分

初级工程师

发表于 2017-8-5 22:58 | 显示全部楼层 |返回版面
江左的豪富 发表于 2017-8-4 16:23
现在调多路超声波,请前辈指点一二

多路是需要分时测量吗?
*滑动验证:
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

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