基本信息
文件名称:Arduino 系列:Arduino Uno (基于 ATmega328P)_(17).项目案例:智能小车.docx
文件大小:23.58 KB
总页数:19 页
更新时间:2025-06-27
总字数:约8.32千字
文档摘要

PAGE1

PAGE1

项目案例:智能小车

1.项目概述

智能小车是一种基于单片机控制的自动化设备,可以实现多种功能,如避障、路径跟随、速度控制等。本项目将使用ArduinoUno作为主控板,通过各种传感器和驱动器来实现一个基本的智能小车。我们将逐步介绍如何设计和实现这个项目,包括硬件连接、软件编程和调试。

1.1项目目标

实现基本的前进、后退、左转、右转功能。

集成超声波传感器实现避障功能。

集成红外传感器实现路径跟随功能。

通过无线模块(如蓝牙)实现远程控制。

1.2所需材料

ArduinoUno

L298N双H桥电机驱动模块

DC电机(2个)

车轮(4个)

车架

超声波传感器(HC-SR04)

红外传感器(TCRT5000)

电源(9V电池)

蓝牙模块(HC-05)

面包板

连接线

遥控器(可选)

2.硬件连接

2.1电机驱动模块连接

L298N双H桥电机驱动模块用于控制小车的两个DC电机。其连接方式如下:

Vcc和GND连接到ArduinoUno的5V和GND。

IN1和IN2连接到ArduinoUno的数字引脚2和3。

IN3和IN4连接到ArduinoUno的数字引脚4和5。

OUT1和OUT2连接到左侧电机的正负极。

OUT3和OUT4连接到右侧电机的正负极。

EN1和EN2连接到ArduinoUno的PWM引脚9和10,用于控制电机速度。

2.2超声波传感器连接

超声波传感器(HC-SR04)用于检测前方障碍物的距离。其连接方式如下:

Vcc连接到ArduinoUno的5V。

GND连接到ArduinoUno的GND。

Trig连接到ArduinoUno的数字引脚7。

Echo连接到ArduinoUno的数字引脚8。

2.3红外传感器连接

红外传感器(TCRT5000)用于检测地面的黑白线,实现路径跟随功能。其连接方式如下:

Vcc连接到ArduinoUno的5V。

GND连接到ArduinoUno的GND。

Out连接到ArduinoUno的数字引脚6。

2.4蓝牙模块连接

蓝牙模块(HC-05)用于实现远程控制。其连接方式如下:

Vcc连接到ArduinoUno的5V。

GND连接到ArduinoUno的GND。

Tx连接到ArduinoUno的数字引脚0。

Rx连接到ArduinoUno的数字引脚1。

3.软件编程

3.1基本移动功能

3.1.1前进

前进功能的实现代码如下:

//定义电机控制引脚

constintIN1=2;

constintIN2=3;

constintIN3=4;

constintIN4=5;

constintEN1=9;

constintEN2=10;

voidsetup(){

//设置引脚模式

pinMode(IN1,OUTPUT);

pinMode(IN2,OUTPUT);

pinMode(IN3,OUTPUT);

pinMode(IN4,OUTPUT);

pinMode(EN1,OUTPUT);

pinMode(EN2,OUTPUT);

}

voidloop(){

//前进

digitalWrite(IN1,HIGH);

digitalWrite(IN2,LOW);

digitalWrite(IN3,HIGH);

digitalWrite(IN4,LOW);

analogWrite(EN1,255);//设置电机速度

analogWrite(EN2,255);//设置电机速度

}

3.1.2后退

后退功能的实现代码如下:

voidloop(){

//后退

digitalWrite(IN1,LOW);

digitalWrite(IN2,HIGH);

digitalWrite(IN3,LOW);

digitalWrite(IN4,HIGH);

analogWrite(EN1,255);//设置电机速度

analogWrite(EN2,255);//设置电机速度

}

3.1.3左转

左转功能的实现代码如下:

voidloop(){

//左转

digitalWrite(IN1,LOW);

digitalWrite(IN