
Mnozí z vás už ve sci-fi filmech viděli, jak má vědec nebo geek robotické rameno, které ovládá všechno a které dokáže sbírat předměty nebo vykonávat funkce, jako by to byla lidská osoba. Něco, co je díky Free Hardware a projektu Arduino stále více možné. Ale co je robotické rameno? Jaké funkce má tento gadget? Jak se vyrábí robotické rameno? Dále zodpovíme všechny tyto otázky.
Co je to robotické rameno
Robotické rameno je mechanické rameno s elektronickou základnou, která umožňuje jeho plnou programovatelnost . Tento typ ramene může být samostatným zařízením nebo součástí robota či jiného robotického systému. Klíčovým rozdílem mezi robotickým ramenem a jinými mechanickými komponenty je jeho programovatelnost. Tato schopnost umožňuje jednomu robotickému rameni provádět řadu operací a úkolů, čehož lze dosáhnout pomocí elektronických desek, jako jsou desky Arduino.
Funkce robotického ramene
Možná nejzákladnější funkcí robotického ramene je funkce pomocného ramene. V některých operacích budeme potřebovat třetí rameno, které podporuje nějaký prvek, aby člověk mohl něco postavit nebo vytvořit. Pro tuto funkci není potřeba žádné speciální programování a budeme muset vypnout pouze samotné zařízení.
Robotická ramena mohou být vyrobena z různých materiálů, což nám umožňuje používat je jako náhradu za provádění nebezpečných operací, jako je manipulace s nebezpečnými chemikáliemi. Robotické rameno nám může také pomáhat při provádění těžkých úkolů nebo úkolů vyžadujících specifický tlak, pokud je vyrobeno z pevného a odolného materiálu.
Materiály potřebné pro jeho konstrukci
Dále vám ukážeme, jak si rychle, snadno a levně postavit robotické rameno. Toto robotické rameno však nebude tak výkonné ani užitečné jako ta, která vidíme ve filmech; místo toho bude sloužit jako učební pomůcka pro pochopení toho, jak fungují a jak je sestavit. Materiály, které budete k sestavení tohoto zařízení potřebovat, jsou :
- Talíř Arduino UNO REV3 nebo vyšší.
- Dvě vývojové desky.
- Dvouosá serva paralelně
- Dvě mikro serva
- Dva analogové ovladače paralelně
- Propojovací kabely pro vývojové desky.
- Maskovací páska
- Karton nebo pěnová deska pro stojan.
- Fréza a nůžky.
- Hodně trpělivosti.
Shromáždění
Montáž tohoto robotického ramene je poměrně jednoduchá. Nejprve musíme pěnou vystřihnout dva obdélníky; každý z těchto obdélníků bude součástí robotického ramene. Jak vidíte na obrázcích, tyto obdélníky budou muset mít požadovanou velikost, i když se to doporučuje velikost jednoho z nich je 16,50 x 3,80 cm. a druhý obdélník má následující velikost 11,40 x 3,80 cm.
Jakmile budeme mít obdélníky, přilepíme každý servomotor páskou na jeden konec každého obdélníku nebo proužku. Poté z pěny vyřízneme tvar „U“ . Ten bude sloužit jako upevňovací bod nebo koncový kus ramene, což by pro člověka byla ruka. Tento kus připevníme k servomotoru na menším obdélníku.
Nyní musíme vyrobit spodní část nebo základnu. Postupujeme stejným způsobem: vystřihneme čtverec z pěny a umístíme na něj dva servomotory s rovnoběžnými osami, jak je znázorněno na následujícím obrázku :
Nyní musíme k desce Arduino připojit všechny motory. Nejprve ale musíme propojit konektory s vývojovou deskou a poté připojit vývojovou desku k Arduinu. Černý vodič připojíme k pinu GND, červený vodič k pinu 5V a žluté vodiče k pinu -11, -10, 4 a -3 . K desce Arduino také připojíme joysticky neboli ovládací prvky robotického ramene, jak je znázorněno na obrázku:
Jakmile je vše zapojeno a sestaveno, musíme přenést program na desku Arduino. K tomu budeme muset desku Arduino připojit k počítači nebo notebooku. Po přenosu programu na desku Arduino se musíme ujistit, že jsou vodiče zapojeny. Vždy však můžeme pokračovat s vývojovou deskou a vše rozebrat , zvláště pokud se chceme jen učit.
Software potřebný pro provoz
I když se zdá, že jsme dokončili výrobu robotického ramene, pravdou je, že je před námi ještě hodně a to nejdůležitější. Vytvoření nebo vývoj programu, který oživí naši robotickou ruku, protože bez ní by servomotory nepřestávaly být jednoduchými hodinovými mechanismy, které se točí bez smyslu.
To se řeší připojením desky Arduino k počítači a otevřením programu Arduino IDE , připojením počítače k desce a napsáním následujícího kódu do prázdného souboru:
#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 ("----------------");
}
Uložíme to a poté to pošleme na talíř Arduino UNO. Před dokončením kódu provedeme příslušné testy, abychom ověřili, že joysticky fungují a že kód neobsahuje žádné chyby.
Už to mám namontované, co teď?
Mnozí z vás pravděpodobně tento typ robotického ramene nečekali, ale je ideální díky své jednoduchosti, nízké ceně a způsobu, jakým vás naučí, jak robota postavit. Dále už je to jen na vaší fantazii. Můžete měnit materiály, servomotory a dokonce i přizpůsobovat programovací kód. Netřeba dodávat, že desku Arduino můžete také nahradit výkonnějším a kompletnějším modelem, který vám umožní připojit dálkové ovládání nebo ji ovládat pomocí chytrého telefonu. Stručně řečeno, open-source hardware a robotická ramena nabízejí širokou škálu možností.
Více informací – Instruktážní materiály



