viernes, 3 de septiembre de 2021

Proyecto Coche Robótico con Arduino (1/5)

 Introducción al proyecto

  • Hola a tod@s.

    Este va a ser un primer apartado introductorio de lo que serán los primeros pasos para poder comenzar a probar los componentes, montar y programar el coche robot.

    PASOS A SEGUIR PARA PROGRAMAR EL ROBOT:

    Primeros pasos de Software (explicación un poco más adelante en el tema de parpadeo de este curso)

     INSTALAR SOFTWARE DE ARDUINO:  https://www.arduino.cc/en/Main/Software

    ✔ INSTALAR DRIVER PLACA UNO (Ya que nuestra placa al ser clónica requiere un driver adicional). https://www.geekfactory.mx/tutoriales/tutoriales-arduino/driver-ch340-para-arduino-chinos-o-genericos/

    ✔ PROBAR LA PLACA CON ARDUINO, PROGRAMA BLINK 

    ✔ CREARNOS UNA CUENTA EN BITBLOQ:  https://bitbloq.bq.com/#/

    ✔ PROBAR A CREAR Y CARGAR EL PARPADEO CON BITBLOQ. Para ello será necesario instalar el Web2Board: Enlace Qssweb2board  para windows: https://github.com/Bitbloq/QSSWeb2Board/releases/download/3.5.0/graphical_installer-qssweb2board3.5.0-Windows.exe

    Qssweb2board para otros sistemas operativos: https://github.com/Bitbloq/QSSWeb2Board/releases


    Primeros pasos de Hardware: (explicación un poco más adelante en el tema de montaje de este curso)

    ✔ SOLDAR LOS CABLES A LOS MOTORES.

    ✔ MONTAR EL CHASIS CON 4 O 2 MOTORES.

    ✔ CONECTAR LOS MOTORES A LA CONTROLADORA. DE MOTORES.

    ✔ CONECTAR EL PORTAPILAS A LA CONTROLADORA DE MOTORES Y DESDE ESTA AL ARDUINO.

    ✔ MONTAR EL SERVO MOTOR DE GIRO Y EL ULTRASONIDO.

    ✔ REALIZAR LAS CONEXIONES DE LOS CUATRO CABLES DE LA CONTROLADORA AL ARDUINO Y DE LOS CABLES DEL SERVO MOTOR Y EL ULTRASONIDO AL ARDUINO.


    Primeros pasos de programación del coche: (explicación un poco más adelante en el tema programación de este curso)

    ✔ CONECTAR LOS CABLES DE SEÑAL DE LA CONTROLADORA DE MOTORES A VOLTAJE DE ARDUINO PARA VER QUE GIRO Y LADO CORRESPONDE A CADA COLOR DE CABLE.

    ✔ CONECTAR EN ARDUINO LOS CABLES QUE REALIZAN CADA EFECTO A LOS PINES DE ARDUINO, ASÍ COMO LOS DEL SERVO MOTOR Y EL ULTRASONIDO.

    Recomendación, si todos los conectamos igual podremos intercambiar los programas de unos en los coches de otros. En mi caso las conexiones de estos elementos son en los siguientes pines:

    ULTRASONIDO: TRI pin3, ECH pin 4 y SERVO MOTOR: pin 2

    IZQUIERDA DELANTE: pin5, IZQUIERDAS ATRÁS: pin 6, DERECHA DELANTE: pin 9, DERECHA ATRÁS: pin 10

    ✔ PROGRAMAS PRIMEROS MOVIMIENTOS DEL COCHE (CUADRADO) Y DETECCIÓN OBSTÁCULOS


    En el siguiente enlace podéis descargar los pasos explicados anteriormente en pdf: https://drive.google.com/file/d/1g7E0QikhLD4XSmP9mHOOrGBQa1WIH1kq/view?usp=sharing

    Saludos,

    Raúl.


Montaje y Construcción de los coches robot

Hola a tod@s.

En este tema vamos a construir los robots que serán la base de trabajo para después programar y diseñar nuestros propios robots. 

Para el coche robot de 3 ruedas:

Los enlaces que nos guiarán paso a paso están sacados de la siguiente web: http://javiergarciaescobedo.es/arduino/100-robot-smart-car/426-curso-para-profesorado-robotica-en-el-aula-con-arduino

  1. Presentación de los materiales y herramientas necesarias
  2. Montaje del chasis
  3. Conexiones del cableado y finalización del montaje

Para ayudaros en la parte de conexiones de motores he creado este vídeo: 

https://www.youtube.com/watch?v=OVlntLxkjsU



Para la opción de compra 3: En el siguiente enlace tenéis un PDF en el que explican como cargar programas en arduino en la primera parte y como montar el coche robot en la segunda ya que esta opción tiene un chasis un poco diferente.

Para el coche robot de 4 ruedas:

Para el montaje del chasis y las las diferentes partes podemos seguir los pasos tal y como nos van mostrando en los siguientes vídeos: 

Parte 1: 

https://www.youtube.com/watch?v=2Xf2uB00D2M



Para la parte del servo motor y el ultrasonido podéis ver una explicación muy buena en el enlace de montaje del coche de tres ruedas: Montaje del chasis

En este primer vídeo puede verse como empieza soldando los cables a los motores antes de montarlos en la estructura.

Es importante tener en cuenta que hay mas opciones de colocar las placas del chasis. Como puede leerse en esta entrada del blog se puede conseguir más espacio colocándolas de esta otra manera.

Entrada de blog: https://iespalti.blogspot.com/2020/12/coche-robot-de-4-motores-modificacion.html







Parte 2: 

https://www.youtube.com/watch?v=2n858-XFv00



En este segundo vídeo comienza por conectar los motores a la controladora, hay que juntar los dos cables rojos de cada lado y los dos negros de cada lado para después llevarlos a la controladora, se puede hacer como en el vídeo añadiendo un componente de unión o simplemente trenzando los cables entre si.

Muy interesantes también las explicaciones que hace de como conectar los diferentes componentes. Las pruebas de giro de los motores las hemos estado viendo en el taller estos días usando la placa arduino.

En las siguientes partes de esta serie de vídeos continua montado el coche pero con un arduino nano en lugar del arduino UNO que vamos a usar nosotros.

Para ayudaros en la parte de conexiones de motores he creado este vídeo: 

https://www.youtube.com/watch?v=OVlntLxkjsU


Una vez llegados a este momento en el que tenemos el chasis y los motores del coche con 4 ruedas montado lo mejor es ir al paso 3 del montaje del coche de tres ruedas ya que todas las conexiones coinciden en uno y otro caso. El enlace de las conexiones es el siguiente:  Conexiones del cableado y finalización del montaje

Por último para completar información del coche con 4 ruedas aquí tenéis otro vídeo que me parece muy interesante porque lleva imágenes de los esquemas de montaje: 



En ambos casos:

En el caso de partir de un robot ya montado o de querer comprobar si todas las partes del nuestro están funcionando correctamente podemos usar la siguiente lista de chequeo o comprobación de las diferentes partes del coche:

Enlace a lista de chequeo del coche robot

Sobre estos robots iremos probando nuestros propios programas con bitbloq y las aplicaciones móviles con appinventor. También buscaremos la forma de crear nuestra propia gama de robots mediante la impresión en 3D.

Un saludo,
Raúl.

Parpadeo (blink) de led con Arduino y Bitbloq

Hola a tod@s.

En este primer tema vamos a conectar nuestra controladora de arduino con el ordenador y cargaremos un sencillo programa de prueba, el blink, que hará parpadear un led.

Las controladoras de arduino UNO que vamos a utilizar tienen un led incorporado (y asociado al pin 13) que permite comprobar que el programa está funcionando correctamente sin necesidad de añadir ningún componente extra a la controladora.

El programa arduino, su entorno de programación (denominado el IDE de arduino) puede descargarse en la web: https://www.arduino.cc/en/Main/Software

Para este primer ejercicio podemos seguir los pasos de este vídeo: 

Como podréis ver en el vídeo el programa blink no hace falta crearlo ya que forma parte de los programas base de ejemplo de arduino (minuto 3:45 del vídeo).

Veremos también que es imprescindible seleccionar en herramientas (Tools) la placa que estamos usando (minuto 7:00 del vídeo) y el puerto COM (minuto 7:20 del vídeo) en el que aparezca que se ha conectado nuestra placa (debe ser un puerto COM diferente al 1).

Una cosa más antes de entrar en el vídeo es que si la controladora UNO que tenemos no es la original de la marca arduino si no una clónica tendremos que instalar unos drivers tal y como explican en esta web desde la que también se pueden descargar para los diferentes sistemas operativos: https://www.geekfactory.mx/tutoriales/tutoriales-arduino/driver-ch340-para-arduino-chinos-o-genericos/

https://www.youtube.com/watch?v=PcusGFga46U


USANDO BITBLOQ 2:

Gran parte de la programación para arduino que haremos será utilizando Bitbloq 2, el entorno de programación por bloques para arduino que ha creado la empresa BQ. Gracias a bitbloq simplificaremos la parte un poco más farragosa de evitar cometer errores de escritura al realizar nuestros programas y podremos centrarnos en la parte lógica y de programación de algoritmos, lo que se denomina la parte de pensamiento computacional.

Para utilizar bitbloq tendremos que registrarnos en su web: https://bitbloq.bq.com/#/

En el siguiente vídeo tenemos una explicación bastante detallada de los primeros pasos para enceder un led con bitbloq. Aunque en el vídeo utiliza la placa zumkit de bq en bitbloq se puede seleccionar también la genérica arduino UNO.

Algo importante a la hora de cargar programas en arduino usando bitbloq es que debemos tener instalado el componente web2board en nuestro ordenador. Si no lo tenemos instalado bitbloq nos avisará y nos pedirá que lo descarguemos e instalemos. Enlaces de descarga al QSSWeb2Board https://github.com/Bitbloq/QSSWeb2Board/releases Por otro lado, si lo tenemos instalado, nos saltará una ventana pidiendo que abramos en una nueva ventana una consola de MSDOS donde se ejecutará este componente. Es imprescindible decir que sí a esta pregunta y no cerrar la consola de MSDOS durante el tiempo que estemos trabajando con btibloq.

https://www.youtube.com/watch?v=ho0vXqDnXX8


 

El vídeo anterior pertenece a una serie de vídeos para iniciarse en bitbloq 2. Aquí podéis ver el vídeo presentación del curso:

https://www.youtube.com/watch?v=vm5TOfNN0PI


Una vez que ya sabemos como encender un led con bitbloq será bastante fácil usando los bloques realizar el programa blink para que el led se encienda y apague.

En el siguiente tema veremos como conectar a nuestro arduino los diferentes componentes electrónicos de nuestro proyecto de semáforo.

Un saludo,

Raúl.

Ultrasonido para la detección de obstáculos del coche robot

Buenos días.

En esta entrada vamos a ver como empezar a programar el coche robótico con el ultrasonido para que sea capaz de moverse de manera autónoma por un espacio evitando los obstáculos.

Antes empezaremos por el programa más sencillo posible que hace simplemente avanzar al coche hacia adelante o pararlo.

Como puede verse en la siguiente imagen en arduino no conectamos motores si no leds. Gracias a la controladora de motores L298N lo único que necesitamos hacer desde arduino es enviar señales de encendido o apagado a los pines de la controladora. Es imprescindible saber que led activa cada una de las ruedas en su correspondiente sentido de giro. Y también es importante que conectemos los cables a los pines PWM de arduino (alguno de los siguientes: 3,5,6,9,10,11) que nos van a permitir controlar la potencia de encendido más adelante. En la imagen están conectados a los pines 5, 6, 9 y 10 y hemos comprobado que efecto produce el encendido de cada uno de ellos en cada rueda y nombrado cada led en base a ello (pin 5 izq_adelante, pin 6 izq_atras, pin 9 der_adelante, pin 10 der_atras) para que nos sea más fácil realizar la programación posteriormente.



En la siguiente imagen podemos ver un ejemplo sencillo de prueba del funcionamiento de los motores en el que hacemos moverse al coche hacia adelante y hacia atrás de manera alternativa durante 2 segundos en cada sentido.





Para poder programar la detección de obstáculos, el siguiente paso será incluir el componente ultrasonido en el apartado de bitbloq para configurar el hardware. Para el ultrasonido necesitamos dos pines de conexión, uno para el envío de la señal y otro para su recepción. En el siguiente ejemplo están conectados tal y como os proponía en el tema de Introducción: TRI pin3, ECH pin 4 



El primer código que vamos a presentar es un sencillo programa que hace que el coche gire hacia la derecha (rueda izquierda adelante y derecha atrás) cuando encuentre un obstáculo a menos de 20cm (valor 20 del ultrasonido).





El código final con la orden "mientras" del programa hace que el coche siga girando todo el tiempo que siga detectando un obstáculo a menos de 20cm.

Partiendo de este programa se pueden plantear algunas otras opciones cómo hacer que el coche, antes de volver a avanzar, detecte la distancia de los obstáculos a un lado y a otro y finalmente decida avanzar por el camino con los obstáculos más alejados. De esta manera el coche comenzaría a comportarse de una manera inteligente a la hora de tomar decisiones.

Un saludo,
Raúl.


No hay comentarios:

Publicar un comentario