赞
踩
基础所需:基础电路认识,C语言,STM32开发,STM32CUBEIDE或CUBEMX和Keil使用(重要),一点点艺术细胞、一点点耐心。
此小项目可以用于刚学完STM32hal库,用于巩固自己的以及和助于自己灵活运用hal库。
不一定要按照我的I/O口配置,我的因为刚开始DIY#D打印没有到,所以没有配置的很合理,分布不是很好,大家可以按照自己的3D打印区布置,让自己的更美观!
蓝牙+遥杆控制小狗
左摇杆负责控制小狗的前进后退左右转,右摇杆控制小狗的握手,跳舞,趴下,坐下
这里用到的是0°到180°的舵机,额定工作电压为4.8~6V。
关于舵机工作原理以及PWM周期配置可以看舵机PWM原理
适合即可,配合充放电模块循环使用
简单原理赘述:(通过串口发送ADC数组得出结论)
实例:
我这里用的是HC-08(下图绿色),嘎嘎好用!
关于HC-08详细使用以及相关AT指令可以参考一下这位大佬的文章:蓝牙HC-08使用详细教程
这里如果使用printf重定义来发送串口数据,
需要:
F103系列的C8T6以及其他关于烧录以及TTL转串口的工具,电线若干。
一、RCC时钟树配置
二、定时器PWM输出配置
根据舵机PWM工作原理配置周期为20ms,频率为50HZ。
直接开启一个定时器,同时开启四个通道即可,简单粗暴!
通道一为左前脚,通道二为右前教,通道三为右后脚,通道四位左后脚。
详细引脚后面一起说!
三、配置串口
直接用我们最熟悉的9600吧。
记得开中断
四、ADC配置
开启四个通道
配置好通道
五、DMA配置
开启DMA搬运数据
六、IIC配置(软件IIC)
这里配置错了,需要在代码里面手动改为这样,或者刚开始直接配置成高速开漏输出即可。这里我配置错了,后面改回来的!
我用的是这个,因为他可以自己编制按键输出的内容,非常方便!
关于使用和取模流程配置可以观看江科大的教学,一级好!
链接如下:江科大OLED屏幕快速入手
这个软件对图片大小有严格要求,所以还要通过Photoshop调整,下面是我自己调整后的样品:
main.c:
Dog_PWM.c:(小狗姿态)
uart.c(由于我的个人习惯,我把串口中断接收写在了uart.c里面):
**硬件IIC屏幕驱动:(这里我用的是江科大标准库的驱动函数加以修改后成为了hal库)**原本下载路径可以在江科大视频下面自行下载,链接如下:链接如下:江科大OLED屏幕快速入手
江科大原本需要修改的地方代码:
修改后的样子:
可以自行添加其他表情:
具体效果可以看这位up主的:表情显示效果
修改后还有报错,应该是文字报错,应该是你的工程语言不兼容
解决方法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。