OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2165|回复: 6

怎么记录小车的路径?

[复制链接]

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2017-8-1
在线时间
50 小时
发表于 2017-8-9 15:51:13 来自手机 | 显示全部楼层 |阅读模式
第一次手动遥控小车从一个地方到另一个地方,第二次把小车放回起点让它自动沿着第一次路径走,这个该怎么实现啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-8-9 16:02:09 | 显示全部楼层
把遥控的信号记下来,然后记录在当前遥控状态下运行的时间。比如遥控向左走了15秒,向右走了10秒,向前走了3秒……  车速固定的情况下,放回起点,按这个记录再跑一遍
回复 支持 反对

使用道具 举报

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2017-8-1
在线时间
50 小时
 楼主| 发表于 2017-8-9 16:23:17 来自手机 | 显示全部楼层
haysen 发表于 2017-8-9 16:02
把遥控的信号记下来,然后记录在当前遥控状态下运行的时间。比如遥控向左走了15秒,向右走了10秒,向前走了 ...

那怎么记录呢?以什么样的形式保存?要求在断电重启后仍能顺着原来的路径走
回复 支持 反对

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-8-9 18:19:36 | 显示全部楼层
本帖最后由 haysen 于 2017-8-9 18:26 编辑
1473421439 发表于 2017-8-9 16:23
那怎么记录呢?以什么样的形式保存?要求在断电重启后仍能顺着原来的路径走

比如起个链表,链表里有两个成员,一个是运行状态,另一个是运行时间,当运行状态改变的时候添加链表节点。
比如:开始直行3秒钟,向左10秒钟,向右3秒钟,执行7秒钟。
0代表停止,1代表直行,2代表向左,3代表向右,4代表后退
校车开动时创建链表,创建首节点,运行状态为直行;
当接收到到左转命令时,将直行的时间存入第一个节点(【1,3】),并创建第二个节点,
当接收到向右命令时,将向左的时间存入第二个节点(【1,3】->[2,10])
……以此类推,每加一个节点,就将节点写入EEPROM。

等结束遥控后,回到原地,开启原路模式,读EEPROM里的节点,,启动定时器,第一个节点是1,代表先直行,直行3秒,第二个节点是2,代表此时左转,直行10秒……


^^^^^^
或者你装一个电子罗盘,记录方向,在某一个方向运行了多少时间……,这个可能更精确

我也没做过,提供个思路,大家讨论
回复 支持 反对

使用道具 举报

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2017-8-1
在线时间
50 小时
 楼主| 发表于 2017-8-9 22:35:46 来自手机 | 显示全部楼层
haysen 发表于 2017-8-9 18:19
比如起个链表,链表里有两个成员,一个是运行状态,另一个是运行时间,当运行状态改变的时候添加链表节点 ...

没有接触过链表……,谢谢大佬提供思路,我去学学链表,试一试
回复 支持 反对

使用道具 举报

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
228
金钱
228
注册时间
2017-8-1
在线时间
50 小时
 楼主| 发表于 2017-8-10 09:11:26 来自手机 | 显示全部楼层
haysen 发表于 2017-8-9 18:19
比如起个链表,链表里有两个成员,一个是运行状态,另一个是运行时间,当运行状态改变的时候添加链表节点 ...

我现在知道了链表是怎么回事,但是我不知道该如何在eeprom中申请内存,或者是每一个节点手动写到eeprom里?还有结构体该如何写到eeprom里?
回复 支持 反对

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-8-10 09:34:00 | 显示全部楼层
本帖最后由 haysen 于 2017-8-10 09:38 编辑
1473421439 发表于 2017-8-10 09:11
我现在知道了链表是怎么回事,但是我不知道该如何在eeprom中申请内存,或者是每一个节点手动写到eeprom里 ...
链表不链表的无所谓,你内存够大,操作限定的话数字也行。
不过我给你的建议是 先不要想着做这个小车那个小车,先把原子的历程做一遍。还有你C语言编程基础要加强,不要着急着做项目,磨刀不误砍柴工,不会走就先想回跑,那哪行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 13:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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