De L298N Motor Driver Board is een dual H-bridge motordriver die twee DC-motoren aanstuurt (richting en snelheid). Gebruik IN1–IN4 voor de draairichting van de motoren en ENA/ENB om PWM-snelheidsregeling in te schakelen; sluit de motoren aan op OUT1–OUT4. De logica wordt meestal gevoed via een 5V-pin, terwijl de motorvoeding uit een hogere spanning komt, zoals 12V (gemeenschappelijke massa vereist).
| Pin | Signaal | Beschrijving |
|---|---|---|
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. |
| Van | Naar | Draad |
|---|---|---|
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 |
Dit voorbeeld is geschreven en compile-gecheckt voor de arduino-uno. Codey Online past het voor je aan naar elk ander ondersteund board.
// 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);
}
Beschrijf wat je wilt bouwen. Codey Online schrijft de code, tekent het aansluitschema, compileert het en flasht je board rechtstreeks vanuit de browser.
Gratis starten