
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:
- Avanzar 10 segundos
- Reversa 10 segundos
- Girar a la izquierda 1 segundo
- Girar a la derecha 1 segundo
- Se detiene al final
🧠 Asignación de pines (puedes modificarlos según tu conexión):
- Motor Izquierdo:
- IN1 → pin 8
- IN2 → pin 9
- IN1 → pin 8
- Motor Derecho:
- IN3 → pin 10
- IN4 → pin 11
- IN3 → pin 10
- 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().
- Puedes unirlos a 5 V para máxima velocidad.
- 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).
- Alimenta el L298N con una batería (por ejemplo, 6 V o 7.4 V) independiente del Arduino, pero une las tierras (GND).
