jueves, 2 de septiembre de 2021

Montaje y programación de un brazo robótico

 Montaje y programación de un brazo robótico

  • Hola a tod@s

    Lo primero que haremos es o bien montar el brazo robótico o si tenemos uno ya montado comprobar que todas las partes están bien unidas y funcionan correctamente.

    Siguiendo los pasos de algunas de estas webs podremos ir paso a paso realizando la unión de todas las piezas del brazo y colocando correctamente los sevomotores. Es muy importante asegurarse que los servomotores están a 90º en el momento de colocarlos en su posición y que al colocarlos los ponemos justo en la posición media de su rango de movimiento.

    Web muy completa con montaje paso a paso e instrucciones de calibrado:

    https://dronebotworkshop.com/assembling-the-mearm-robotic-arm/ 

    También incluyen un vídeo que explica todo el proceso en detalle: https://www.youtube.com/watch?v=zFBsEE7_NbQ

     


    Otra web con instrucciones de montaje:

    https://www.instructables.com/MeArm-Robot-Arm-Your-Robot-V10/

     Una vez montadas todas las partes o para comprobar que un brazo está bien ensamblado lo que haremos es un sencillo programa que mueva cada servomotor a diferentes ángulos entre 10º y 170º poniendo “esperar” después de cada movimiento para darle tiempo y comprobar que se ejecuta correctamente.

    Si comprobamos que todos los servos funcionan correctamente el siguiente paso sería probar a mandar secuencias de movimientos de los servos en un orden adecuado para que el brazo se desplace de un punto a otro, abra y cierre la pinza, incluso podemos probar a afinar esos movimientos para que coja algún objeto y lo deje en otro lado. Con esto tendremos ya un gran control del potencial del brazo y podremos pasar a programación algo más avanzada.

    En la parte de programación más avanzada empezaremos por un programa sencillo en el que mediante Sliders en la aplicación del teléfono móvil enviamos la información del ángulo en el que queremos que se sitúe cada uno de los 4 motores del brazo.

    Para realizar esto primero crearemos una aplicación con AppInventor:





    En BitBloq la forma más sencilla de recibir esta información es mediante dos variables, la variable "motor"que define el motor que se va a mover y "angulodegiro" que se utiliza para mover cada motor al ángulo recibido desde AppInventor.




    Partiendo de este programa sencillo se pueden ir añadiendo otras opciones tanto de control desde el móvil como de control desde hardware por ejemplo usando potenciómetros y con la opción "mapear" de la programación de BitBloq interpolar el valor del potenciómetro entre los valores de ángulo de giro del servo motor. En el siguiente vídeo podéis ver una explicación de como realizar el control de un servo con un potenciómetro:


    Un saludo,
    Raúl.


    • Envío de datos más complejos por bluetooth

      Buenos días.

      Con la tercera evaluación comenzamos la parte más interesante del curso en la que tendremos que poner en práctica todo lo aprendido hasta ahora en proyectos más complejos en los que además habrá trabajar de una manera más autónoma en la toma de decisiones y en la ejecución de las mismas.

      Algo que será necesario en esta última parte del curso será enviar y recibir mensajes algo más complejos mediante bluetooth. Hasta ahora todos los mensajes que enviábamos para controlar el semáforo eran de una letra. En arduino/bitbloq al recibir esta letra ejecutábamos una acciones y otras.

      Ahora necesitaremos enviar por un lado letras que identifiquen que acción queremos realizar y junto a esa letra valores que determinen parámetros (ángulo, velocidad, etc...) de dicha acción.

      En la siguiente imagen podéis ver como programar en app inventor el envío por bluetooth de una letra (en esta caso la A) seguida de un número de dos cifras. El número proviene de un slider que previamente hemos creado y que tiene de rango de 0 a 99 (valor por defecto del slider 50).


      Lo primero que hacemos es crear la variable GIRO que almacenará el valor del slider. A la hora de guardarlo nos aseguramos de usar round para que redondee la posición del slider al entero más próximo de 0 a 99. Para asegurarnos que el número enviado es de dos cifras añadimos el condicional de que le añada delante un 0 en caso de que sea de una sola cifra.

      El siguiente paso será la gestión de estos datos con bitbloq. Como veis en la siguiente imagen comenzamos como es habitual en recibir en la variable datos el contenido del bluetooth. Si el mensaje que hemos recibido en la variable datos tiene una longitud de 3 caracteres guardamos el primero de ellos en la variable tipodegiro que indicará el tipo de acción y los otros dos caracteres (posiciones de 1 a 3 de la cadena/string de la variable datos) en la variable angulodegiro que es una variable numérica y por eso tenemos que poner .toInt() al final para convertirlo a entero.


      Estas dos líneas de código no existen como bloques de código de bitbloq y es por eso que usamos el bloque verde que nos permite escribir directamente código de arduino.

      tipodegiro=datos.substring(0,1);

      angulodegiro=datos.substring(1,3).toInt();

      En el programa de bitbloq podemos ver como continua con un condicional con el que si la acción que marca la primera letra es A realizamos una serie de encendidos y apagados determinados y alguno de ellos utiliza el valor de la variable angulodegiro que acabamos de recibir.

      Parece algo complicado pero veréis que es sencillo de usar y desde luego añade un potencial muy grande al envío y la recepción de datos y por tanto al tipo de proyectos que podemos realizar.

      Un saludo,
      Raúl.

      • Documento evaluación brazo robótico

        Buenos días.

        De cara a la Evaluación Final de TIN II en 2º de Bachillerato vamos a trabajar con un documento en el que se recogen todas las partes del proyecto que hemos trabajado. Este documento va a servir para realizar una evaluación individual a cada alumno dentro de los diferentes grupos con el objeto de comprobar que se ha seguido el proyecto realizado y se es capaz de presentar individualmente cualquiera de sus partes.

        Uno de los objetivos de la asignatura ha sido el trabajo en equipo y gran parte del curso la hemos dedicado a trabajar en grupo, ser capaces de organizarse y repartir tareas... pero siempre con la idea de que todos los miembros del grupo conociesen el proyecto en su conjunto y puedan demostrar que han trabajado en cada una de las partes, aunque finalmente por el reparto de tareas se hayan especializado más en alguna de las partes del proyecto.

        En el siguiente enlace podéis descargar el documento con los apartados y los requisitos mínimos que deben conocerse:


        Un saludo,
        Raúl.

      No hay comentarios:

      Publicar un comentario