基于stm32避障+蓝牙控制小车(详细)

闲话:最近很忙,帮朋友做了一个毕设,关于stm32的避障和蓝牙控制小车,昨天刚买器件,这里每天记录一下进程,以免自己摆烂,嘻嘻,这是自己大一就很想做的设计,一直没时间,借此机会,圆一下梦。

这个接线,幼儿园的小朋友都可以搞定啦
在这里插入图片描述

回到主题
最终实现功能:小车遇到障碍,随机更改方向以及蓝牙控制小车前进+后退+左右转

所需材料硬件材料:

1.stm32f103c8t6核心板
2.ST-Link (烧录代码)
3.4WD亚克力小车地盘
4.SG90舵机+超声波模块(HC-SR04)
5.杜邦线若干
6.蓝牙模块(HC-05)
7.L298N(电机驱动模块)
8.18650锂电池

所需软件:
1.keil5

硬件终于到了,迫不及待开干了,目前已经完成舵机,蓝牙模块的测试,等不及了吧,快看下面步骤吧!

舵机模块:用的是SG90,这个主要用的是PWM,控制占空比来控制舵机的角度,这次测试只是简单的试试是否能让其转到,效果是可以,到后期整合起来的时候再来精确角度,现在完成这个就可以了。
用的是定时器产生周期,然后通过他的定时器通道来控制占空比(每个定时器有4个通道),因为我用的是TM2的通道2,根据datasheet,可以知道,信号脚是PA1,因为他是默认模式,因此不需要开启AFIO复用时钟,看下面代码
在这里插入图片描述

在这里插入图片描述
20ms
//0.5ms--------------0度;
//1.0ms------------45度;
//1.5ms------------90度;
//2.0ms-----------135度;
//2.5ms-----------180度;

我这里周期是20ms

这就实现的简单的让舵机转动。

蓝牙模块

步骤:

1.首先去MIT可视化编程网站开发个简单的蓝牙手机app,开发很简单,百度搜一下就可以开发完成,这里不详细论述,效果如下图
在这里插入图片描述

蓝牙开发编程逻辑如下图,跟我的一模一样就好了

在这里插入图片描述

2.然后配置蓝牙的AT指令。
连线说明:

蓝牙 USB-TTL(CH340)
RX--------->TX
TX--------->RX
GND --------->GND
VCC--------->5V
EN--------->3.3V

然后打开串口助手
在这里插入图片描述
最重要的是这里,一开始的波特率设置位38400,默认的,记得点击下面的发送新行,因为AT指令都是\r\n结尾的。完成什么两步,就可以实现AT质量了。具体有什么AT指令,可以看蓝牙AT指令开发手册,这里不详细说明。

我们主要发:
AT+NAME? //查看蓝牙名字
AT+ROLE? //查看主从模式
AT+UART=9600,0,0 //设置波特率,奇偶校验位,停止位

AT指令配置完后,拔掉ENABLE这个根线,再插入电脑,记得波特率选择9600,这时候手机连接蓝牙,就可以实现手机发送信息,串口助手接收啦,看效果图吧

在这里插入图片描述
好啦,这里就实现了蓝牙的配置啦,下一步就是通过串口助手,控制电机的驱动就完事啦!

这次完成了电机的驱动。我一共有4个电机,我将他们这样串联,如果是2个电机,就不用和我这样串联了,就直接接上电机驱动口就行了,电机和L298N的接线图如下,记得把PWM的信号线接上单片机,我这里没接。
在这里插入图片描述
我左边的电机用的是TIM3的通道3和4产生的pwm
在这里插入图片描述

接下来就是蓝牙控制电机了
这里只需要在上面配置蓝牙的基础上,在UART1的串口中断改一下代码就行,像我这样
在这里插入图片描述
这时候,蓝牙记得接上单片机,不然没反应的哦

蓝牙模块 stm32
VCC 5V
GND GND
TXD RXD
RXD TXD

这样就可以了,上面的只要一步步跟着来,一定可以实现的。
到这里,蓝牙控制就实现了,现在得让它自己避障
如果上面都实现,只需要在主函数改成这样的代码就行了
在这里插入图片描述
发不了视频,就发张图片看看吧,最后说一句,这些不是很难的,大家一步一步跟着我来,一定可以实现的,布布线,这就算完成啦!最后要代码的关注下,私聊我,都是无偿给的哈(因为链接容易失效),有什么不懂的也可以问我哈
在这里插入图片描述

  • 45
    点赞
  • 332
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 46
    评论
STM32F103C8T6是一款常用的单片机,可以用于控制小车的寻迹和避障功能。下面是一个简单的介绍: 1. 寻迹功能:通过使用红外传感器,可以检测小车所在位置的黑线,并根据检测结果进行相应的控制。一般来说,红外传感器会发射红外线,当红外线被黑线吸收时,传感器会检测到黑线。 2. 避障功能:通过使用超声波传感器或红外避障传感器,可以检测小车前方是否有障碍物,并根据检测结果进行相应的控制。超声波传感器可以测量物体与传感器之间的距离,而红外避障传感器可以检测到前方是否有物体遮挡。 为了实现这些功能,你需要进行以下步骤: 1. 硬件连接:将红外传感器和超声波传感器连接到STM32F103C8T6单片机上。具体的连接方式可以参考相关的电路图或者资料。 2. 编程:使用C语言或者其他支持的编程语言编写程序,通过读取传感器的数据并进行相应的判断和控制。你可以使用STM32CubeMX软件进行初始化配置,并使用Keil或者其他编译器进行编译和下载。 3. 控制算法:根据传感器的数据,设计合适的控制算法来实现寻迹和避障功能。例如,当红外传感器检测到黑线时,可以使小车向相应的方向转动;当超声波传感器检测到障碍物时,可以使小车停下或者改变方向。 以上是对STM32F103C8T6小车寻迹避障的简单介绍,如果你有具体的问题或者需要更详细的信息,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

挨踢玩家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值