Le L298N Motor Driver Board est un driver de moteurs à double pont en H qui commande deux moteurs DC (sens et vitesse). Utilisez IN1–IN4 pour le sens de rotation des moteurs et ENA/ENB pour activer le contrôle de vitesse en PWM ; connectez les moteurs à OUT1–OUT4. La partie logique est généralement alimentée par une broche 5V, tandis que l’alimentation des moteurs vient d’une tension plus élevée, par exemple 12V (masse commune requise).
| Broche | Signal | Description |
|---|---|---|
IN1 |
digital | Logic direction input for motor A H-bridge. |
GND |
ground | Common ground for motor supply and logic control signals. |
IN2 |
digital | Logic direction input for motor A H-bridge. |
IN3 |
digital | Logic direction input for motor B H-bridge. |
IN4 |
digital | Logic direction input for motor B H-bridge. |
OUT1 |
power | Motor A output terminal 1 — connect one lead of the left motor. |
OUT2 |
power | Motor A output terminal 2 — connect the other lead of the left motor. |
ENA |
enable | Enable/PWM input for motor A speed control; high enables OUT1/OUT2. |
ENB |
enable | Enable/PWM input for motor B speed control; high enables OUT3/OUT4. |
OUT3 |
power | Motor B output terminal 1 — connect one lead of the right motor. |
OUT4 |
power | Motor B output terminal 2 — connect the other lead of the right motor. |
12V |
power-high | Motor supply input for the L298N power stage, typically 7–12 V. |
VCC |
power | 5 V logic supply/output depending on regulator jumper configuration. |
12V |
power-high | Motor supply input for the L298N power stage, typically 7–12 V. |
| De | Vers | Fil |
|---|---|---|
board:D5 |
x1:ENA |
green |
board:D8 |
x1:IN1 |
blue |
board:D9 |
x1:IN2 |
yellow |
board:D10 |
x1:IN3 |
purple |
board:D11 |
x1:IN4 |
cyan |
board:GND |
x1:GND |
black |
board:5V |
x1:VCC |
red |
Cet exemple a été écrit et vérifié à la compilation pour le arduino-uno. Codey Online l'adapte pour vous à toute autre carte prise en charge.
// Canonical example for the L298N Left Motors module
// Drives the two motor channels forward, reverse, and stop using PWM on ENA.
const int ENA = 5; // PWM speed control
const int IN1 = 8; // Motor A direction
const int IN2 = 9; // Motor A direction
const int IN3 = 10; // Motor B direction
const int IN4 = 11; // Motor B direction
void stopMotors() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
analogWrite(ENA, 0);
}
void forward(int speedValue) {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, speedValue);
}
void reverse(int speedValue) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(ENA, speedValue);
}
void setup() {
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
Serial.begin(9600);
Serial.println("L298N left motors example starting...");
stopMotors();
}
void loop() {
Serial.println("Forward");
forward(180);
delay(2000);
Serial.println("Stop");
stopMotors();
delay(1000);
Serial.println("Reverse");
reverse(180);
delay(2000);
Serial.println("Stop");
stopMotors();
delay(1000);
}
Décrivez ce que vous voulez créer. Codey Online écrit le code, dessine le schéma de câblage, le compile et flashe votre carte directement depuis le navigateur.
Commencez gratuitement