littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于51单片机开发的智能小车

项目简介

本项目借助51核心板与多种外设,打造出一款智能小车。它支持语音控制,可在循迹、避障、跟随三种模式间灵活切换。同时,通过蓝牙模组也能远程切换模式,并且能在OLED屏上实时显示当前模式与小车速度,可依据前方状况自动完成跟随、循迹、避障等动作。

项目的主要特性和功能

  1. 语音控制:利用语音模块(如SU - 03T)实现小车模式切换。
  2. 蓝牙控制:借助蓝牙模组实现小车模式的远程切换。
  3. OLED显示:在OLED屏展示当前模式和小车速度。
  4. 自动循迹:采用TCRT5000红外传感器检测地面轨迹,自动调整行进方向。
  5. 自动避障:利用HC - SR04超声波测距模块检测前方障碍物,自动调整行进方向。
  6. 自动跟随:依据前方物体距离,自动调整速度和方向以实现跟随。
  7. 电机控制:使用L298N电机驱动模块控制小车运动方向和速度。

安装使用步骤

硬件准备

  1. 51单片机核心板(如STC89C52)
  2. 语音模块(如SU - 03T)
  3. 蓝牙模组(如HC - 05)
  4. OLED显示屏(如0.96寸OLED)
  5. 红外传感器(如TCRT5000)
  6. 超声波测距模块(如HC - SR04)
  7. 电机驱动模块(如L298N)
  8. 电机(如直流电机)
  9. 电源(如锂电池或稳压电源)

软件准备

  1. Keil uVision:用于编写和编译C语言代码。
  2. STC - ISP:用于烧录程序到51单片机。

步骤

  1. 硬件连接:
    • 将语音模块、蓝牙模组、OLED显示屏、红外传感器、超声波测距模块、电机驱动模块分别连接到51单片机对应引脚。
    • 将电机连接到L298N电机驱动模块输出端。
    • 连接电源到51单片机和电机驱动模块。
  2. 软件编写:
    • 用Keil uVision编写C语言代码,实现语音控制、蓝牙控制、OLED显示、自动循迹、自动避障、自动跟随等功能。
    • 编译代码生成HEX文件。
  3. 程序烧录:
    • 使用STC - ISP将生成的HEX文件烧录到51单片机。
  4. 测试与调试:
    • 上电后,通过语音或蓝牙控制小车模式切换。
    • 观察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; } ```

注意事项

  1. 电源管理:保证电源电压和电流能支持所有模块和电机正常工作。
  2. 信号干扰:留意各模块间的信号干扰,必要时添加滤波电容。
  3. 代码优化:根据实际需求优化代码,确保系统稳定性和响应速度。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】