博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
遥控小车日志
阅读量:3931 次
发布时间:2019-05-23

本文共 1237 字,大约阅读时间需要 4 分钟。

上周六,我的老师扔给我一台四轮普通直流电机小车(下图,已组装好),叫我实现无线控制功能,由PC端或手机端发送指令。由于我曾经做过步进电机小车的控制,同时最近学习了一下Stm32CubeMx,想要实战一下,就欣然答应了。后来事实证明,我还是太年轻了/捂脸。

9/15

小车使用是Stm32F103ZET6作为核心板,因为才接触CubeMx没多久,我就先点了个灯看看效果。复位后灯开始闪烁,单片机没有问题。然后,就开始着手写电机驱动代码。
小车用的是普通直流电机,用于驱动的IO口也是普通IO,只能输出高低电平。我疑惑电机不都是用PWM波驱动的吗,如果不用PWM波,只用高低电平驱动,那怎么控制速度?我马上将这个问题发给了老师,老师却说,利用普通IO口也能实现类似PWM波的功能,可以初始化一个时钟,将时钟周期设置成50ms,在这50ms中控制高电平占总周期时长的比例,这样就能控制电机的转速。果然,不仅仅是贫穷限制了我的想象力,还有智商。
因为主要任务是做到遥控控制,所以先将控速功能搁置,只用单纯的输出高电平实现电机的转动。
可就在我敲完代码,点击烧写按钮之后,Keil突然提示“No target connected”,我?????stlink接的好好的,检查设备管理器,没有问题,我????????不慌,拔掉重新连接,没用,换一个stlink,还是没用。难不成单片机烧了?我怎么成了单片机杀手了,我又将这个问题发给了老师。嗯,单片机没坏,是我脑子坏了。
我遇到的这个问题是使用CubeMx进行单片机配置经常会遇到的问题。在配置引脚时,不小心将连接SWD总线上的两个端口都配置了,导致烧写成功一次之后就再也不能烧写了。解决的方法如下:先长按STM32的复位键,再点击下载按钮,再松开复位键(注意并不是一次就能成功,需要重复几次,而且__每次按住复位键的时长都不同__我就是因为每次按住时间过长,导致尝试了很多次都没有成功,最后心灰意冷之际瞎按了一通再点击下载,结果竟然成功了,我????敲代码真是件玄学的事情,不过还是很开心),已经晚上十点了,明天再继续,明天要完成上位机程序,实现蓝牙通信。

9/16

因为之前照着网上的教程学习过一段时间的C#窗体开发,也尝试做过低配版的串口调试助手,实现了基本的收发功能,所以我使用C#窗体来编写上位机程序。具体怎么做,可以去网上找找教程,我觉得是挺简单的,不过前提是得掌握一些C#基本的语法。
当前的界面如下
界面上有方向控制按钮,在实际操作中,我还是倾向于使用按键控制小车
接下来就是蓝牙模块的设置了。初次接触蓝牙,感觉有点陌生,不过还好,只要将两个蓝牙配对成功,就可以将其像串口一样使用了。嗯,说起来容易,我可是调了一下午的。具体操作还是继续百度吧。
花了一个上午和一个下午,才实现这两个简单的功能。看起来是挺浪费时间的,不过在这段时间里,我完成了两项以前从未做成的事,以后遇到同样的事多少可以节省一些时间了

9/17

今天周一,白天要上课,只有晚上有时间做小车,所以今天只完成了测速功能
待续

你可能感兴趣的文章
uva 562 - Dividing coins(注意判断条件,可以转换成01背包做)
查看>>
uva 10404 - Bachet's Game(DP)
查看>>
最优二叉搜索树
查看>>
hdu 1008 Elevator
查看>>
hdu 1005 Number Sequence(数学题目,好好看)
查看>>
zoj 2106 Tick and Tick(比较好的数学题目,代码特麻烦,注意精度)
查看>>
zoj 2107 Quoit Design(最近点对问题,好好思考,分治)
查看>>
zoj 2111 Starship Troopers(树形DP)
查看>>
vector 容器的使用方法
查看>>
hdu 1520 Anniversary party(基本树形DP)
查看>>
fzu Problem 2138 久违的月赛之一
查看>>
poj 1947 Rebuilding Roads(树形DP)
查看>>
zoj 3626 Treasure Hunt I(树形DP+分组背包)
查看>>
poj 1655 Balancing Act(树形DP,删点)
查看>>
hdu 1754 I Hate It(线段树,单点替换,求区间最值)
查看>>
poj 2828 Buy Tickets(线段树中单点更新较难的题目)
查看>>
codeforces 395 B1. iwiwi(待续)
查看>>
hdu 4283 You Are the One(区间DP)题目转换难,状态难,。。。
查看>>
codeforces 397B. On Corruption and Numbers
查看>>
SqlMapConfig.xml中的setting属性设置
查看>>