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

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

这个接线,幼儿园的小朋友都可以搞定啦
基于stm32避障+蓝牙控制小车(详细)_第1张图片

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

所需材料硬件材料:

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复用时钟,看下面代码
基于stm32避障+蓝牙控制小车(详细)_第2张图片

基于stm32避障+蓝牙控制小车(详细)_第3张图片
20ms
//0.5ms--------------0度;
//1.0ms------------45度;
//1.5ms------------90度;
//2.0ms-----------135度;
//2.5ms-----------180度;

我这里周期是20ms

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

蓝牙模块

步骤:

1.首先去MIT可视化编程网站开发个简单的蓝牙手机app,开发很简单,百度搜一下就可以开发完成,这里不详细论述,效果如下图
基于stm32避障+蓝牙控制小车(详细)_第4张图片

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

基于stm32避障+蓝牙控制小车(详细)_第5张图片

基于stm32避障+蓝牙控制小车(详细)_第6张图片

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

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

然后打开串口助手
基于stm32避障+蓝牙控制小车(详细)_第7张图片
最重要的是这里,一开始的波特率设置位38400,默认的,记得点击下面的发送新行,因为AT指令都是\r\n结尾的。完成什么两步,就可以实现AT质量了。具体有什么AT指令,可以看蓝牙AT指令开发手册,这里不详细说明。

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

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

基于stm32避障+蓝牙控制小车(详细)_第8张图片
好啦,这里就实现了蓝牙的配置啦,下一步就是通过串口助手,控制电机的驱动就完事啦!

这次完成了电机的驱动。我一共有4个电机,我将他们这样串联,如果是2个电机,就不用和我这样串联了,就直接接上电机驱动口就行了,电机和L298N的接线图如下,记得把PWM的信号线接上单片机,我这里没接。
基于stm32避障+蓝牙控制小车(详细)_第9张图片
我左边的电机用的是TIM3的通道3和4产生的pwm
基于stm32避障+蓝牙控制小车(详细)_第10张图片

接下来就是蓝牙控制电机了
这里只需要在上面配置蓝牙的基础上,在UART1的串口中断改一下代码就行,像我这样
基于stm32避障+蓝牙控制小车(详细)_第11张图片
这时候,蓝牙记得接上单片机,不然没反应的哦

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

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

你可能感兴趣的:(STM32,c语言,单片机,stm32)