it编程 > 硬件开发 > stm32

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

126人参与 2024-08-06 stm32

第一篇-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灯开关状态

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

STM32 CUBEMX主从定时器配置PWM任意相位可调,占空比以及频率可调(学习记录)

08-06

STM32 proteus + STM32Cubemx仿真教程(第五课ADC光敏电阻采样教程)

08-06

视觉巡线小车——STM32+OpenMV(三)

08-06

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX + CMSIS-DSP 手动添加、库添加方式

08-06

探索STM32与OLED显示屏:SSD1306库使用指南与实战

08-06

定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX

08-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论