基于stm32避障+蓝牙控制小车(详细) 您所在的位置:网站首页 stm32控制小车驱动程序 基于stm32避障+蓝牙控制小车(详细)

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

2023-10-03 17:19| 来源: 网络整理| 查看: 265

闲话:最近很忙,帮朋友做了一个毕设,关于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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有