bclose

CONTROL DEL COCHE CON EL TECLADO

Comprobando el sentido de giro de los motores

Objetivos

 

    • Aprender a utilizar el controlador de motores L298N.
    • Comprobar la dirección de giro de los motores.
    • Crear un programa para controlar el cochecon el teclado del ordenador.
 

Material requerido.

 montaje coche s4a

Set de piezas del coche

Imagen de Arduino UNO

Arduino Uno o compatible.

Vista principalUn módulo controlador de motores L298N.
Img_3_6

Algunos cables de Protoboard macho-macho y macho-hembra.

 

FUNCIONAMIENTO DEL CONTROLADOR DE MOTORES L298N

 

En la sesión anterior ya conectamos y explicamos cómo funciona el controlador, pero vamos a recordarlo un poco por encima antes de ponernos a programar.

Para controlar el sentido de giro de los motores se utilizan los pines IN1 e IN2, para el motor A y los pines IN3 e IN4 para el motor B. Cada uno de ellos estará conectado a una salida digital del Arduino:

 
  • Las salidas digitales solo pueden tomar 2 valores: 0 y 1, HIGH y LOW, BAJO y ALTO, como prefiráis llamarles.
  • Si IN1 está a ALTO e IN2 a BAJO, el motor A gira en un sentido
  • Si IN1 está a BAJO e IN2 a ALTO lo hace en el otro.
  • Lo mismo para los pines IN3 e IN4 y el motor B. 

Para controlar la velocidad de giro de los motores se utilizan los pines ENA y ENB, que hemos conectado a las salidas analógicas 6 y 5 de Arduino respectivamente.

 
  • Las salidas analógicas o PWM pueden tomar valores entre 0 y 255.
  • Si le damos un valor demasiado bajo, no será suficiente para mover los motores.
  • Si por el contrario le damos uno demasiado alto no vamos a tener suficiente potencia para mover las ruedas y hacer funcionar el Bluetooth que pondremos en la siguiente sesión.
  • Los componentes que sirven para comunicarse a distancia, como el Bluetooth, consumen mucha energía.  
diagrama eléctrico

 

COMPROBANDO EL SENTIDO DE GIRO

 

Sabemos que con los pines IN1 a IN4 controlamos el sentido de giro de los motores, pero el problema que se nos presenta es que no tenemos forma de saber hacia qué dirección va a girar, así que lo haremos mediante ensayo y error. Para ello conectaremos el Arduino al PC y arrancaremos mBlock.

Haremos un pequeño programa en el que al pulsar la tecla de la flecha del teclado hacia arriba el coche se mueva hacia delante, teniendo en cuenta que consideramos la parte delantera la que tiene forma de parachoques. Seleccionamos la categoría de bloques “Eventos” y arrastramos el bloque “al presionar la tecla …” al programa. En el menú desplegable tenemos que seleccionar flecha arriba.

mblock

Vamos a suponer que el coche se va a mover hacia delante cuando tengamos IN1  a BAJO (pin 13 de Arduino), IN2 a ALTO (pin 12), IN3 a BAJO (pin 11) e IN4 a ALTO (pin 10). Además le indicaremos la velocidad a lo que lo tiene que hacer con los pines ENA y ENB. Utilizaremos los bloques “fijar salida digital … a …” y “fijar pin PWM … a …” de la categoría “Robots”, y en ellos seleccionaremos las salidas que queremos usar y fijaremos su valor.

mblock bloques

Para comprobarlo encendemos el interruptor del coche y pulsamos la tecla hacia delante. Pueden pasar 4 cosas:

 
  • Que el coche se mueva hacia delante. ¡Perfecto! Hemos tenido suerte y no vamos a tener que cambiar nada.
  • Que el coche se mueva hacia detrás. Los dos se mueven al revés de lo que hemos supuesto.
  • Que el coche gire hacia la derecha. El motor B gira al revés de lo que hemos supuesto.
  • Que el coche gire a la izquierda. El motor A gira al revés de lo que hemos supuesto.  

Bueno, pues si sois de la primera opción, felicidades, y si no lo sois tranquilos, porque tiene fácil arreglo. Simplemente tenéis que intercambiar los pines que controlan el sentido de giro del motor o los motores que estén girando al revés de lo previsto.  Es decir, IN1 IN2 para el motor A, e IN3 e IN4 para el motor B.

 

PROGRAMACIÓN DEL COCHE

 

Una vez que tenemos programado el movimiento hacia delante y tenemos claro cómo giran nuestros motores, el resto lo tenemos fácil. Para hacer que se mueva hacia atrás sólo necesitaremos invertir el estado de los pines 10 al 13 que controlan el sentido de giro.

mBlock bloques

Si lo que queremos es girar a la derecha, el motor A debería ir hacia delante y el B hacia atrás, y lo contrario para girar a la izquierda.

mBlock bloques

Y por último haremos que los motores se paren al pulsar la tecla “espacio”.

mBlock bloques

Resumen de la sesión

 

En esta sesión hemos aprendido varias cosas importantes:

 
  • Cómo funciona el controlador de motores L298N.
  • A comprobar los sentidos de giro de los motores.
  • Hemos hecho un programa para manejar el coche con el teclado del PC.

 

Siguiente: siguelíneas

LikeUsOnFacebook_Icon

No Comments

Give a Reply

WordPress Anti-Spam by WP-SpamShield

¡Ofertón!

Robot Rover 4×4

Ahora por sólo

50€ + IVA

¡Lo quiero!