在工业或农业生产中,我们需要控制电机的正传或反转。以及设备接入物联网,通过手机远程控制设备正转或者反转。通过本文,让我们一起来了解下!
连接方向 | L298N 引脚 | Arduino 引脚 | 功能描述 |
|---|---|---|---|
电源输入 | 12V 输入 | 12V | 为 L298N 提供工作电压 |
接地 | GND | GND | 建立共同参考地 |
控制信号(方向) | IN1 | D2 | 控制电机正反转 |
控制信号(方向) | IN2 | D3 | 控制电机正反转 |
控制信号(速度) | ENA(PWM 输入) | D9 | 调节电机转速(PWM 调速) |
电机连接 | OUT1 和 OUT2 | - | 连接至直流电机 |

实物连接
☢️注意事项:
L298N电机控制模块,需要接入12V供电。不然带不动马达。但是Arduino开发板没有12v的口,可以直接在电源接口处直接供电或接入外部电源。
ENA口用来控制速度,可根据具体情况而定。如果不控制数据,可以不接。

让电机正转5s后又反转5s后停止
// 定义电机控制引脚
const int IN1 = 2;
const int IN2 = 3;
const int EN = 9;
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(EN, OUTPUT);
Serial.begin(9600);
Serial.println("电机控制程序启动");
}
void loop() {
// 电机正转(缓慢启动)
Serial.println("电机正转");
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
for(int i=0; i<150; i++) { // 缓慢提升PWM值,减少启动电流
analogWrite(EN, i);
delay(10);
}
delay(5000);
// 电机反转(缓慢启动)
Serial.println("电机反转");
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
for(int i=0; i<150; i++) {
analogWrite(EN, i);
delay(10);
}
delay(5000);
// 电机停止
Serial.println("电机停止");
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
analogWrite(EN, 0);
while(true);
}