Como Usar El Driver Controlador De Motores L298n Arduino

Aquí te explicamos cómo usar el driver controlador de motores L298N con Arduino. Este pequeño dispositivo te permite controlar fácilmente dos motores DC o un motor paso a paso. ¡Manos a la obra!
¿Qué es el L298N y por qué lo necesitas?
El L298N es un driver (controlador) de motores. Los motores necesitan más corriente de la que Arduino puede proporcionar directamente. El L298N actúa como un intermediario, tomando señales de Arduino y entregando la potencia necesaria a los motores.
Materiales Necesarios
- Arduino (UNO, Nano, Mega, etc.)
- Driver de Motor L298N
- Motores DC (2)
- Cables Jumper (macho-macho)
- Fuente de Alimentación Externa (para los motores, de 5V a 12V dependiendo de los motores)
Conexiones: El Cableado Paso a Paso
Aquí está la parte crucial. ¡Conecta todo correctamente!
Must Read
- Alimentación del L298N:
- VCC: Conecta a 5V de Arduino.
- GND: Conecta a GND (tierra) de Arduino.
- Vs: Conecta a la fuente de alimentación externa (por ejemplo, 9V). ¡Cuidado con la polaridad!
- Señales de Control:
- IN1: Conecta a un pin digital de Arduino (ej: Pin 8).
- IN2: Conecta a otro pin digital de Arduino (ej: Pin 9).
- IN3: Conecta a un pin digital de Arduino (ej: Pin 10).
- IN4: Conecta a otro pin digital de Arduino (ej: Pin 11).
- ENA: Conecta a un pin PWM de Arduino (ej: Pin 5) para controlar la velocidad del motor 1.
- ENB: Conecta a un pin PWM de Arduino (ej: Pin 6) para controlar la velocidad del motor 2.
- Conexión de los Motores:
- OUT1 y OUT2: Conecta a los terminales del primer motor. No importa la polaridad inicialmente; puedes invertirla en el código si el motor gira en la dirección incorrecta.
- OUT3 y OUT4: Conecta a los terminales del segundo motor. Mismo principio que antes.
El Código de Arduino
Este es un ejemplo básico para controlar los motores:

const int motor1_in1 = 8;
const int motor1_in2 = 9;
const int motor1_enable = 5;
const int motor2_in3 = 10;
const int motor2_in4 = 11;
const int motor2_enable = 6;
void setup() {
pinMode(motor1_in1, OUTPUT);
pinMode(motor1_in2, OUTPUT);
pinMode(motor1_enable, OUTPUT);
pinMode(motor2_in3, OUTPUT);
pinMode(motor2_in4, OUTPUT);
pinMode(motor2_enable, OUTPUT);
}
void loop() {
// Motor 1 hacia adelante a máxima velocidad
digitalWrite(motor1_in1, HIGH);
digitalWrite(motor1_in2, LOW);
analogWrite(motor1_enable, 255); // Velocidad máxima
// Motor 2 hacia atrás a media velocidad
digitalWrite(motor2_in3, LOW);
digitalWrite(motor2_in4, HIGH);
analogWrite(motor2_enable, 128); // Velocidad media
delay(2000); // Espera 2 segundos
// Detener ambos motores
digitalWrite(motor1_in1, LOW);
digitalWrite(motor1_in2, LOW);
digitalWrite(motor2_in3, LOW);
digitalWrite(motor2_in4, LOW);
analogWrite(motor1_enable, 0);
analogWrite(motor2_enable, 0);
delay(2000); // Espera 2 segundos
}
Explicación del Código:
- Definimos los pines de Arduino que controlan el L298N.
- `setup()` configura los pines como salidas.
- `loop()` ejecuta las acciones continuamente:
- `digitalWrite()` controla la dirección de giro del motor.
- `analogWrite()` (en los pines ENA y ENB) controla la velocidad del motor (valores de 0 a 255).
Puntos Clave a Recordar
- Polaridad: Asegúrate de conectar la fuente de alimentación correctamente.
- Velocidad: Usa pines PWM y `analogWrite()` para controlar la velocidad.
- Dirección: Cambia los valores de `digitalWrite()` para invertir la dirección del motor.
- Prueba: Comienza con velocidades bajas y aumenta gradualmente.
¡Ahora tienes las herramientas para controlar motores con Arduino y el L298N! Experimenta, modifica el código y crea proyectos increíbles.
