赞
踩
后续章节也放这里 持续更新中,视频发布在小B站 里面。这边也会更新。
B站视频合集:
STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机 跟随
小B站链接:https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click&vd_source=16940ba3adbc66f0fb14e0c1d87db878
后面章节持续跟新的
第三 四章-OLED使用 和串口openmv图像处理小车硬件介绍-(全网最详细)基于STM32智能小车-蓝牙遥控、避障、循迹、跟随、PID速度控制、视觉循迹、openmv与STM32通信、
第五章-PWM控制电机 开源stm32循迹小车详细制作过程(附加完全版代码)-openmv视觉循迹、红外循迹、避障跟随、超声波跟随、蓝牙遥控 m32f103c8t6、stm32cubemx
后面还有视觉、RTOS等功能先不列举了,大家直接到专栏看把。
这里给出元件列表和数量
后面每个元件使用前会给出参数等。
底板原理图
各个模块的供电电压?
模块接口引脚顺序?
如何确定使用单片机那个引脚?
STM32F103C8T6核心板原理图(可能使用不同核心板略有差异)
PCB顶层截图
不同类型线粗细
布局总线方式
PCB正面
PCB背面
然后插上元件
这是组装好的车体照片
然后小车安装PCB
注意电机和红外对管不要插错
使用万用表蜂鸣挡 测量 电源引脚和GND是否短路
建议选择和我一样的版本
新建一个工程
选择芯片
选择时钟源
选择调试
勾选生成独立的文件
设置保存地址
勾选这个不添加没有使用库文件可以减小工程文件大小(也可以不勾选,保持默认设置)
MDK打开工程,调低优化等级
以上是每次新建工程要做的
以后我们不在新建工程,使用之间的工程即可
这里我们点亮PC13连接的小灯
配置PC13
生成代码
生成代码后,使用MDK打开工程
在BEGIN和END添加代码
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
根据自己的芯片选择
烧录程序(必看 使用其中一个方法)
接线图
DAP 在Win 10 免驱动的
然后根据自己使用的工具在MDK中设置下载工具
设置下载算法
然后下载程序,复位小灯闪烁
烧录后现象
小灯每0.5秒闪烁一次
接线图
STlink不要接3.3V
使用Stlink 前先安装驱动
双击运行
选择ST-Link
选择算法
然后点击编译,烧录
烧录后现象
小灯每0.5秒闪烁一次
如果我们芯片IDCODE是0x2 开头的那么我们需要替换一下Keil 的器件包
(如果你是0x1 开头的,如果能下载可以不替换)
STM32小车相关资料V3.3.0\04使用的软件\中科芯CKS芯片支持包
下面这个算法就会自动切换
先看原理图
PB4–KEY1 单片机设置下拉输入-、上降沿触发
PA12–KEY2 单片机设置上拉输入、下降沿触发
开始配置
使能外部中断
然后生成代码
重新实现中断回调函数、编写按键检测程序
在gpio.c 中我们编写该函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == KEY1_Pin){//判断一下那个引脚触发中断
//这里编写触发中断后要执行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切换LED GPIO状态
}
if(GPIO_Pin == KEY2_Pin){//判断一下那个引脚触发中断
//这里编写触发中断后要执行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切换LED GPIO状态
}
}
把main中控制闪烁注释掉
烧录后的现象
按下KEY1 或者KEY2可以切换LED灯开关状态
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。