carrito arduino
carrito con arduino l298n

código de Arduino para controlar tu carro con un módulo L298N, con dos motores delanteros y una rueda loca trasera.
El programa ejecuta las siguientes acciones en secuencia:

  1. Avanzar 10 segundos
  2. Reversa 10 segundos
  3. Girar a la izquierda 1 segundo
  4. Girar a la derecha 1 segundo
  5. Se detiene al final

🧠 Asignación de pines (puedes modificarlos según tu conexión):

  • Motor Izquierdo:
    • IN1 → pin 8
    • IN2 → pin 9
  • Motor Derecho:
    • IN3 → pin 10
    • IN4 → pin 11
  • ENA y ENB conectados directamente a 5 V (para velocidad máxima), o a pines PWM si quieres control de velocidad.

✅ Código Arduino

// Pines para el módulo L298N

const int IN1 = 8;   // Motor Izquierdo

const int IN2 = 9;   // Motor Izquierdo

const int IN3 = 10;  // Motor Derecho

const int IN4 = 11;  // Motor Derecho

void setup() {

  // Configuramos pines como salida

  pinMode(IN1, OUTPUT);

  pinMode(IN2, OUTPUT);

  pinMode(IN3, OUTPUT);

  pinMode(IN4, OUTPUT);

  // Aseguramos que el carro esté detenido al inicio

  detenerCarro();

}

void loop() {

  // 1. Avanzar 10 segundos

  avanzar();

  delay(10000);

  // 2. Reversa 10 segundos

  reversa();

  delay(10000);

  // 3. Girar a la izquierda 1 segundo

  girarIzquierda();

  delay(1000);

  // 4. Girar a la derecha 1 segundo

  girarDerecha();

  delay(1000);

  // 5. Detener carro

  detenerCarro();

  // Detener el programa

  while (true);

}

// ———- FUNCIONES DE MOVIMIENTO ———-

void avanzar() {

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void reversa() {

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void girarIzquierda() {

  // Motor izquierdo en reversa, motor derecho hacia adelante

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, HIGH);

  digitalWrite(IN3, HIGH);

  digitalWrite(IN4, LOW);

}

void girarDerecha() {

  // Motor izquierdo hacia adelante, motor derecho en reversa

  digitalWrite(IN1, HIGH);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, HIGH);

}

void detenerCarro() {

  digitalWrite(IN1, LOW);

  digitalWrite(IN2, LOW);

  digitalWrite(IN3, LOW);

  digitalWrite(IN4, LOW);

}


📝 Consejos de conexión

  • ENA y ENB:
    • Puedes unirlos a 5 V para máxima velocidad.
    • Si quieres control PWM, conéctalos a pines 5 y 6 y usa analogWrite().
  • Alimentación:
    • Alimenta el L298N con una batería (por ejemplo, 6 V o 7.4 V) independiente del Arduino, pero une las tierras (GND).