基于STM32 HAL库的遥控小车

本文介绍了一款基于STM32的超声波蓝牙遥控小车设计,详细阐述了硬件选型,包括HC-SR04超声波模块、HC-06蓝牙模块和L298n电机驱动模块。软件部分涉及STM32HAL库的使用,通过蓝牙接收手机指令控制小车前进、后退、转弯,并结合超声波测距实现障碍物检测及蜂鸣器报警功能。提供了完整的代码实现细节。
摘要由CSDN通过智能技术生成

目录

前言

一、材料清单

二、系统概述

三、硬件设计

1、HC-SR04超声波模块

2、HC-05/06蓝牙模块

3、L298n电机驱动模块

四、代码

1、引脚设置

2、遥控部分

3、超声波报警部分

总结


前言

进行基于STM32 HAL库设计的多功能小车,通过蓝牙连接手机进行小车的前进、后退、左转、右右等基本行动。搭载超声波测距仪,检测到前方有障碍物时,连接蜂鸣器进行报警提示,从而通过蓝牙设备进行路径的调整。


一、材料清单

元器件清单

1、stm32c8t6最小系统板x1

2、L298n电机驱动模块x2

3、直流电机x4

4、HC-06蓝牙模块x1

5、蜂鸣器x1

6、LEDx1

7、小车底板x1

8、杜邦线若干

9、HC-SR04超声波模块x1

10、12V电源x1

11、USB转TTL模块x1

12、12V转5V、3.3V电源模块x1

二、系统概述

小车主要由电机系统、单片机、蓝牙系统、超声波测距系统、蜂鸣器等系统组成。基于STM32将程序下载到电机中,从而实现小车的运动。利用蓝牙系统HC-06,将小车的运动与手机蓝牙连接起来,调节蓝牙系统的步骤:给蓝牙上电、有线串口连接、蓝牙引脚连接、打开串口调试助手,输入指令。系统检测距离的原理是通过单片机发出40 kHz的方波脉冲信号后, 检测接收端是否能够接收到遇障碍物反射的回波。单片机利用收到回波所用的时间得到的声速计算出距离,同时显示出当前距离。测量距离范围为2~450cm。可距离显示,误差小,精度高。蜂鸣器预警和距离采样频率动态变化,距离越远,采样越慢。

三、硬件设计

硬件设计主要包括以下几个模块:超声波收发系统、蓝牙接收系统、L298n电机驱动模块。

1、HC-SR04超声波模块

HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。

基本工作原理:

(1)采用I\O 触发测距,给最少10us 的高电平信号。

(2)模块自动发送8 个40KHZ 的方波,自动检测是否有信号返回。

(3)有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

1.时钟源 外部时钟 2.GPIO (实验:点亮LED灯,获取引脚的电平高低,将对应引脚置高置低)。 3.PWM-脉宽调制 主要是调节占空比(在小车中用来实现小车的加减速)。 4.TIMX定时器 5.红外遥控 主要运用了EXTI(外部中断/事件控制器),系统延时(系统滴答定时器SysTick)。 6.超声波避障 了解了超声波工作的原理,主要运用了TIM2定时器(用来定时测距),GPIO口。 7.红外探测 通过对障碍物和光的感应来返回电平的状态,从而达到避障和巡线效果。 8.测速码盘 (通过检测码盘上的凹槽数来获取脉冲数,通过计算公式得到小车当前速度) TIM3定时器(定时测速)。 9.PID算法 为了使小车的速度更快的达到目标值,获取更稳定的速度。 10.系统的使用 我们在小车内加入系统,对小车的数据获取,状态实现任务化,使小车内的运作更加有序。我们主要使用μC/OS-II系统内核来实现系统。在实现过程中,我们了解了系统的任务调度以及任务运行和处理器之间的关系(多任务同时运行)。 μC/OS-II内核中的任务控制块,任务状态,以及多任务和任务的优先级类似操作系统中的进程操作。 11.任务间的通信 主要用到信号量(主要就是PV操作 P操作:占用资源。V操作:释放资源);邮箱(邮箱可以使一个任务或者中断服务子程序向另一个任务发送指针型的变量,通常该指针指向包含了“消息”特定的数据结构)。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值