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

1 硬件

arduino mega r3 开发板


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编码器中断

<
  • 10
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是循迹小车arduino MEGA2560控制电机l258n六路循迹代码的示例: ```arduino //定义引脚 int leftmotor1 = 22; int leftmotor2 = 23; int rightmotor1 = 24; int rightmotor2 = 25; int leftsensor1 = 2; int leftsensor2 = 3; int centersensor = 4; int rightsensor2 = 5; int rightsensor1 = 6; void setup() { //设置引脚模式 pinMode(leftmotor1, OUTPUT); pinMode(leftmotor2, OUTPUT); pinMode(rightmotor1, OUTPUT); pinMode(rightmotor2, OUTPUT); pinMode(leftsensor1, INPUT); pinMode(leftsensor2, INPUT); pinMode(centersensor, INPUT); pinMode(rightsensor2, INPUT); pinMode(rightsensor1, INPUT); } void loop() { //读取传感器值 int left1 = digitalRead(leftsensor1); int left2 = digitalRead(leftsensor2); int center = digitalRead(centersensor); int right2 = digitalRead(rightsensor2); int right1 = digitalRead(rightsensor1); //判断传感器值,控制电机 if (center == HIGH) { digitalWrite(leftmotor1, HIGH); digitalWrite(leftmotor2, LOW); digitalWrite(rightmotor1, HIGH); digitalWrite(rightmotor2, LOW); } else if (left1 == HIGH && left2 == LOW) { digitalWrite(leftmotor1, LOW); digitalWrite(leftmotor2, HIGH); digitalWrite(rightmotor1, HIGH); digitalWrite(rightmotor2, LOW); } else if (right1 == HIGH && right2 == LOW) { digitalWrite(leftmotor1, HIGH); digitalWrite(leftmotor2, LOW); digitalWrite(rightmotor1, LOW); digitalWrite(rightmotor2, HIGH); } else if (left2 == HIGH && right2 == HIGH) { digitalWrite(leftmotor1, LOW); digitalWrite(leftmotor2, HIGH); digitalWrite(rightmotor1, LOW); digitalWrite(rightmotor2, HIGH); } else if (left1 == LOW && right1 == LOW) { digitalWrite(leftmotor1, LOW); digitalWrite(leftmotor2, LOW); digitalWrite(rightmotor1, LOW); digitalWrite(rightmotor2, LOW); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值