aprenderoboticaytecnologia

5.4.- Actividad didáctica: Coche Robot

Durante esta cuarta y última actividad didáctica vamos a construir un coche robot con Arduino. Pondremos en práctica y en conjunto todo lo aprendido en las actividades didácticas anteriores.

Por un lado, incorporaremos al chasis con los cuatro motores y el circuito electrónico para girar los motores en ambas direcciones con el módulo L293D, que construimos durante la segunda práctica. Esto es, el circuito electrónico de la primera práctica para encender y apagar varios leds a la vez, simularemos las luces de los intermitentes, patrones luminosos, etc con el módulo 74HC595 Shift Register. Y el circuito electrónico de la tercera práctica para comunicarnos de forma inalámbrica con el módulo Bluetooth HC-05 con la plataforma de desarrollo de aplicaciones móviles APP Inventor.

Además, crearemos un script que incorporará tanto las librerías que hemos creado anteriormente. Estas son LightsLib de la primera actividad y MotorsLib de la segunda actividad, como la librería SoftwareSerial que viene por defecto. Con esto podemos realizar todas las acciones anteriores con nuestro coche robot con nuestra placa Arduino UNO. Por último, utilizaremos la aplicación móvil Bluetooth_HC05_v1 que hemos construido con la plataforma de desarrollo de aplicaciones móviles APP Inventor, para poder realizar las acciones definidas anteriormente.

Materiales necesarios

Código fuente con Arduino

Como hemos comentado anteriormente, durante esta última actividad didáctica vamos a combinar y mezclar todo lo aprendido en las actividades didácticas anteriores. Esto es, vamos a crear un script que nos permita la comunicación por bluetooth con una aplicación móvil que hemos construido en la actividad didáctica anterior.

De tal manera, que podamos realizar acciones con los leds como puede ser encender y apagar varios leds a la vez, luces intermitentes, juegos con las luces, etc. Usando la librería LightsLib que creamos en la primera actividad didáctica.

Además, también podremos realizar las acciones con los motores DC. Es decir, mover todos los motores hacia delante, hacía atrás, y también combinar motores para girar a la derecha y a la izquierda. Usando la librería MotorsLib que creamos en la segunda actividad didáctica.

Sketch de Arduino

Teniendo claro cómo funcionan las librerías que hemos creado, y la librería estándar que usamos para conectar por bluetooth, es hora de combinar y mezclar los scripts que hemos creado en las actividades didácticas anteriores. Lo mostraremos a continuación, y explicaremos más detalladamente:

U4_CocheRobot

Lo primero que hacemos es incluir las librerías que usaremos en nuestro sketch de pruebas. En este caso, nuestras librerías LightsLib.h y MotorsLib.h, también la librería estándar SoftwareSerial.h. Con los siguientes comandos inicializamos las variables de las librerías que usaremos en nuestro sketch, y hemos comentado en el párrafo anterior:

  • LightsLib lightsLib(4,5,3). Creamos una variable de nuestra librería, y la inicializamos con los pines latchPin, clkPin y dataPin del módulo 74HC595 Shift Register, con los pines digitales 4,5 y 3 de nuestra placa Arduino UNO.

  • MotorsLib motorsLib(13, 8, 12, 11, 9, 10). Con esta otra variable de nuestra librería, la inicializamos con los pines enable1, enable2, input1, input2, input3 e input4 del módulo L293D, con los pines digitales 8, 9, 10, 11, 12 y 13 de nuestra placa Arduino UNO.

  • SoftwareSerial BT(7,6). Por último, creamos otra variable de la librería que estamos usando para comunicarnos por bluetooth. En este caso, SoftwareSerial.h, y la inicializamos con los pines RX y TX del módulo Bluetooth HC-05, con los pines 6 y 7 de nuestra placa Arduino UNO.

Circuito electrónico del coche Robot con Arduino

Para poder realizar el diseño electrónico de esta última actividad didáctica, tenemos en cuenta lo siguiente. Ya disponemos de tres circuitos electrónicos creados previamente en las actividades didácticas anteriores. Vamos a integrar todos estos circuitos en un único diseño electrónico para construir nuestro coche robot con Arduino. A modo de resumen, tenemos los siguientes circuitos electrónicos ya creados:

  • Para controlar varios leds con tan solo 3 entradas digitales de nuestro Arduino UNO mediante el módulo 74HC595 Shift Register. Creado en la primera actividad didáctica.

  • Otro para controlar varios motores DC, montados en un chasis, conectando con nuestro Arduino UNO mediante el módulo L293D. Creado en la segunda actividad didáctica.

  • Y otro para comunicar mediante bluetooth con una aplicación móvil, y poder enviar y recibir señales con nuestro Arduino UNO mediante un módulo Bluetooth HC-05.

Hay que tener en cuenta, que cada uno de los tres circuitos electrónicos anteriores contiene sus propias salidas de tierra GND y alimentación 5V. Todas ellas conectadas a la fila de polo negativo (-) para GND y positivo (+) para 5v de la protoboard. Por lo que usaremos una protoboard para conectar la salida GND y 5v de cada circuito electrónico.

Pasos para conectar los pines
  • Paso 1:
    Empezaremos conectando el primer circuito electrónico. Consiste en controlar varios leds mediante el módulo 74HC595 Shift Register a nuestro Arduino UNO. Para ello, conectaremos:

        – Pin 11 (clkPin) del módulo 74HC595 Shift Register al pin 5 de la placa Arduino UNO.
        – Pin 12 (latchPin) del módulo 74HC595 Shift Register al pin 4 de la placa Arduino UNO.
        – Pin 14 (dataPin) del módulo 74HC595 Shift Register al pin 3 de la placa Arduino UNO.
  • Paso 2:
    Continuaremos conectado el segundo circuito electrónico. Consiste en controlar varios motores DC montados en un chasis mediante el módulo L293D a nuestro Arduino UNO. Para ello, conectaremos:

        – Pin 1 (enable12) del módulo L293D al pin 13 de la placa Arduino UNO.
        – Pin 2 (entrada1) del módulo L293D al pin 12 de la placa Arduino UNO.
        – Pin 7 (entrada2) del módulo L293D al pin 11 de la placa Arduino UNO.
        – Pin 9 (enable34) del módulo L293D al pin 8 de la placa Arduino UNO.
        – Pin 10 (entrada3) del módulo L293D al pin 9 de la placa Arduino UNO.
        – Pin 15 (entrada4) del módulo L293D al pin 10 de la placa Arduino UNO.
  • Paso 3
    : Ahora conectaremos el tercer circuito electrónico. Consiste en comunicar mediante bluetooth con una aplicación móvil mediante un módulo Bluetooth HC-05 a nuestro Arduino UNO. Para ello, conectaremos:

        – Pin RXD del módulo Bluetooth HC-05 al pin 6 de la placa Arduino UNO.
        – Pin TXD del módulo Bluetooth HC-05 al pin 7 de la placa Arduino UNO.
  • Paso 4:
    Por último, vamos a conectar a una nueva protoboard que hemos usado para conectar la salida GND y 5v de cada circuito electrónico (la salida GND del polo negativo (-) de la protoboard, y la salida 5v del polo positivo de cada protoboard anterior, irán conectados a una nueva protoboard). Para ello, conectaremos:

        – Uno de los pines GND (tierra) de la placa Arduino UNO a la fila de polo negativo (-) de la protoboard.
        – El pin 5V de la placa Arduino UNO a la fila de polo positivo (+) de la protoboard.
  • Hay que tener en cuenta, que debemos conectar el polo positivo de la pila de 9v al pin Vin de la placa Arduino UNO.

Una vez tengamos ya el circuito electrónico totalmente conectado y el sketch del código fuente cargado en la placa de Arduino UNO, ya podremos probar nuestra librería LightsLib para controlar varios leds, nuestra librería MotorsLib para controlar varios motores DC, y comunicarnos por bluetooth con la aplicación móvil que desarrollaremos con la plataforma para aplicaciones móviles APP Inventor.

Coche Robot con Arduino

Circuito electrónico de Coche Robot con Arduino UNO

¡Descubre nuestro proyecto educativo coche robot con luces Led!