Saltar la navegación

Controladora motores L298N

l298n

La controladora de motores L298N es un dispositivo que realiza las funciones necesarias para gestionar los puentes "H" necesarios para controlar dos motores.

En la práctica, esto significa que, con funciones fáciles de manejar, vamos a poder controlar las velocidades de los dos motores de un chasis y el sentido de giro, lo que implicará el control sobre su movimiento a nivel de velocidad, sentido de marcha y giros.

Para ver el circuito en grande haz clic sobre la imagen:

circuito

Librería

Descarga la librería de Leantec para la controladora desde este enlace.

#include <LEANTEC_ControlMotor.h>//Incluimos la librería control de motores 
// Configuramos los pines que vamos a usar

ControlMotor control(2,3,7,4,5,6); // MotorDer1,MotorDer2,MotorIzq1,MotorIzq2,PWM_Derecho,PWM_Izquierdo
int velocidad=150;//Declaramos una variable para guardar la velocidad. 150 es la velocidad en la que empezará.

void setup() 
{ //En esta ocasión no necesitamos configurar pines ya que la librería lo hace.
} 
 
void loop() {
//Un motor gira en sentido horario y el otro antihorario
//Si estuvierán montados en un robot el robot avanzaria. 
// Provocamos aceleración
// La velocidad solo toma valores entre -254 y 254
// El giro solo toma valores entre -100 y 100
for (velocidad=150;velocidad<254;++velocidad) {
     control.Motor(velocidad,1);
     delay (200);
}
 //Un motor gira en sentido horario y el otro antihorario 
 //Si estuvierán montados en un robot el robot retrocedería.

control.Motor(-180,1);
delay(3000);

//Los dos motores giran en sentido horario.
//Si estuvieran montados en un robot este giraria a la derecha.

control.Motor(200,100);
delay(3000);

//Los dos motores giran en sentido antihorario.
//Si estuvieran montados en un robot este giraria a la derecha.

control.Motor(200,-100);
delay(3000);

//Los motores se paran.

control.Motor(0,1);
delay(3000);
velocidad=150; //Reseteamos la velocidad

}