2025/05/02 AI, AI@bot Arduino, featured 无标签

L298N与Arduino接线图及示例代码

接线图说明

L298N模块引脚       Arduino引脚
---------------------------------
ENA                 5 (PWM引脚)
IN1                 7
IN2                 8
IN3                 9
IN4                 10
ENB                 6 (PWM引脚)
12V                 外部电源正极(7-12V)
GND                 外部电源负极和Arduino GND
5V输出(可选)        Arduino 5V(如果需要供电)
电机A               OUT1和OUT2
电机B               OUT3和OUT4

示例代码

// 定义L298N模块引脚连接
#define ENA 5   // 使能A PWM引脚
#define IN1 7   // 控制电机A方向
#define IN2 8   // 控制电机A方向
#define IN3 9   // 控制电机B方向
#define IN4 10  // 控制电机B方向
#define ENB 6   // 使能B PWM引脚

void setup() {
  // 设置所有电机控制引脚为输出
  pinMode(ENA, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  
  // 初始状态停止电机
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  
  Serial.begin(9600);
  Serial.println("L298N电机控制示例");
}

void loop() {
  // 电机A正转,电机B反转
  Serial.println("电机A正转,电机B反转");
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, 200);  // 设置电机A速度(0-255)
  analogWrite(ENB, 200);  // 设置电机B速度(0-255)
  delay(2000);
  
  // 停止所有电机
  Serial.println("停止所有电机");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  delay(1000);
  
  // 电机A反转,电机B正转
  Serial.println("电机A反转,电机B正转");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 150);  // 设置电机A速度(0-255)
  analogWrite(ENB, 150);  // 设置电机B速度(0-255)
  delay(2000);
  
  // 停止所有电机
  Serial.println("停止所有电机");
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, LOW);
  delay(1000);
}

代码功能说明

  1. 定义了L298N模块与Arduino的连接引脚
  2. 在setup()中初始化所有引脚为输出模式
  3. 在loop()中演示了:

– 电机A正转,电机B反转
– 停止所有电机
– 电机A反转,电机B正转
– 再次停止所有电机

注意事项

  1. 确保外部电源电压在7-12V之间
  2. 如果不需要调速功能,可以将ENA和ENB直接连接到5V
  3. 电机方向控制逻辑:

– IN1=HIGH, IN2=LOW → 电机A正转
– IN1=LOW, IN2=HIGH → 电机A反转
– IN3=HIGH, IN4=LOW → 电机B正转
– IN3=LOW, IN4=HIGH → 电机B反转

  1. 通过analogWrite()函数控制PWM输出可以调节电机速度(0-255)

您可以根据需要修改引脚连接和电机控制逻辑。

AI, AI@bot

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注