COMO CONTROLAR VELOCIDAD de un MOTOR DC CON L298N


speedmotorl298nbuttons.jpg

Video

Está práctica aprenderemos a controlar la velocidad de un motor DC utilizando un L298N. Disminuiremos o aumentaremos las revoluciones del motor usando pulsadores y un Arduino UNO.

¿Cómo CONTROLAR la VELOCIDAD de un MOTOR DC con ARDUINO? ▶ L298N con PULSADORES



- Materiales:


Para realizar el circuito necesitas:

• 1 Arduino UNO,
• 1 Módulo L298N,
• 1 Motor DC,
• 1 Fuente de alimentación 12v,
• 2 pulsadores,
• 2 resistencias de 1k ohms,
• 1 protoboard y jumpers.

- Código



Iniciaremos el programa inicializando y declarando las variables y constantes necesarias para que funcione nuestro código.

#define BUTTONRIGHT 7
#define BUTTONLEFT 8
#define IN1 9
#define IN2 10
#define ENA 11

int speedMotor = 255;
bool statusLeft;
bool statusRight;

En la función setup() se definirá los pines del L298N como salidas y los botones como entrada. Ahí mismo encenderemos el motor usando digitalWrite en los pines del puente H.

void setup() {
pinMode(BUTTONRIGHT, INPUT);
pinMode(BUTTONLEFT, INPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENA, OUTPUT);
//encender motor
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
}

En el void loop guardamos en las variables destinadas a los estados de los botones, guardamos dicho estado con la función digitalRead().
Después, usando condicionales “if” checamos cuál de los dos pulsadores está presionado para aumentar o disminuir la velocidad del motor.
Recuerda que con analogWrite podemos regular el pulso PWM.

void loop() {
statusRight = digitalRead(BUTTONRIGHT);
statusLeft = digitalRead(BUTTONLEFT);
if(statusLeft == HIGH){
if(speedMotor <= 0){
speedMotor = 0;
}else{
speedMotor = speedMotor - 5;
}
}

if(statusRight == HIGH){
if(speedMotor >= 255){
speedMotor = 255;
}else{
speedMotor = speedMotor + 5;
}
}

analogWrite(ENA, speedMotor);
delay(150);
}

-Instrumentación

Colocaremos primero los pulsadores. Los pulsadores los pondremos en un extremo de la protoboard. En cada pulsador, conectaremos una de las patas a 5v y el otro haremos un nodo donde estará una pata de la resistencia de 10k y el puente donde lo conectaremos al pin digital de Arduino. El extremo que falta por conectar de la resistencia lo pondremos en GND.

Puenteamos el pin de 5v del Arduino a la línea Vcc y GND a la línea de tierra de la protoboard para alimentar los pulsadores.

Conectamos a las entradas del MOTOR A del L298N al motor DC, y enlazamos con jumpers IN1, IN2 a los pines digitales del Arduino. Finalizamos la instrumentación colocando la fuente de alimentación 6v-12v al módulo L298N.

DESCARGAS


COMO CONTROLAR VELOCIDAD DE UN MOTOR DC CON L298N Y ARDUINO

Imágenes

speedmotorl298nbuttons.jpg

APRENDE LO QUE NECESITAS

NUESTROS CURSOS


cursoarduinoyandroid.jpg

Creación de un HMI en Android Studio y Arduino

Nivel: Básico 2 horas y 30 min (146 min.)

Diseña, maqueta y programa un HMI completo en Android Studio vinculado a un Arduino mediante Bluetooth.

cursodispensadorautomatico.jpg

CONSTRUYE un DISPENSADOR AUTOMÁTICO CASERO sin ARDUINO desde CERO

Nivel: Básico 27 minutos

Construye desde cero un dispensador automático casero sin Arduino desde cero, utilizando pura electrónica.

cursocarritorobot4wd.jpg

Creación de carrito robot desde cero usando mando de PS4

Nivel: Básico 2 horas y 19 min (139 min.)

Construye desde cero un carrito robot con arduino manipulado por un control de PS4 y un teléfono Android.