基于stm32避障+蓝牙控制小车(详细) | 您所在的位置:网站首页 › stm32控制小车驱动程序 › 基于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 这就实现的简单的让舵机转动。 蓝牙模块 步骤: 1.首先去MIT可视化编程网站开发个简单的蓝牙手机app,开发很简单,百度搜一下就可以开发完成,这里不详细论述,效果如下图 蓝牙开发编程逻辑如下图,跟我的一模一样就好了 2.然后配置蓝牙的AT指令。 连线说明: 蓝牙 USB-TTL(CH340) RX--------->TX TX--------->RX GND --------->GND VCC--------->5V EN--------->3.3V 然后打开串口助手 我们主要发: AT+NAME? //查看蓝牙名字 AT+ROLE? //查看主从模式 AT+UART=9600,0,0 //设置波特率,奇偶校验位,停止位 AT指令配置完后,拔掉ENABLE这个根线,再插入电脑,记得波特率选择9600,这时候手机连接蓝牙,就可以实现手机发送信息,串口助手接收啦,看效果图吧
这次完成了电机的驱动。我一共有4个电机,我将他们这样串联,如果是2个电机,就不用和我这样串联了,就直接接上电机驱动口就行了,电机和L298N的接线图如下,记得把PWM的信号线接上单片机,我这里没接。 接下来就是蓝牙控制电机了 这里只需要在上面配置蓝牙的基础上,在UART1的串口中断改一下代码就行,像我这样 蓝牙模块 stm32 VCC 5V GND GND TXD RXD RXD TXD 这样就可以了,上面的只要一步步跟着来,一定可以实现的。 到这里,蓝牙控制就实现了,现在得让它自己避障 如果上面都实现,只需要在主函数改成这样的代码就行了 |
CopyRight 2018-2019 实验室设备网 版权所有 |