项目简介
本项目借助51核心板与多种外设,打造出一款智能小车。它支持语音控制,可在循迹、避障、跟随三种模式间灵活切换。同时,通过蓝牙模组也能远程切换模式,并且能在OLED屏上实时显示当前模式与小车速度,可依据前方状况自动完成跟随、循迹、避障等动作。
项目的主要特性和功能
- 语音控制:利用语音模块(如SU - 03T)实现小车模式切换。
- 蓝牙控制:借助蓝牙模组实现小车模式的远程切换。
- OLED显示:在OLED屏展示当前模式和小车速度。
- 自动循迹:采用TCRT5000红外传感器检测地面轨迹,自动调整行进方向。
- 自动避障:利用HC - SR04超声波测距模块检测前方障碍物,自动调整行进方向。
- 自动跟随:依据前方物体距离,自动调整速度和方向以实现跟随。
- 电机控制:使用L298N电机驱动模块控制小车运动方向和速度。
安装使用步骤
硬件准备
- 51单片机核心板(如STC89C52)
- 语音模块(如SU - 03T)
- 蓝牙模组(如HC - 05)
- OLED显示屏(如0.96寸OLED)
- 红外传感器(如TCRT5000)
- 超声波测距模块(如HC - SR04)
- 电机驱动模块(如L298N)
- 电机(如直流电机)
- 电源(如锂电池或稳压电源)
软件准备
- Keil uVision:用于编写和编译C语言代码。
- STC - ISP:用于烧录程序到51单片机。
步骤
- 硬件连接:
- 将语音模块、蓝牙模组、OLED显示屏、红外传感器、超声波测距模块、电机驱动模块分别连接到51单片机对应引脚。
- 将电机连接到L298N电机驱动模块输出端。
- 连接电源到51单片机和电机驱动模块。
- 软件编写:
- 用Keil uVision编写C语言代码,实现语音控制、蓝牙控制、OLED显示、自动循迹、自动避障、自动跟随等功能。
- 编译代码生成HEX文件。
- 程序烧录:
- 使用STC - ISP将生成的HEX文件烧录到51单片机。
- 测试与调试:
- 上电后,通过语音或蓝牙控制小车模式切换。
- 观察OLED显示屏上的模式和速度显示。
- 测试小车的自动循迹、自动避障、自动跟随功能。
代码示例
以下是一个简单的电机控制代码示例: ```c
include "reg52.h"
sbit RightConlA = P3^2; sbit RightConlB = P3^3; sbit LeftConlA = P3^4; sbit LeftConlB = P3^5;
void goLeft() { LeftConlA = 0; LeftConlB = 1; RightConlA = 0; RightConlB = 1; }
void goRight() { LeftConlA = 0; LeftConlB = 1; RightConlA = 0; RightConlB = 1; }
void goForward() { LeftConlA = 1; LeftConlB = 0; RightConlA = 1; RightConlB = 0; }
void goBack() { LeftConlA = 0; LeftConlB = 1; RightConlA = 0; RightConlB = 1; }
void Stop() { LeftConlA = 0; LeftConlB = 0; RightConlA = 0; RightConlB = 0; } ```
注意事项
- 电源管理:保证电源电压和电流能支持所有模块和电机正常工作。
- 信号干扰:留意各模块间的信号干扰,必要时添加滤波电容。
- 代码优化:根据实际需求优化代码,确保系统稳定性和响应速度。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】