Com construir un braç robòtic amb pocs diners

Imatge de l'resultat final de el braç robòtic

Segurament que molts de vosaltres heu vist en pel·lícules de ciència ficció com el científic o geek té un braç robòtic que controla tot i que pot agafar objectes o realitzar funcions com si fos una persona humana. Cosa que cada vegada és més possible gràcies al Hardware Libre i al Projecte Arduino. Però què és un braç robòtic? quines funcions té aquest gadget? Com es construeix un braç robòtic? A continuació us respondrem a totes aquestes preguntes.

Què és un braç robòtic

Un braç robòtic és un braç mecànic amb una base electrònica que permet que sigui totalment programable. A més, aquest tipus de braç pot ser un element únic però també pot ser part d'un robot o un altre sistema robòtic. La qualitat d'un braç robòtic enfront d'un altre tipus d'elements mecànics és que un braç robòtic és totalment programable mentre que la resta de dispositiu no. Aquesta funció ens permet tenir un únic braç robòtic per a diverses operacions i per a realitzar diverses activitats diferents i diferents, activitats que poden realitzar-se gràcies a plaques d'electrònica com les plaques d'Arduino.

Funcions d'un braç robòtic

Possiblement la funció més bàsica d'un braç robòtic sigui la funció de braç auxiliar. En algunes operacions necessitarem un tercer braç que suporti algun element perquè una persona pugui construir o crear alguna cosa. Per a aquesta funció no es necessita cap programació especial i tan sols necessitarem apagar el mateix dispositiu.

Els braç robòtics es poden construir amb diversos materials el que fa que puguem utilitzar-los com a substitut per a realitzar operacions perilloses com la manipulació d'elements químics contaminants. Un braç robòtic també pot ajudar-nos a fer tasques pesades o que es necessiten una pressió adequada, sempre que estigui construït amb un material fort i resistent.

Materials necessaris per a la seva construcció

A continuació anem a ensenyar-vos com construir un braç robòtic d'una forma ràpida, senzilla i econòmica per a tothom. No obstant això, aquest braç robòtic no serà tan potent o útil com els braços que veiem en les pel·lícules sinó que servirà per aprendre sobre el seu funcionament i la seva construcció. Així doncs, els materials que necessitarem per construir aquest dispositiu són:

  1. una placa  Arduino UNO REV3 o superior.
  2. Dues plaques de desenvolupament.
  3. Dos servos d'eix en paral·lel
  4. Dos micro servos
  5. Dos controls analògics en paral·lel
  6. Cables amb jumper per a les plaques de desenvolupament.
  7. cinta adhesiva
  8. Cartró o un tauler d'escuma per al suport.
  9. Un cúter i tisores.
  10. Molta paciència.

Ensamblatge

El acoblament d'aquest braç robòtic és força senzill. En primer lloc hem de retallar dos rectangles amb l'escuma; cada un d'aquests rectangles seran parts de el braç robòtic. Com es pot veure en les imatges, aquests rectangles hauran de tenir la mida que vulguem, encara que es recomana que la mida d'un d'ells sigui de 16,50 x 3,80 cm. i el segon rectangle tingui el següent mida 11,40 x 3,80 cm.
Col·locació de l'servomotor al braç robòtic.

Un cop tinguem els rectangles, en un dels extrems de cada rectangle o llistó enganxarem amb cinta adhesiva cada servomotor. Després de fer això, retallarem una "O" d'escuma. Això servirà com a part de subjecció o part final de el braç, el que per un humà seria la mà. Aquesta peça la unirem a l'servomotor que estigui en el rectangle més petit.

Unió de les parts de el braç robòtic

Ara hem de fer la part inferior o base. Per a això realitzarem el mateix procediment: retallarem un quadrat d'escuma i col·locarem els dos servomotors d'eix en paral·lel com en la imatge següent:

Base de el braç robòtic

Ara hem de connectar tots els motors a la placa Arduino. Però abans, hem de connectar les connexions a la placa de desenvolupament i aquesta a la placa Arduino. El cable negre el connectarem a el pin GND, el cable vermell el connectarem a l'pin de 5V i els cables grocs a l'-11, -10, 4 i -3. Els joysticks o controls de el braç robòtic també el connectarem a la placa Arduino, en aquest cas com indica la imatge:

diagrama de connexió de el braç robòtic

Una vegada que tinguem connectat tot i acoblament hem de passar el programa a la placa Arduino, per a això necessitarem connectar la placa Arduino a l'ordinador o portàtil. Un cop haguem passat el programa a la placa Arduino, hem d'assegurar-nos connectar els cables a la placa Arduino encara que sempre podem seguir amb la placa de desenvolupament i desmuntar-ho tot, Això últim si només ho volem per aprendre.

Programari necessari per al funcionament

Encara que sembla que hem acabat de construir un braç robòtic, la veritat és que encara queda molt per davant i el més important. El crear o desenvolupar un programa que de vida al nostre braç robòtic ja que sense ell, els servomotors no deixarien de ser simples mecanismes de rellotge que donessin voltes sense sentit.

Això se soluciona connectant la placa Arduino al nostre ordinador i obrim el programa IDE Arduino, Connectem l'ordinador a la placa i escrivim el següent codi en un arxiu en blanc:

#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 ("----------------");

}

El guardem i després d'això el vam enviar a la placa Arduino UNO. Abans d'acabar amb el codi realitzarem les proves pertinents per comprovar que els joysticks funcionen i que el codi no presenta cap error.

Ja el tinc muntat i ara què?

Segurament que molts de vosaltres no esperàveu aquest tipus de braç robòtic, però és ideal pel bàsic què és, el cost que té i la forma d'ensenyar a com construir un robot. A partir d'aquí tot pertany a la nostra imaginació. És a dir, podem canviar els materials, els servomotors i fins i tot emplenar el codi de programació. No cal dir que també podem canviar el model de placa Arduino per un de més potent i complet que ens permeti connectar un control remot o funcionar amb el telèfon intel·ligent. En fi, un gran ventall de possibilitats que ens ofereix Hardware Libre i els braços robòtics.

Més Informació - Instructius


Un comentari, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Jorge Garcia va dir

    Definitivament la impressió 3D és la porta a grans coses. He treballat amb una Lion 2 en dissenys propis i els resultats m'han fascinat. Des que em van recomanar que llegís a l'respecte a http://www.leon-3d.es ja em dic l'atenció i a l'provar-la i testimoniar el autonivelado i els detalls en el resultat final vaig saber de la bona inversió que vaig fer.