打印
[应用相关]

第一 二章 小车硬件介绍-(全网最详细)基于STM32智能小车-蓝牙遥控、避障、循迹、跟随、P...

[复制链接]
473|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
haojiahouVCC|  楼主 | 2024-8-17 17:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一篇-STM32智能小车硬件介绍
后续章节也放这里 持续更新中,视频发布在小B站 里面。这边也会更新。B站视频合集:
[video(video-AoIDAg0l-1716174281620)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=990827294)(image-https://img-blog.csdnimg.cn/img_convert/6d6d09fb33c1a025903c2aff757ce2b5.png)(title-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等功能先不列举了,大家直接到专栏看把。
1.1-元件选型
这里给出元件列表和数量后面每个元件使用前会给出参数等。
1.2-原理图与PCB
底板原理图
各个模块的供电电压?
模块接口引脚顺序?
如何确定使用单片机那个引脚?STM32F103C8T6核心板原理图(可能使用不同核心板略有差异)PCB顶层截图
不同类型线粗细
布局总线方式
1.3-焊接
PCB正面PCB背面然后插上元件
1.4-结构与组装
这是组装好的车体照片然后小车安装PCB
注意电机和红外对管不要插错
1.5-测试
使用万用表蜂鸣挡 测量 电源引脚和GND是否短路
第二章-GPIO与中断2.0-新建工程
建议选择和我一样的版本
新建一个工程选择芯片选择时钟源选择调试勾选生成独立的文件设置保存地址勾选这个不添加没有使用库文件可以减小工程文件大小(也可以不勾选,保持默认设置)MDK打开工程,调低优化等级以上是每次新建工程要做的
以后我们不在新建工程,使用之间的工程即可
2.1-点灯
这里我们点亮PC13连接的小灯配置PC13生成代码生成代码后,使用MDK打开工程在BEGIN和END添加代码
    HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
    HAL_Delay(500);
根据自己的芯片选择烧录程序(必看 使用其中一个方法)
方法一:使用DAP LINK
接线图DAP 在Win 10 免驱动的然后根据自己使用的工具在MDK中设置下载工具设置下载算法然后下载程序,复位小灯闪烁烧录后现象
小灯每0.5秒闪烁一次
方法二:使用stlink
接线图
STlink不要接3.3V 使用Stlink 前先安装驱动双击运行选择ST-Link选择算法然后点击编译,烧录烧录后现象
小灯每0.5秒闪烁一次
补充可能遇到的失败情况使用DAP-LINK
如果我们芯片IDCODE是0x2 开头的那么我们需要替换一下Keil 的器件包
(如果你是0x1 开头的,如果能下载可以不替换)STM32小车相关资料V3.3.0\04使用的软件\中科芯CKS芯片支持包下面这个算法就会自动切换
使用stlink2.2-按键
先看原理图
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灯开关状态

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝