arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动

1 硬件

arduino mega r3 开发板

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第1张图片

L298N二路直流电机驱动板


2 电路连接

HF_DJ2Z_01为一款光耦隔离型可调速电机驱动板,可完美的插接在arduino mega r3控制板上驱动2路电机,也可以将驱动板上标有IN1、IN2、IN3、IN4、ENA、ENB对应的引脚用杜邦线接出,连接到其他型号的arduino控制板上的输出引脚上使用。本驱动板可以使用光耦隔离达到更好的驱动效果,使用光耦时需要将拨码开关拨到带数字的一端,然后在5V电源接口接入5V电源。

IN1、IN2、IN3、IN4、ENA、ENB为输入引脚,OUT1、OUT2、OUT3、OUT4为输出引脚,接两路直流电机。IN1、IN2、ENA对应OUT1、OUT2连接的电机,IN3、IN4、ENB对应OUT3、OUT4对应的电机。

驱动板引脚

对应Arduino引脚

功能

IN1

7

电机1输入

IN2

8

电机1输入

ENA

9

电机1PWM

IN3

12

电机2输入

IN4

13

电机2输入

ENB

10

电机2PWM

5

2

电机1编码器中断

6

3

电机2编码器中断

1

 

电机1编码器4引脚

2

 

电机2编码器4引脚


组合后的照片

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第2张图片

3、arduino软件开发环境搭建

第一步是安装arduino板子的开发软件arduino IDE

Arduino IDE下载   http://www.arduino.cn/thread-5838-1-1.html

软件安装好后将arduino通过数据下载线与电脑的USB链接


注:

Arduino驱动安装方法   http://www.arduino.cn/thread-1008-1-1.html
Arduino驱动安装失败的解决方法:
Arduino驱动问题一键修复工具beta   http://www.arduino.cn/thread-12349-1-1.html
安装驱动数据无效  http://www.arduino.cn/thread-7531-1-1.html
系统找不到指定文件   http://www.arduino.cn/thread-2485-1-1.html


第二步打开arduino IDE软件进行如下设置

点击窗口上的工具菜单,依次设置红色箭头所指内容,端口选择时会提示板子的接口,编辑器选择USBasp即可

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第3张图片

到此开发环境搭建完毕!

4 编写代码实现小车电机运动(实例)

打开arduino IDE 文件 >>新建,弹出一个新项目编辑窗口,在窗口内进行代码编辑。

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第4张图片

本例代码:

// Example by gaolvzhou
#define ENA 9
#define IN1 7
#define IN2 8
#define ENB 10
#define IN3 12
#define IN4 13
void setup() {
  pinMode(ENA, OUTPUT); //PWM
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENB, OUTPUT); //PWM
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}


void loop() {


  // Speed
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);
  // foreward 5 seconds
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  delay(5000);
  //rollback 5 seconds
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  delay(5000);


  // stop
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  delay(5000);




  // Forward
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  delay(5000);


  // Forward in high speed
  analogWrite(ENA, 255);
  analogWrite(ENB, 255);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  delay(5000);
}

               上面代码编写好后,在arduino链接在电脑上的状态下,通过arduino IDE软件将代码烧录到arduino板子上:    项目  >> 上传 (不同版本的IDE可能路径不同,但是一般都是上传按钮)

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第5张图片


5  通电实现小车电机运动

arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动_第6张图片


你可能感兴趣的:(arduino mega 2560 通过 L298N二路直流电机控制板实现小车简单运动)