打印
[应用相关]

怎么用12864实时显示超声波的测距值

[复制链接]
4841|51
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
江左的豪富|  楼主 | 2017-8-4 10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来自 2楼
江左的豪富|  楼主 | 2017-8-5 11:42 | 只看该作者
经过两天的半做半玩,超声波测距12864显示已经完成了,我把程序也贴上了,大家有需要可以自行下载,希望对大家有帮助。本人用的单片机是stm32zet6,超声波模块是HC-SRD4,经测试可以显示四路超声波。
感谢这几天各位前辈对我的教诲和指点,谢谢!!!

自写程序.zip

2.39 MB

超声波测距12864显示

使用特权

评论回复
板凳
fengfeng的恒| | 2017-8-4 11:53 | 只看该作者
题目有点大;分割任务,包含超声波测距部分、12864显示部分。把每部分都调通了,再跟进实时要求整合到一起。可以采用不停测距的方式,每次测到数据发给12864显示即可。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
江左的豪富 + 1
地板
稳稳の幸福| | 2017-8-4 16:17 | 只看该作者
哈哈,你先获取那个距离,然后用12864显示数字。。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
江左的豪富 + 2
5
江左的豪富|  楼主 | 2017-8-4 16:22 | 只看该作者
fengfeng的恒 发表于 2017-8-4 11:53
题目有点大;分割任务,包含超声波测距部分、12864显示部分。把每部分都调通了,再跟进实时要求整合到一起 ...

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

使用特权

评论回复
6
江左的豪富|  楼主 | 2017-8-4 16:23 | 只看该作者
稳稳の幸福 发表于 2017-8-4 16:17
哈哈,你先获取那个距离,然后用12864显示数字。。

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

使用特权

评论回复
7
稳稳の幸福| | 2017-8-4 16:26 | 只看该作者
江左的豪富 发表于 2017-8-4 16:23
现在调多路超声波,请前辈指点一二

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

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
江左的豪富 + 2 很给力!
8
江左的豪富|  楼主 | 2017-8-4 16:36 | 只看该作者
稳稳の幸福 发表于 2017-8-4 16:26
多路的就存一个数组里,然后把这个数组分行显示到屏幕上啊。。。你会不会让屏幕显示字符? ...

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

使用特权

评论回复
9
fengfeng的恒| | 2017-8-4 16:42 | 只看该作者
江左的豪富 发表于 2017-8-4 16:22
恩恩,调好了,现在要调多路超声波,感觉有点棘手了

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

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
江左的豪富 + 2 很给力!
10
稳稳の幸福| | 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 很给力!
11
江左的豪富|  楼主 | 2017-8-4 16:46 | 只看该作者
fengfeng的恒 发表于 2017-8-4 16:42
比如你要调10路,定义一个数组int length[10];
对应的每路数据保存到对应数组下标处。当然了你可以根据自 ...

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

使用特权

评论回复
12
fengfeng的恒| | 2017-8-4 16:57 | 只看该作者
江左的豪富 发表于 2017-8-4 16:46
那是分别调十路,记录数据,然后统一显示,
如果这样,延时会不会太久

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

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
江左的豪富 + 1 赞一个!
13
江左的豪富|  楼主 | 2017-8-5 09:31 | 只看该作者
fengfeng的恒 发表于 2017-8-4 16:57
看你的测距是多远咯。一般都是毫秒级别的,问题不大。

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

使用特权

评论回复
14
gx_huang| | 2017-8-5 09:41 | 只看该作者
所谓设计,要先设计,而不是边调试边设计。
测量一路超声波需要多少时间,显示一路到LCD上需要多少时间,总要事先预估一下。
如果路数太多,当然只能降低刷屏的频率了。超声波会存在干扰,只能一路一路的测试。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
江左的豪富 + 2 赞一个!
15
江左的豪富|  楼主 | 2017-8-5 09:44 | 只看该作者
gx_huang 发表于 2017-8-5 09:41
所谓设计,要先设计,而不是边调试边设计。
测量一路超声波需要多少时间,显示一路到LCD上需要多少时间,总 ...

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

使用特权

评论回复
16
gujiamao12345| | 2017-8-5 16:41 | 只看该作者
江左的豪富 发表于 2017-8-5 11:42
经过两天的半做半玩,超声波测距12864显示已经完成了,我把程序也贴上了,大家有需要可以自行下载,希望对 ...

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

使用特权

评论回复
17
江左的豪富|  楼主 | 2017-8-5 20:11 | 只看该作者
gujiamao12345 发表于 2017-8-5 16:41
能否总结下 如何解决这个问题

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

使用特权

评论回复
18
jimmhu| | 2017-8-5 22:57 | 只看该作者
已经实现了测距了吗?

使用特权

评论回复
19
lihuami| | 2017-8-5 22:57 | 只看该作者
超声波需要触发信号比较费时。

使用特权

评论回复
20
xiaoyaozt| | 2017-8-5 22:58 | 只看该作者
江左的豪富 发表于 2017-8-4 16:23
现在调多路超声波,请前辈指点一二

多路是需要分时测量吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

105

帖子

1

粉丝