Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Podemos manejar motores de corriente continua (CC) en S4A, utilizando directamente los pines de
salida analógica de Arduino y un transistor. Pero nuestro honorable Arduino está limitado por la
intensidad que puede proporcionar al motor, y va a ser insuficiente cuando queramos usarlo para
controlar motores de mayor potencia. Podríamos decir que la potencia es la velocidad con la que
se consume energía.
Hay muchísimos controladores diferentes, pero nosotros nos hemos decidido por el L298N por su
facilidad de uso y su reducido precio, y porque nos permite elegir los pines del Arduino que
queremos usar para controlar los motores. El L298N puede trabajar con tensiones hasta 35V y una
intensidad de hasta 2A por canal por canal, con lo que puede manejar hasta 4A en total y unos
25W. Algunos controladores de motores (y muchos otros componentes) se montan directamente
encima del Arduino, y los denominamos shields. Estos shields se reservan directamente ciertos
pines para su uso y disfrute, así que no suelen ser recomendables para usar con S4A, ya que
raramente nos coincide correctamente la función de los pines en S4A y en el controlador.
Este módulo tiene además otra característica muy importante, y es que nos permite controlar la
dirección de giro de los motores, es decir podremos hacer que giren en ambos sentidos, algo
totalmente necesario para nuestro coche.
Además nos permite obtener del módulo una tensión de 5V, perfecta para alimentar nuestro
Arduino sin tener que utilizar otra fuente adicional. Eso sí, este regulador sólo funciona si
alimentamos el módulo con una tensión máxima de 12V. En nuestro caso son 4 pilas de 1.5V,o
sea, 6V.
Un jumper es un componente que nos sirve para conectar dos pines.
La entrada de tensión Vin admite tensiones entre 3V y 35V, y justo a su derecha en la imagen
tenemos el pin que debemos conectar a GND.
La tercera conexión de ese grupo V lógico puede funcionar de dos maneras:
Si el jumper del regulador está cerrado activaremos el regulador de tensión del L298N, y en V
lógico tendremos una salida de 5V, que podremos usar para lo que queramos, por ejemplo para
alimentar una placa Arduino.
Si el quitamos el jumper desactivaremos el regulador, necesitaremos alimentar la parte lógica del
módulo, así que tendremos que meter una tensión de 5V por la conexión V lógico para que el
módulo funcione.
¡Cuidado! Si introducimos corriente por V lógico con el jumper de regulación puesto podríamos
dañar el módulo.
Además el regulador sólo funciona con tensiones hasta 12V en Vin, por encima de este valor
tendremos que quitar el jumper y alimentar la parte lógica del módulo desde otra fuente.
Los pines IN1 e IN2 nos sirven para controlar el sentido de giro del motor A, y los pines IN3 e IN4
el del motor B. Funcionan de forma que si IN1 está a HIGH e IN2 a LOW, el motor A gira en un
sentido, y si está IN1 a LOW e IN2 a HIGH lo hace en el otro. Y lo mismo con los pines IN3 e IN4 y el
motor B.
Para controlar la velocidad de giro de los motores tenemos que quitar los jumpers y usar los pines
ENA y ENB. Los conectaremos a dos salidas analógicas de forma que le enviemos un valor entre 0 y
255 que controle la velocidad de giro. Si tenemos los jumpers colocados, los motores girarán a
máxima velocidad.
El cable negro lo conectaremos directamente al GND del L298N, y será el cable rojo el que
pasaremos por el interruptor. Para ello lo cortaremos y lo soldaremos a una de las patas metálicas
del interruptor (da igual a cuál), y la parte sobrante de cable la conectaremos a la otra parte del
interruptor, y de ahí a la alimentación del módulo L298N.
El resto de cables los conectaremos como hemos visto en el esquema eléctrico, tratando de
utilizar cables de colores diferentes y de la forma más ordenada posible, para asumir el menor
riesgo a equivocarnos posible.
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.
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, y funcionan de la siguiente forma.
Si nos fijamos en los pines 0 y 1 de Arduino veremos que al lado hay escrito Rx y Tx. ¿Qué significa
esto? Pues que estos pines sirven también para realizar la comunicación serie de la misma forma
que el cable que hemos utilizado hasta ahora. El pin 0 (Rx) se encarga de recibir datos y el pin 1
(Tx) de transmitir datos.
Así que si conectamos el módulo Bluetooth a esos dos pines podrá transmitir los datos que
lleguen desde otros dispositivos Bluetooth a nuestro Arduino, pudiendo prescindir de cables. En
nuestro caso buscamos recibir los datos que le lleguen desde un PC con Bluetooth y que estará
ejecutando S4A, desde controlaremos el coche.
Hay varios módulos Bluetooth para Arduino, y los más utilizados son el HC-05 y el HC-06.
Recomendamos utilizar el HC-06 porque es el más sencillo de conectar y de usar, y será el que
utilicemos en el coche..
El HC-06 tiene 4 pines, dos para la alimentación como ya es costumbre, y dos para comunicarse
con nuestro Arduino, rotulados como Rx y Tx. A la hora de conectarlo a nuestro Arduino tenemos
que conectar el Tx del módulo al Rx del Arduino, y el Tx del módulo al Rx del Arduino, de forma
que lo que envíe el módulo Bluetooth lo reciba el Arduino y viceversa. Pero de momento no
conectéis nada, ya explicaremos por qué.
Pero antes de poder utilizarlo de esta forma con el S4A, vamos a tener
que cambiar la configuración que tiene predeterminada en el HC-06. Así
que de momento no conectéis nada, ya explicaremos por qué.6.
Entonces abrimos el entorno S4A y si todo ha ido bien, tras un momento de incertidumbre,
veremos cómo S4A detecta la placa. Por fin, abrimos el programa que tenemos de la sesión
anterior para controlar el coche y listo, a jugar con él.
Fuente: https://www.prometec.net/s4a-coche-bluetooth/
Armado auto: https://www.instructables.com/id/Smartphone-Controlled-Arduino-Rover/