第一 二章 小车硬件介绍-(全网最详细)基于STM32智能小车-蓝牙遥控、避障、循迹、跟随、PID速度控制、视觉循迹、openmv与STM32通信、openmv图像处理、smt32f103c8t6

第一篇-STM32智能小车硬件介绍

后续章节也放这里 持续更新中,视频发布在小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等功能先不列举了,大家直接到专栏看把。

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芯片支持包
在这里插入图片描述
在这里插入图片描述
下面这个算法就会自动切换
在这里插入图片描述

使用stlink

2.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灯开关状态

我用夸克网盘分享了「V3小车笔记网盘」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/959b889e058b

添加链接描述

### 关于STM32智能小车的开发教程、项目实例及硬件连接 #### STM32Cube生态系统的应用 对于希望利用STM32进行智能小车项目的开发者而言,STM32Cube生态系统提供了完整的支持工具链。无论是初学者还是有经验的工程师都能从中受益。该系统不仅提供了一个全面而免费的开发环境给那些正在寻找适合STM32的完整且无需付费的开发平台的人士;同时也允许已经习惯特定IDE(比如Keil或IAR)工作的用户在其熟悉的环境中无缝集成必要的组件[^1]。 #### 教程资源获取途径 为了获得有关如何基于STM32构建智能小车的具体指导,建议访问官方文档库和社区论坛。这些地方通常会有详细的入门指南和技术文章介绍从零开始搭建一辆功能齐全的小车子系统所需的每一步骤。此外,在线教育平台上也可能存在专注于此主题的教学视频系列,它们往往通过实际操作演示来帮助学习者更好地理解理论概念并掌握实践技能。 #### 项目实例分析 一个典型的STM32智能小车项目可能涉及多个方面的工作,包括但不限于电机控制算法的设计实现、传感器数据采集处理逻辑编写以及无线通信模块编程接口定义等。例如,可以采用PID控制器优化行驶路径跟踪精度,并借助超声波测距仪感知周围障碍物位置从而避免碰撞发生。同时还可以考虑加入蓝牙/WiFi模组以便远程操控车辆行动方向或是上传运行状态报告至云端服务器供后续数据分析使用。 #### 硬件连接说明 当涉及到具体的电路板布局规划时,则需特别注意电源管理部分的设计合理性以确保整个电子设备稳定工作不受干扰影响性能表现。一般情况下会选用L298N双H桥直流步进马达驱动器作为动力源转换装置连接MCU引脚外部负载之间起到隔离保护作用的同时还能有效提升效率减少能耗损失。另外像MPU6050六轴加速度陀螺仪这样的惯性测量单元同样不可或缺,它能够实时监测车身姿态变化情况进而反馈给中央处理器用于调整平衡策略保持平稳前进态势。 ```c // 示例代码片段展示基本PWM信号生成函数用于调节电机转速 void setMotorSpeed(int speed){ if(speed >= 0 && speed <= 255){ analogWrite(motorPin, speed); } } ```
评论 64
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好家伙VCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值