Motor Driver(L298N) CN: 두 판 사이의 차이

아두위키 : Arduwiki
(새 문서: {{#seo:|title=ArduWiki:Arduino L298N 电机驱动模块指南|title_mode=append|keywords=Arduino, 信息科学, 创客学习, 项目式学习, L298N 电机驱动模块, Arduino作品, 毕业设计, Arduino示例代码|description=介绍如何使用Arduino控制L298N电机驱动模块(基础信息、电路图、示例代码),适用于信息与创客课程。}}center|class=coders100 该模块可以控制电机的速度与转动方向。 可同时控...)
 
(차이 없음)

2025년 3월 27일 (목) 18:24 기준 최신판

该模块可以控制电机的速度与转动方向。

可同时控制两个直流电机或一个步进电机。

规格

  • 输入电压:9V ~ 12V
  • PWM 信号控制速度
  • 数字信号控制方向

示例所用硬件

  • Arduino board
  • 杜邦线
  • 电源(9 ~ 12V 电池或适配器)
  • 直流电机
  • L298N 电机驱动模块

连接方式

Arduino UNO L298N 电机驱动模块 直流电机 电源模块
GND GND GND
D9 ENA
D8 IN1
D7 IN2
9 ~ 12V VCC
OUT1 连接
OUT2 连接

示例代码

马达速度逐渐减慢直至停止,再反向旋转的示例。

const int IN1 = 8;
const int IN2 = 7;
const int ENA = 9;

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 255);
  delay(2000);
  analogWrite(ENA, 170);
  delay(2000);
  analogWrite(ENA, 85);
  delay(2000);
  analogWrite(ENA, 0);
  delay(2000);
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 255);
  delay(2000);
  analogWrite(ENA, 170);
  delay(2000);
  analogWrite(ENA, 85);
  delay(2000);
  analogWrite(ENA, 0);
  delay(2000);
}

void loop() {
  delay(100);
}

执行结果