Kiel konstrui robotobrakon kun malmulte da mono

Bildo de la fina rezulto de la robota brakoCerte multaj el vi vidis en sciencfikciaj filmoj, kiel la sciencisto aŭ nerdo havas robotan brakon, kiu regas ĉion kaj kiu povas repreni objektojn aŭ plenumi funkciojn kvazaŭ homo. Io, kio pli kaj pli eblas danke al Libera Aparataro kaj la Projekto Arduino. Sed kio estas robota brako? Kiujn funkciojn havas ĉi tiu aparato? Kiel oni konstruas robotobrakon? Poste ni respondos ĉiujn ĉi tiujn demandojn.

Kio estas robota brako

Robota brako estas mekanika brako kun elektronika bazo, kiu permesas ĝin esti plene programebla. Krome, ĉi tiu speco de brako povas esti unu elemento, sed ĝi ankaŭ povas esti parto de roboto aŭ alia robota sistemo. La kvalito de robota brako kompare kun aliaj specoj de mekanikaj elementoj estas tiu robotbrako estas plene programebla dum la resto de la aparato ne estas. Ĉi tiu funkcio permesas al ni havi ununuran robotobrakon por diversaj operacioj kaj plenumi diversajn kaj malsamajn agadojn, agadojn realigeblajn danke al elektronikaj tabuloj kiel ekzemple Arduino-tabuloj.

Funkcioj de robota brako

Eble la plej baza funkcio de robota brako estas la helpa braka funkcio. En iuj operacioj ni bezonos trian brakon, kiu subtenas iun elementon, por ke persono povu konstrui aŭ krei ion. Por ĉi tiu funkcio ne necesas speciala programado kaj ni nur devos malŝalti la aparaton mem.

Robotaj brakoj povas esti konstruitaj per diversaj materialoj, kio ebligas uzi ilin kiel anstataŭanton de danĝeraj operacioj kiel la manipulado de poluantaj kemiaj elementoj. Robota brako ankaŭ povas helpi nin plenumi pezajn taskojn aŭ tiujn, kiuj postulas taŭgan premon, kondiĉe ke ĝi estas konstruita el forta kaj rezistema materialo.

Materialoj necesaj por ĝia konstruado

Poste ni instruos al vi kiel konstrui robotobrakon rapide, simple kaj ekonomie por ĉiuj. Tamen ĉi tiu robota brako ne estos tiel potenca aŭ utila kiel la brakoj, kiujn ni vidas en la filmoj, sed servos por ekscii pri ĝia funkciado kaj konstruado. Tiel ke, la materialoj, kiujn ni bezonos por konstrui ĉi tiun aparaton, estas:

  1. Telero  Arduino UNO REV3 aŭ pli alta.
  2. Du evoluaj tabuloj.
  3. Du aksaj servoj paralele
  4. Du mikroservoj
  5. Du analogaj kontroloj paralele
  6. Saltkabloj por evoluaj tabuloj.
  7. glubendo
  8. Kartona aŭ ŝaŭma tabulo por la stando.
  9. Tranĉilo kaj tondilo.
  10. Multe da pacienco.

Asembleo

La muntado de ĉi tiu robota brako estas sufiĉe simpla. Unue ni devas eltranĉi du rektangulojn kun la ŝaŭmo; ĉiu el ĉi tiuj rektanguloj estos partoj de la robota brako. Kiel vi povas vidi en la bildoj, ĉi tiuj rektanguloj devos havi la grandecon, kiun ni volas, kvankam rekomendas tion la grandeco de unu el ili estas 16,50 x 3,80 cm. kaj la dua rektangulo havas la sekvan grandecon 11,40 x 3,80 cm.
Metado de la servomotoro sur la robotobrakon.

Post kiam ni havas la rektangulojn, ĉe unu fino de ĉiu rektangulo aŭ strio ni surbendigos ĉiun servomotoron. Post fari ĉi tion, ni tranĉos "U" de ŝaŭmo. Ĉi tio servos kiel tenanta parto aŭ fina parto de la brako, kiu por homo estus la mano. Ni kunigos ĉi tiun pecon al la servomotoro, kiu estas en la plej malgranda rektangulo.

Kunigante la partojn de la robota brako

Nun ni devas fari la malsupran parton aŭ bazon. Por ĉi tio ni plenumos la saman procedon: ni eltranĉos kvadraton da ŝaŭmo kaj metos la du aksajn servomotorojn paralele kiel en la sekva bildo:

Robota brakobazo

Nun ni devas konekti ĉiujn motorojn al la Arduino-plato. Sed unue ni devas konekti la konektojn al la disvolva tabulo kaj ĉi tion al la Arduino-tabulo. Ni konektos la nigran draton al la GND-stifto, la ruĝan draton ni konektos al la 5V-stifto kaj la flavajn dratojn al -11, -10, 4 kaj -3. Ni ankaŭ konektos la stirstangojn aŭ kontrolojn de la robota brako al la tabulo Arduino, ĉi-kaze kiel la bildo indikas:

robota braka liga diagramo

Post kiam ni havas ĉion konektita kaj kunmetita, ni devas transdoni la programon al la Arduino-tabulo, por kio ni devos konekti la Arduino-tabulon al la komputilo aŭ tekkomputilo. Post kiam ni transdonis la programon al la tabulo Arduino, ni devas certigi tion konekti la kablojn al la tabulo Arduino kvankam ni ĉiam povas daŭrigi kun la disvolva tabulo kaj malmunti ĉion, ĉi-lastaj se ni nur volas, ke ĝi lernu.

Programaro necesa por funkciado

Kvankam ŝajnas, ke ni finis konstrui robotan brakon, la vero estas, ke ankoraŭ restas multe antaŭ kaj la plej grava afero. Krei aŭ disvolvi programon, kiu donas vivon al nia robota brako, ĉar sen ĝi, la servomotoroj ne ĉesus esti simplaj horloĝaj mekanismoj, kiuj turniĝas sensence.

Ĉi tio solviĝas per konektado de la tabulo Arduino al nia komputilo kaj ni malfermas la programon IDE de Arduino, ni konektas la komputilon al la tabulo kaj skribas la jenan kodon en malplena dosiero:

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

}

Ni konservas ĝin kaj post tio ni sendas ĝin al la telero Arduino UNO. Antaŭ ol fini kun la kodo ni faros la taŭgajn testojn por kontroli, ke la stirstangoj funkcias kaj ke la kodo ne prezentas erarojn.

Mi jam havas ĝin muntita, nun kio?

Certe multaj el vi ne atendis ĉi tiun specon de robota brako, tamen ĝi estas ideala pro la bazoj de tio, kio ĝi havas, kaj la maniero instrui kiel konstrui roboton. De ĉi tie ĉio apartenas al nia imago. Tio estas, ni povas ŝanĝi la materialojn, la servomotorojn kaj eĉ kompletigi la programan kodon. Estas kompreneble, ke ankaŭ tio Ni povas ŝanĝi la modelon de tabulo Arduino por pli potenca kaj kompleta, kiu permesas al ni konekti teleregilon aŭ labori per la inteligenta telefono. Resume, vasta gamo de ebloj ofertitaj de Libera Aparataro kaj robotaj brakoj.

Pliaj informoj - Instrukcioj


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Komento, lasu la vian

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   Jorge garcia diris

    Sendube 3D-presado estas la pordo al bonegaj aferoj. Mi laboris kun Lion 2 pri miaj propraj projektoj kaj la rezultoj fascinis min. Ĉar mi rekomendis legi pri ĝi en http://www.leon-3d.es Ĝi jam kaptis mian atenton kaj kiam mi provis ĝin kaj atestis la memniveligon kaj la detalojn en la fina rezulto, mi sciis, kian bonan investon mi faris.