PAGE1
PAGE1
项目实战:自动化小车
在本节中,我们将使用ArduinoProMini(基于ATmega328P)来构建一个简单的自动化小车。这个项目将包括以下几个部分:
硬件准备
电路连接
软件开发
功能实现
调试与测试
硬件准备
为了构建自动化小车,我们需要以下硬件组件:
ArduinoProMini(5V,16MHz)
直流电机驱动模块(如L298N)
直流电机(2个)
轮子(2个)
超声波传感器(如HC-SR04)
电池(如9V电池)
电池夹
面包板
杜邦线
小车底盘
电机支架
电机转速编码器(可选)
电路连接
1.连接直流电机驱动模块
首先,我们将直流电机驱动模块(L298N)连接到ArduinoProMini。L298N模块可以控制两个直流电机的正反转和速度。
VCC连接到ArduinoProMini的5V引脚。
GND连接到ArduinoProMini的GND引脚。
IN1,IN2,IN3,IN4分别连接到ArduinoProMini的数字引脚2,3,4,5。
ENA,ENB分别连接到ArduinoProMini的数字引脚6,7。
OUT1,OUT2连接到第一个直流电机的正负极。
OUT3,OUT4连接到第二个直流电机的正负极。
电机电源连接到L298N的12V引脚(根据电机的电压要求选择合适的电源)。
2.连接超声波传感器
接下来,我们将超声波传感器(HC-SR04)连接到ArduinoProMini。
VCC连接到ArduinoProMini的5V引脚。
GND连接到ArduinoProMini的GND引脚。
Trig连接到ArduinoProMini的数字引脚8。
Echo连接到ArduinoProMini的数字引脚9。
3.连接电池
使用电池夹将9V电池连接到ArduinoProMini的RAW引脚,GND连接到ArduinoProMini的GND引脚。
4.安装电机和轮子
将直流电机安装在小车底盘上,并将轮子固定在电机轴上。确保电机能够自由转动。
5.连接电机转速编码器(可选)
如果需要监控电机的转速,可以连接电机转速编码器。编码器的信号线连接到ArduinoProMini的数字引脚10和11。
软件开发
1.初始化引脚
在开始编写代码之前,我们需要初始化所有使用的引脚。以下是初始化代码:
//定义电机驱动模块的引脚
constintIN1=2;
constintIN2=3;
constintIN3=4;
constintIN4=5;
constintENA=6;
constintENB=7;
//定义超声波传感器的引脚
constintTRIG_PIN=8;
constintECHO_PIN=9;
//定义编码器的引脚(可选)
constintENCODER1_PIN=10;
constintENCODER2_PIN=11;
voidsetup(){
//初始化电机驱动模块的引脚
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
//初始化超声波传感器的引脚
pinMode(TRIG_PIN,OUTPUT);
pinMode(ECHO_PIN,INPUT);
//初始化编码器的引脚(可选)
pinMode(ENCODER1_PIN,INPUT);
pinMode(ENCODER2_PIN,INPUT);
//启动串口通信
Serial.begin(9600);
}
2.控制电机
我们需要编写函数来控制电机的正反转和速度。以下是一些基本的电机控制函数:
voidmotorForward(){
//设置电机正转
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
//设置电机速度(0-255)