Hai Guys,
Dalam artikel kali ini kita akan mengenalkan tentang project yang telah kita buat yaitu bernama Robotic Arm, berikut merupakan penjelasan mengenai apa itu Robotic Arm. Selamat membaca dan belajar bersama teman-teman.
Lengan Robot atau biasa disebut Robotic Arm adalah jenis lengan mekanik yang kemudian di program dengan fungsi mirip dengan lengan manusia. Lengan merupakan jumlah total mekanisme atau bagian dari robot yang lebih kompleks. Dalam project ini kami membuat robotic arm yang berfungsi untuk memindahkan benda-benda yang berdiameter 3cm dari tempat satu kesisi tempat lain, dengan dikendalikan oleh joystick. Untuk membuat robotic arm dibutuhkan alat dan bahan sebagai berikut :
- 3 Buah Servo
- 1 Buah micro servo
- 1 Buah bread board
- 1 Buah Arduino
- Jumper Secukupnya
- Kabel USB
- Baterai 9 Volt
- Kawat Besi
- 2 Joyatick module
Setelah menyiapkan semua alat dan bahan yang dibutuhkan maka langkah pertama yang harus dilakukan adalah membuat sketsa dan modelling. Sketsa di buat menggunakan aplikasi solidwork untuk gambaran bentuk sebuah kerangkan penyusun Robotic Arm. Di langkah tahap satu ini adalah tahap yang cukup panjang karena perbagian kita bikin satu per satu agar setiap bagian bisa merakit sebuah kerangka utuh berbentuk Arm. Setelah membuat kerangka yang akan disusun kemudian tahap selanjutnya yaitu mebuat joystick yang digunkan untuk mengendalikan Robotic Arm dengan menggunakan dua buah tombol untuk mengkontrol gerak Robotic Arm. Agar sketsa yang kita buat menjadi bentuk yang nyata yaitu kita perlu mencetaknya dengan 3D printing.
Bagian terbaik dari produksi alat ini adalah perakitan, karena di bagian ini selain merakit kerangka kita juga memasang servo di setiap bagian yang telah ditentukan,
setelah pemasangan servo setiap bagian selesai hal yang membutuhkan sebuah ketelatenan yaitu memasang kawat besi yang digunakan untuk menghubungkan servo ke bagian kerangka atau bagan arm robot. Agar bagan arm robot bisa bergerak karena servo, hal yang harus dilakukan adalah membuat program didalam servo tersebut menggunakan arduino. Kemudian setelah perakitan selesai yang dilakukan adalah membuat program dan PCB.Yang mana pemrograman tersebut menggunakan aplikasi arduino dan sebelum mebuat PCB langkah yang dilakukan adalah membuat skematik pada aplikasi eagle ,setelah skematik sudah dibuat langkah berikut nya adalah mencetak skematik tersebut dan menyetrikanya di atas PCB agar jalur nya menempel. Setelah menempelkan skematik pada PCB yaitu melakukan pengeboran yang bertujuan untuk melubangi PCB agar komponen yang telah disiapkan bisa dipasasang sesuai jalur skematik pada PCB, lakukanlah penyolderan saat semua komponen pada PCB sudah terpasang agar komponen tersebut tidak mudah lepas.
Bukan hanya servo yang di program agar bisa menggerakan kerangka tetapi joystick juga di program di arduino agar bisa mengkontrol gerak dari srvo tersebut, dalam hal ini program uang di buat oleh kelompok kami adalah sebagai berikut:
#include <Servo.h>
Servo servo1;//servo1 kanan-kiri
Servo servo2;//servo2 atas-bawah lengan
Servo servo3;//servo3 naik-turun tangan
Servo servo4;//servo4 buka-tutup capit
int joyXkanan = 0;
int valjoyXkanan;
int posisisatu = 0;
int joyYkanan = 1;
int valjoyYkanan;
int posisidua = 0;
int joyXkiri = 2;
int valjoyXkiri;
int posisitiga = 0;
int joyYkiri = 3;
int valjoyYkiri;
int posisiempat = 0;
int DELAY = 100;
int RANGE = 2 ;
void setup() {
Serial.begin(9600);
servo1.attach(3);
servo2.attach(5);
servo3.attach(6);
servo4.attach(9);
}
void loop() {
valjoyXkanan = analogRead(joyXkanan);
valjoyXkanan = map(valjoyXkanan, 0, 1023, 0, 180);
if (valjoyXkanan >= 100)
posisisatu = posisisatu + RANGE;
if (posisisatu >= 177)posisisatu = 177;
//maka nilai yang lebih besar akan = 177,
servo1.write(posisisatu); delay(DELAY);
Serial.println(posisisatu);
Serial.print(“\t”);
//pembacaan pada serial monitor
if (valjoyXkanan <= 80)
posisisatu = posisisatu – RANGE;
if (posisisatu <= 0)posisisatu = 0;
servo1.write(posisisatu); delay(DELAY);
Serial.println(posisisatu);
Serial.print(“\t \t”);
valjoyYkanan = analogRead(joyYkanan);
valjoyYkanan = map(valjoyYkanan, 0, 1023, 0, 180);
if (valjoyYkanan >= 100)
posisidua = posisidua + RANGE;
if (posisidua >= 143)posisidua = 143;
servo2.write(posisidua); delay(DELAY);
Serial.println(posisidua);
if (valjoyYkanan <= 80)
posisidua = posisidua – RANGE;
if (posisidua <= 0)posisidua = 0;
servo2.write(posisidua); delay(DELAY);
Serial.println(posisidua);
Serial.print(“\t \t \t”);
valjoyXkiri = analogRead(joyXkiri);
valjoyXkiri = map(valjoyXkiri, 0, 1023, 0, 180);
if (valjoyXkiri >= 100)
posisitiga = posisitiga + RANGE;
if (posisitiga >= 180)posisitiga = 180;
servo3.write(posisitiga); delay(DELAY);
Serial.println(posisitiga);
Serial.print(“\t \t \t \t”);
if (valjoyXkiri <= 80)
posisitiga = posisitiga – RANGE;
if (posisitiga <= 75)posisitiga = 75;
servo3.write(posisitiga); delay(DELAY);
Serial.println(posisitiga);
Serial.print(“\t \t \t \t \t”);
valjoyYkiri = analogRead(joyYkiri);
valjoyYkiri = map(valjoyYkiri, 0, 1023, 0, 180);
if (valjoyYkiri >= 100)
posisiempat = posisiempat + RANGE;
if (posisiempat >= 180)posisiempat = 180;
servo4.write(posisiempat); delay(DELAY);
Serial.println(posisiempat);
Serial.print(“\t \t \t \t \t \t”);
if (valjoyYkiri <= 80)
posisiempat = posisiempat – RANGE;
if (posisiempat <= 36)posisiempat = 36;
servo4.write(posisiempat); delay(DELAY);
Serial.println(posisiempat);Serial.print(“\t \t \t \t \t \t \t”);
}
Disusun Oleh :
- Ivan Syahroni 17/415746/SV/13611
- Gusti G. 17/415739/SV/13604
- Audy Yoga 17/416762/SV/14501
- Nindia P D . 17/411121/SV/13048