Commandé avant 14h00 un jour ouvrable = expédié le jour même 30 jours de délai de rétractation Garantie d’un an
← Retour à l’aperçu

Schéma de câblage et exemple de code

Voici comment connecter le Carte de commande de moteur L298N rouge à un Arduino UNO ou à un ESP32, avec un exemple de sketch que tu peux téléverser directement.

Commande du driver de moteur L298N avec Arduino Uno

Cet exemple montre comment contrôler des moteurs DC à l’aide d’une carte driver de moteur L298N. L’Arduino définit le sens de rotation du moteur via des broches logiques numériques et ajuste la vitesse du moteur à l’aide du PWM sur la broche enable. Le programme fait avancer les moteurs, les arrête, puis les fait tourner en sens inverse.

Schéma de câblage : Carte de commande de moteur L298N rouge sur un Arduino UNO
Schéma de câblage · Cliquez pour agrandir
Tableau de câblage : Carte de commande de moteur L298N rouge sur un Arduino UNO
Tableau de câblage · Cliquez pour agrandir
L298N_Motor_Driver_Control_with_Arduino_.ino · compilé et testé
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : L298N Motor Driver Control with Arduino Uno
 *  Board     : Arduino UNO (arduino:avr:uno)
 *  Parts     : L298N Motor Driver Board
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

// L298N Motor Driver Control Demo

const int ENA_PIN = 5;   // PWM speed control
const int IN1_PIN = 8;   // Motor A direction 1
const int IN2_PIN = 9;   // Motor A direction 2
const int IN3_PIN = 10;  // Motor B direction 1
const int IN4_PIN = 11;  // Motor B direction 2

void stopMotors() {
  digitalWrite(IN1_PIN, LOW);
  digitalWrite(IN2_PIN, LOW);
  digitalWrite(IN3_PIN, LOW);
  digitalWrite(IN4_PIN, LOW);
  analogWrite(ENA_PIN, 0);
}

void driveForward(int speedVal) {
  digitalWrite(IN1_PIN, HIGH);
  digitalWrite(IN2_PIN, LOW);
  digitalWrite(IN3_PIN, HIGH);
  digitalWrite(IN4_PIN, LOW);
  analogWrite(ENA_PIN, speedVal);
}

void driveReverse(int speedVal) {
  digitalWrite(IN1_PIN, LOW);
  digitalWrite(IN2_PIN, HIGH);
  digitalWrite(IN3_PIN, LOW);
  digitalWrite(IN4_PIN, HIGH);
  analogWrite(ENA_PIN, speedVal);
}

void setup() {
  Serial.begin(115200);
  pinMode(ENA_PIN, OUTPUT);
  pinMode(IN1_PIN, OUTPUT);
  pinMode(IN2_PIN, OUTPUT);
  pinMode(IN3_PIN, OUTPUT);
  pinMode(IN4_PIN, OUTPUT);

  stopMotors();
  Serial.println(F("L298N Motor Driver initialized."));
}

void loop() {
  Serial.println(F("Driving forward"));
  driveForward(200);
  delay(2000);

  Serial.println(F("Stopping"));
  stopMotors();
  delay(1000);

  Serial.println(F("Driving reverse"));
  driveReverse(200);
  delay(2000);

  Serial.println(F("Stopping"));
  stopMotors();
  delay(1000);
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online

Commande de deux moteurs DC avec ESP32 et L298N

Ce projet contrôle deux moteurs DC à l’aide d’un ESP32 et d’un driver en pont en H L298N. Le sketch fait tourner les deux moteurs en avant, les arrête, les fait tourner en arrière et illustre le contrôle de la vitesse en PWM. Connectez une alimentation externe à la borne 12V du L298N afin de fournir assez de courant pour des moteurs plus puissants.

Schéma de câblage : Carte de commande de moteur L298N rouge sur un ESP32 DevKit V1
Schéma de câblage · Cliquez pour agrandir
Tableau de câblage : Carte de commande de moteur L298N rouge sur un ESP32 DevKit V1
Tableau de câblage · Cliquez pour agrandir
ESP32_Dual_DC_Motor_Control_with_L298N.ino · compilé et testé
/*
 * ==================================================================
 *  Generated by Codey.online  —  https://www.codey.online
 * ==================================================================
 *  Project   : ESP32 Dual DC Motor Control with L298N
 *  Board     : ESP32 DEVKIT V1 (esp32:esp32:esp32doit-devkit-v1)
 *  Parts     : L298N Motor Driver Board
 *  Libraries : none (built-in)
 *
 *  Codey Online is an AI-powered browser IDE for Arduino and ESP32.
 *  Describe your project and Codey writes the code, draws the wiring
 *  diagram and uploads it to your board, straight from the browser.
 *  This code is free to use, modify and share, without warranty.
 * ==================================================================
 */

const int ENA_PIN = 14;
const int IN1_PIN = 27;
const int IN2_PIN = 26;
const int IN3_PIN = 25;
const int IN4_PIN = 33;
const int ENB_PIN = 32;

void setMotors(int speedA, int dirA, int speedB, int dirB) {
  // Motor A direction
  if (dirA > 0) {
    digitalWrite(IN1_PIN, HIGH);
    digitalWrite(IN2_PIN, LOW);
  } else if (dirA < 0) {
    digitalWrite(IN1_PIN, LOW);
    digitalWrite(IN2_PIN, HIGH);
  } else {
    digitalWrite(IN1_PIN, LOW);
    digitalWrite(IN2_PIN, LOW);
  }
  analogWrite(ENA_PIN, speedA);

  // Motor B direction
  if (dirB > 0) {
    digitalWrite(IN3_PIN, HIGH);
    digitalWrite(IN4_PIN, LOW);
  } else if (dirB < 0) {
    digitalWrite(IN3_PIN, LOW);
    digitalWrite(IN4_PIN, HIGH);
  } else {
    digitalWrite(IN3_PIN, LOW);
    digitalWrite(IN4_PIN, LOW);
  }
  analogWrite(ENB_PIN, speedB);
}

void setup() {
  Serial.begin(115200);
  pinMode(ENA_PIN, OUTPUT);
  pinMode(IN1_PIN, OUTPUT);
  pinMode(IN2_PIN, OUTPUT);
  pinMode(IN3_PIN, OUTPUT);
  pinMode(IN4_PIN, OUTPUT);
  pinMode(ENB_PIN, OUTPUT);
  Serial.println("L298N Motor Driver Initialized");
}

void loop() {
  // Drive forward
  Serial.println("Moving Forward");
  setMotors(200, 1, 200, 1);
  delay(2000);

  // Stop
  Serial.println("Stopping");
  setMotors(0, 0, 0, 0);
  delay(1000);

  // Drive backward
  Serial.println("Moving Backward");
  setMotors(200, -1, 200, -1);
  delay(2000);

  // Stop
  Serial.println("Stopping");
  setMotors(0, 0, 0, 0);
  delay(1000);

  // Speed ramp up
  Serial.println("Ramping Speed Forward");
  for (int spd = 0; spd <= 255; spd += 15) {
    setMotors(spd, 1, spd, 1);
    delay(100);
  }
  delay(500);
  setMotors(0, 0, 0, 0);
  delay(1500);
}

Wiring diagram and example code generated by Codey.online — https://www.codey.online

Récemment consultés

Collier de serrage Noir 20cm 3.5mm

Collier de serrage Noir 20cm 3.5mm

€ 0,25
Raspberry Pi Pico 2WH avec WiFi et headers pré-soudés

Raspberry Pi Pico 2WH avec WiFi et headers pré-soudés

€ 11,95
Voir
10x Diode LED 5 mm verte 3 V

10x Diode LED 5 mm verte 3 V

€ 1,85
Mini breadboard 170 trous pour prototypage Blanc (connect)

Mini breadboard 170 trous pour prototypage Blanc (connect)

€ 0,95
Capteur de monoxyde de carbone MQ-7

Capteur de monoxyde de carbone MQ-7

€ 2,80
Trimpot Potentiomètre 501 500

Trimpot Potentiomètre 501 500

€ 0,50
Module abaisseur 12V vers 12V / 5V / 3.3V

Module abaisseur 12V vers 12V / 5V / 3.3V

€ 2,45
Mini écran OLED blanc 1.3 inch 128x64 I2C

Mini écran OLED blanc 1.3 inch 128x64 I2C

€ 6,99
Mini Breadboard 170 trous pour prototypage Rouge (connect)

Mini Breadboard 170 trous pour prototypage Rouge (connect)

€ 0,95
Mini écran OLED bleu 0,96 pouce 128x64 I2C

Mini écran OLED bleu 0,96 pouce 128x64 I2C

€ 5,99
Capteur d'humidité du sol 5v

Capteur d'humidité du sol 5v

€ 3,70
Shield d’expérimentation pour Arduino UNO

Shield d’expérimentation pour Arduino UNO

€ 5,70
Module CAN-bus MCP2515 SPI 5V

Module CAN-bus MCP2515 SPI 5V

€ 2,25
Voir