Como construír un brazo robótico con poucos cartos

Imaxe do resultado final do brazo robóticoSeguramente moitos de vós viches nas películas de ciencia ficción como o científico ou friki ten un brazo robótico que o controla todo e que pode coller obxectos ou realizar funcións coma se fose unha persoa humana. Algo que cada vez é máis posible grazas a Free Hardware e ao Proxecto Arduino. Pero que é un brazo robótico? Que funcións ten este gadget? Como se constrúe un brazo robótico? A continuación imos responder a todas estas preguntas.

Que é un brazo robótico

Un brazo robótico é un brazo mecánico cunha base electrónica que lle permite ser totalmente programable. Ademais, este tipo de brazo pode ser un elemento único pero tamén pode formar parte dun robot ou doutro sistema robótico. A calidade dun brazo robótico en comparación con outros tipos de elementos mecánicos é esa un brazo robótico é totalmente programable mentres o resto do dispositivo non. Esta función permítenos ter un único brazo robótico para varias operacións e realizar diversas actividades diferentes e diferentes, actividades que se poden realizar grazas a placas electrónicas como as placas Arduino.

Funcións dun brazo robótico

Posiblemente a función máis básica dun brazo robótico sexa a función de brazo auxiliar. Nalgunhas operacións necesitaremos un terceiro brazo que soporte algún elemento para que unha persoa poida construír ou crear algo. Para esta función non se precisa programación especial e só teremos que apagar o dispositivo en si.

Os brazos robóticos pódense construír con diversos materiais o que fai posible usalos como substituto de operacións perigosas. como a manipulación de elementos químicos contaminantes. Un brazo robótico tamén pode axudarnos a realizar tarefas pesadas ou que requiren unha presión adecuada, sempre que estea construído cun material resistente e resistente.

Materiais necesarios para a súa construción

A continuación imos ensinarche a construír un brazo robótico dun xeito rápido, sinxelo e económico para todos. Non obstante, este brazo robótico non será tan poderoso nin útil como os brazos que vemos nas películas, pero servirá para coñecer o seu funcionamento e construción. Así que, os materiais que necesitaremos para construír este dispositivo son:

  1. Un prato  Arduino UNO REV3 ou superior.
  2. Dúas placas de desenvolvemento.
  3. Servos de dous eixos en paralelo
  4. Dous micro servos
  5. Dous controis analóxicos en paralelo
  6. Cables con jumper para placas de desenvolvemento.
  7. Cinta de enmascarado
  8. Tarxeta de cartón ou espuma para o soporte.
  9. Un cortador e unhas tesoiras.
  10. Moita paciencia.

Montaxe

A montaxe deste brazo robótico é bastante sinxela. Primeiro temos que recortar dous rectángulos coa escuma; cada un destes rectángulos serán partes do brazo robótico. Como podes ver nas imaxes, estes rectángulos terán que ter o tamaño que queiramos, aínda que se recomenda que o tamaño dun deles é de 16,50 x 3,80 cm. e o segundo rectángulo ten o seguinte tamaño de 11,40 x 3,80 cm.
Colocación do servomotor no brazo robótico.

Unha vez que teñamos os rectángulos, nun extremo de cada rectángulo ou franxa gravaremos cada servomotor. Despois de facelo, cortaremos un "U" de escuma. Isto servirá como parte de suxeición ou parte final do brazo, que para un ser humano sería a man. Uniremos esta peza ao servomotor que está no rectángulo máis pequeno.

Unindo as partes do brazo robótico

Agora temos que facer a parte inferior ou a base. Para iso realizaremos o mesmo procedemento: cortaremos un cadrado de escuma e colocaremos os servomotores de dous eixes en paralelo como na seguinte imaxe:

Base de brazo robótico

Agora temos que conectar todos os motores á placa Arduino. Pero primeiro, temos que conectar as conexións á placa de desenvolvemento e esta á placa Arduino. Conectaremos o fío negro ao pin GND, o fío vermello conectarémolo ao pin de 5V e os fíos amarelos a -11, -10, 4 e -3. Tamén conectaremos os joysticks ou controis do brazo robótico á placa Arduino, neste caso como indica a imaxe:

diagrama de conexión do brazo robótico

Unha vez que teñamos todo conectado e montado temos que pasar o programa á placa Arduino, para o que teremos que conectar a placa Arduino ao ordenador ou portátil. Unha vez que pasamos o programa á placa Arduino, debemos asegurarnos de que conecta os cables á placa Arduino aínda que sempre podemos continuar coa placa de desenvolvemento e desmontalo todo, este último se só queremos que aprenda.

Software necesario para o seu funcionamento

Aínda que parece que rematamos de construír un brazo robótico, o certo é que aínda queda moito por diante e o máis importante. Crear ou desenvolver un programa que dea vida ao noso brazo robótico xa que sen el, os servomotores non deixarían de ser simples mecanismos de reloxo que xiran sen sentido.

Isto resólvese conectando a placa Arduino ao noso ordenador e abrindo o programa IDE Arduino, conectamos o ordenador á placa e escribimos o seguinte código nun ficheiro en branco:

#include <Servo.h>

const int servo1 = 3;       // first servo

const int servo2 = 10;      // second servo

const int servo3 = 5;       // third servo

const int servo4 = 11;      // fourth servo

const int servo5 = 9;       // fifth servo

const int joyH = 2;        // L/R Parallax Thumbstick

const int joyV = 3;        // U/D Parallax Thumbstick

const int joyX = 4;        // L/R Parallax Thumbstick

const int joyP = 5;        // U/D Parallax Thumbstick

const int potpin = 0;      // O/C potentiometer

int servoVal;           // variable to read the value from the analog pin

Servo myservo1;  // create servo object to control a servo

Servo myservo2;  // create servo object to control a servo

Servo myservo3;  // create servo object to control a servo

Servo myservo4;  // create servo object to control a servo

Servo myservo5;  // create servo object to control a servo

void setup() {

// Servo

myservo1.attach(servo1);  // attaches the servo

myservo2.attach(servo2);  // attaches the servo

myservo3.attach(servo3);  // attaches the servo

myservo4.attach(servo4);  // attaches the servo

myservo5.attach(servo5);  // attaches the servo

// Inizialize Serial

Serial.begin(9600);

}

void loop(){

servoVal = analogRead(potpin);

servoVal = map(servoVal, 0, 1023, 0, 179);

myservo5.write(servoVal);

delay(15);

// Display Joystick values using the serial monitor

outputJoystick();

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyH);

servoVal = map(servoVal, 0, 1023, 0, 180);     // scale it to use it with the servo (result  between 0 and 180)

myservo2.write(servoVal);                         // sets the servo position according to the scaled value

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyV);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo1.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyP);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo4.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

// Read the horizontal joystick value  (value between 0 and 1023)

servoVal = analogRead(joyX);

servoVal = map(servoVal, 0, 1023, 70, 180);     // scale it to use it with the servo (result between 70 and 180)

myservo3.write(servoVal);                           // sets the servo position according to the scaled value

delay(15);                                       // waits for the servo to get there

/**

* Display joystick values

*/

void outputJoystick(){

Serial.print(analogRead(joyH));

Serial.print ("---");

Serial.print(analogRead(joyV));

Serial.println ("----------------");

Serial.print(analogRead(joyP));

Serial.println ("----------------");

Serial.print(analogRead(joyX));

Serial.println ("----------------");

}

Gardámolo e despois enviamolo ao prato Arduino UNO. Antes de rematar co código realizaremos as probas pertinentes para comprobar que funcionan os joysticks e que o código non presenta ningún erro.

Xa o teño montado, agora que?

Seguramente moitos de vós non esperabades este tipo de brazo robótico, pero é ideal debido aos conceptos básicos do que é, ao custo que ten e á forma de ensinar a construír un robot. A partir de aquí todo pertence á nosa imaxinación. É dicir, podemos cambiar os materiais, os servomotores e incluso completar o código de programación. Nin que dicir ten que tamén Podemos cambiar o modelo de placa Arduino por outro máis potente e completo que nos permita conectar un mando a distancia ou traballar co teléfono intelixente. En resumo, unha ampla gama de posibilidades que ofrece Free Hardware e armas robóticas.

Máis información - Instruíbeis


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

Un comentario, deixa o teu

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Jorge García dixo

    Definitivamente, a impresión 3D é a porta a grandes cousas. Traballei cun Lion 2 nos meus propios deseños e os resultados fascináronme. Xa que me recomendaron ler sobre isto en http://www.leon-3d.es Xa me chamou a atención e cando o intentei e presenciei a autonivelación e os detalles no resultado final, souben o bo investimento que fixen.