比赛时间:2019.8.7-2019.8.10
7月31日
(没有时间仔细写笔记,只做简单记录,仅供自己比赛使用)
复习PID算法
五月份的时候练习2017年国赛滚球系统已经了解过PID算法,但是并不熟练,比赛前还是有必要再进一步熟悉PID算法的。
滚球经验总结
摄像头openmv
17年国赛控制题滚球系统用到了摄像头的图像处理,老师预测19年还会用到图像处理,因此我们选择了openmv。跟ov系列摄像头比起来,openmv实在是太好用了,不用再拘泥于C,可以使用python。上面滚球经验总结里面也有写openmv跟stm32f407战舰版通信方法。
openmv主要就是在官网学习的。
接线方式:
openmv——407核心板
P4————RX(PA10_USART1)
P5————TX(PA9_USART1)
GND———GND
MPU6050六轴传感器
MPU6050 采用 IIC 与 STM32F4 通信。
姿态数据,也就是欧拉角——航向角(yaw)、横滚角(roll)、俯仰角(pitch)。
MPU6050 自带了数字运动处理器,即 DMP。
检测轴及方向:
MPU6050 与探索者 STM32F4 开发板的连接:
8月1日
今天台风登陆小岛~一直到上午十点多才来电,中午出了器材清单,开始猜题。
8月2日
今天一天就是看网上各种猜题,淘宝找做控制类的器材,报给学校一份,自己买了一份备用(主要因为学校买的各种不靠谱)。
8月3日
SD卡的使用
openmv——SD卡
先插SD卡再上电
SD卡的文件系统会自动取代内置的Flash文件系统
openmv使用SD卡的情况:
- 代码行数太多
- 存储图片
- 录制视频
stm32——SD卡
只运行了stm32自带的例程,并不懂SD卡怎么用。。。
通信
通信很重要,当初做滚球,openmv和stm32通信传输小球坐标时费了很大劲,通信还是要好好看看。
蓝牙模块
HC-05 参考博客
主要想实现的功能是手机蓝牙控制STM32——
手机通过蓝牙传输到HC-05上,再通过串口通信和STM32通信。
我们组在网上买了一个组装好的小车,手机APP通过蓝牙HC06控制,蓝牙名称BT04,密码1234。
测试APP:蓝牙模块通过stlink连接电脑,用串口调试助手观察按下APP的按键时接收的信息。
蓝牙串口APP
1 | #include "stm32f10x.h" |
WiFi模块ESP8266
VCC连接正极(有些是3.3V,有些是5V)
GND连接负极
RXD:数据的接收端 (连接单片机或者USB转TTL模块的TXD)
TXD:数据的发送端 (连接单片机或者USB转TTL模块的RXD)
NRF24L01无线模块
NRF24L01是SPI 通信接口。
主要想实现的功能是——两个开发板通信,如果做图像处理,有时候一块开发板不够用,就需要两块开发板。
开发板上 NRF24L01 模块接口和 STM32F4的连接:
8月4日
学校负责老师突然让学生自己买器材,离比赛只剩两天半时间,服气。
云台
在网上买了几个二维云台,用2个舵机控制。
比赛
A题无线充电小车是去年省赛的题目,没想到会连续出两年,完全没准备,放弃。
B题是巡线四旋翼,难,放弃。
F题纸张计数,学校仪器设备不够,放弃。
最后选了H题,电磁炮,正好用到了之前做滚球时的舵机和openmv。
由于H题只要能成功发射电磁炮就能得十分,所以选这个人的题特别特别多,测评结束后我们学校获奖的六个组其中五个组是做电磁炮。
只捡几个点写一下吧,毕竟最后只拿了省二~结果不尽人意,大神太多
- 电磁炮的炮管放在二维云台上控制电磁炮水平垂直运动,通过控制继电器高低电平控制充电时间,通过控制舵机旋转控制炮管角度,进而控制炮弹发射距离和方向。
- 按键模块使用的是手机APP,通过蓝牙模块HC-05向开发板(stm32F407核心板)传输发射距离和角度。
- 发挥部分的自动寻靶和测距用的是openmv,这些都能在openmv官网找到代码,openmv找到靶子并且测得距离后通过串口发送给开发板,继而控制舵机,然后发射炮弹。