Arduino坦克车第3课 - 控制电机:4个步骤

Arduino坦克车第3课 - 控制电机:4个步骤

目录:

Anonim

在本教程中,我们将使用KOOKYE Smart DIY工具包制作一个简单的工具

程控智能车。一旦汽车安装完成,我们将使用UNO R3板控制汽车行驶,包括前进,后退,左转和右转。

详细教程:http://kookye.com/?p = 5794

机器人汽车平台坦克底盘:http://amzn.to/2xenp7H

完整的Arduino机器人车载套件为美国购买:http://amzn.to/2N4dP1K

供应:

第1步:工作原理:

汽车电机的三个部分:直流电机,齿轮减速机和编码器。

编码器电机有6根针线,其中两根(红色和黑色线)来自直流电机。

钻板上的引脚分布K1或K2和K3或K4可分别用于驱动左电机和右电机。

引脚ENA和ENB可用于通过输入PWM信号调节电机速度。

引脚N1,N2,N3和N4可用于控制电动机的前后方向。

作为附图。

第2步:软件安装:

步骤1:安装最新的Arduino IDE(如果您在1.1.16之后有Arduino IDE版本,请跳过此步骤)

从http://www.arduino.cc/en/Main/Software?setlang=en下载Arduino IDE,然后安装该软件。

第2步:从http://www.kookye.com/download/car/tank_robot_lesson3.zip下载第二课示例代码,解压下载zip文件tank_robot_lesson3.zip,您将看到一个名为tank_robot_lesson3的文件夹。

步骤3:使用USB电缆将UNO R3板连接到PC,打开Arduino IDE - >单击文件 - >单击打开 - >在tank_robot_lesson3文件夹中选择代码“tank_robot_lesson3.ino”,将代码加载到arduino中。

步骤4:为项目选择相应的板和端口,将草图上传到电路板。

第3步:理解代码:

第1部分:将引脚分配定义为表格

#define IN1 8 // K1,K2电机方向

#define IN2 9 // K1,K2电机方向

#define IN3 10 // K3,K4电机方向

#define IN4 12 // K3,K4电机方向

#define ENA 5 //需要是一个PWM引脚才能控制电机速度ENA

#define ENB 6 //需要是一个PWM引脚才能控制电机转速ENB

第2部分:了解结构,价值和功能。

void go_ahead()//电机顺时针旋转 - >机器人继续前进

{

digitalWrite(IN1,LOW);

digitalWrite(IN2,HIGH);

digitalWrite(IN3,LOW);

digitalWrite(IN4,HIGH);

}

void go_back()//电机逆时针旋转 - >机器人返回

{

digitalWrite(IN1,HIGH);

digitalWrite(IN2,LOW);

digitalWrite(IN3,HIGH);

digitalWrite(IN4,LOW);

}

void go_stop()//电机制动 - >机器人停止

{

digitalWrite(IN1,LOW);

digitalWrite(IN2,LOW);

digitalWrite(IN3,LOW);

digitalWrite(IN4,LOW);

}

void turn_left()//左电机逆时针旋转,右电机顺时针旋转 - >机器人左转

{

digitalWrite(IN1,HIGH);

digitalWrite(IN2,LOW);

digitalWrite(IN3,LOW);

digitalWrite(IN4,HIGH);

}

void turn_right()//左电机顺时针旋转,右电机逆时针旋转 - >机器人右转

{

digitalWrite(IN1,LOW);

digitalWrite(IN2,HIGH);

digitalWrite(IN3,HIGH);

digitalWrite(IN4,LOW);

}

/ *设置电机速度* / void set_motorspeed(int lspeed,int rspeed)//改变电机速度

{

analogWrite(ENA,lspeed); // lspeed:0-255

analogWrite(ENB,rspeed); // rspeed:0-255

}

第3部分:数据初始化。我们需要为驱动板上的每个引脚设置(ENA,ENB,N1,N2,N3,N4)设置正确的工作模式,并在步骤2中调用上述功能。

void setup()

{

pinMode(IN1,OUTPUT);

pinMode(IN2,OUTPUT);

pinMode(IN3,OUTPUT);

pinMode(IN4,OUTPUT);

pinMode(ENA,OUTPUT);

pinMode(ENB,OUTPUT);

set_motorspeed(255,255); //最大速度

go_ahead(),延迟(5000),go_stop(); //机器人向前5s

go_back(),延迟(5000),go_stop(); //机器人回到5s

turn_left(),delay(5000),go_stop(); //机器人左转5s

turn_right(),delay(5000),go_stop(); //机器人向右转5s

go_stop(); //停止

}

第4步:硬件安装:

步骤1:在UNO R3板上安装扩展板。

步骤2:将连接到UNO R3板上数字端口(D5,D6,D8,D9,D10,D12)的导线移动到扩展板上的对应数字引脚。连接电压表中的端口(GND,VCC,VT)和drvier板上的端口(GND,12V,VO)。

驱动板 - Esp8266 wifi板

驱动板 - 电压表

步骤3:将扩展板的开关转到“1”和“2”位置,如下图所示。

(如果您已完成第一课的上述步骤,请跳过这些步骤)

第4步:测试。坦克车将向前行驶5秒,向后行驶5秒,向左转5秒,然后依次向右转5秒。您还可以根据需要更改示例代码以使车辆行驶。