El L298N es un módulo que sirve para controlar motores de corriente directa (DC) usando Arduino u otro microcontrolador.

⚙️ ¿Para qué sirve?

Permite:

  • Encender y apagar motores
  • Cambiar el sentido de giro (adelante o atrás)
  • Controlar la velocidad (usando PWM)

🔁 ¿Qué es un puente H?

Se llama así porque internamente tiene un circuito en forma de “H” que permite:

  • Invertir la polaridad del motor
  • Así el motor puede girar en ambos sentidos

CONEXION DE MOTORES EN PUENTE H

🔌 Partes principales (explicado fácil)

  • OUT1 y OUT2 → Motor A
  • OUT3 y OUT4 → Motor B
  • IN1, IN2, IN3, IN4 → Controlan dirección
  • ENA y ENB → Controlan velocidad (PWM)
  • 12V → Alimentación de motores
  • GND → Tierra
  • 5V → Alimentación lógica

🔄 ¿Cómo controla el motor?

Ejemplo para un motor:

  • IN1 = HIGH y IN2 = LOW → gira en un sentido
  • IN1 = LOW y IN2 = HIGH → gira al contrario
  • Ambos LOW o HIGH → el motor se detiene

🎯 En pocas palabras:

El L298N es un intermediario entre Arduino y los motores, porque Arduino no puede mover motores directamente (no tiene suficiente potencia).

Codigo para ensayar con el L298N

🚗 Ejemplo de código L298N (Movimiento en cuadrado)

🔌 Suposiciones de conexión

  • IN1 → Pin 8
  • IN2 → Pin 9
  • IN3 → Pin 10
  • IN4 → Pin 11

void setup() {
// Configurar pines como salida
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}

puente H ejemplo codigo

void loop() {

alto(); // Detenido
delay(2000);

adelante(); // Avanza
delay(2000);

derecha(); // Gira derecha
delay(800);

adelante();
delay(2000);

derecha();
delay(800);

adelante();
delay(2000);

derecha();
delay(800);

adelante();
delay(2000);

alto(); // Termina
delay(5000);
}

puente H ejemplo codigo a

void adelante() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void derecha() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

void alto() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

puente H ejemplo codigo b 1

🧠 Explicación sencilla de como funciona este ejemplo con puente H en arduino

🔹 1. ¿Qué hace este programa?

El carro:
➡️ Se detiene
➡️ Avanza
➡️ Gira a la derecha
➡️ Repite esto 4 veces

👉 Resultado: forma un cuadrado


🔹 2. ¿Cómo controla los motores?

Cada motor usa 2 pines:

  • Motor A → IN1 e IN2
  • Motor B → IN3 e IN4

Movimiento:

  • Adelante: ambos motores giran hacia adelante
  • Derecha: un motor avanza y el otro retrocede
  • Alto: todos apagados

🔹 3. ¿Por qué usamos funciones?

adelante();
derecha();
alto();

👉 Para que el código sea más ordenado y fácil de entender
👉 Es como dar órdenes claras al robot


🔹 4. ¿Por qué usa delay? ⏱️

  • delay(2000) → avanza 2 segundos
  • delay(800) → gira el tiempo necesario para formar la esquina

👉 ajustando el tiempo cambia la forma del cuadrado


🎯 TIP (muy importante)

👉 “Si el carro no hace un cuadrado perfecto, no está mal el código… hay que ajustar los tiempos.”

Con esto aplicamos:

  • Prueba y error 🔁
  • Calibración ⚙️
  • Pensamiento ingenieril 🧠