Robot Arm
Tujuan dan Manfaat
Tujuan
- Memanfaatkan servo motor sebagai penggerak lengan
- Menggunakan ESP32-WROOM untuk menjalankan robotic arm
- Menghubungkan robotic arm dengan aplikasi untuk pergerakan robot
Manfaat
- Mempelajari sistem robotic arms dengan alat yang lebih sederhana.
Fitur-fitur sistem
- Menggunakan ESP32-WROOM sebagai penggerak motor servo
- Menggunakan motor servo untuk menggerkan bagian – bagian tangan
- Menggunakan aplikasi Blynk untuk menggerakan servo-servonya melalui ESP32-WROOM
Supplies
Alat:
- Timah solder
- Solder
- PCB Cutter
- Bor duduk
- Obeng plus
- Setrika
- Serabut Kawat
- Tiner
- H20
- HCl
- H2O2
Bahan:
- ESP32 WROOM
- PCB Polos
- Pin Header male to female 19 pin (2 pcs)
- Pin Header male to male 3 pin (4 pcs)
- Terminal Block 2 pin (2 pcs)
- Kabel tunggal
- Switch ON/OFF
- DC Socket
- DC adaptor 5V/5A
- Skrup 3mm (2 pcs)
- kertas foto A4 120 GSM
Block Diagram
Berikut Merupakan Block Diagram dari Robot Arm Sederhana bisa dilihat bahwa ESP32 WROOM berkomunikasi dengan Blynk setelah berkomunikasi dengan blynk maka servo-servo bisa bergerak
Flowchart
Berikut merupakan flowchart dari Robot Arm Sederhana bisa dilihat pada gambar cara kerja dari Robot Arm sederhana sendiri dengan berkomunikasi dengan BLYNK application dengan pertama menyambungkan dahulu ESP32-WROOM dengan aplikasi BLYNK dan juga menyambungkan wifi yang ada untuk menggerakan robot arms.
Pada penjelasan Servo bawah sendiri bekerja dengan servo berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke kanan dan jika dari 90 ke 180 derajat maka robot arm bergerak ke kiri dan jika servo bawah tidak menerima perintah maka servo akan diam
Pada penjelasan Servo siku sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke bawah dan jika dari 90 ke 180 derajat maka robot arm bergerak ke atas dan jika servo siku tidak menerima perintah maka servo akan diam
Pada penjelasan Servo bahu sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka robot arm bergerak ke belakang dan jika dari 90 ke 180 derajat maka robot arm bergerak ke depan dan jika servo siku tidak menerima perintah maka servo akan diam
Pada penjelasan Servo tangan sendiri juga sama bekerja dengan servo sebelumnya yaitu berada di 90 derajat pada Blynk sendiri dengan cara mengubah nilai derajatnya jika digerakan dari 90 ke 0 derajat maka tangan pada robot arm akan menutup dan jika dari 90 ke 180 derajat maka tangan robot arm terbuka dan jika servo siku tidak menerima perintah maka servo akan diam
Circuit and Schematic
Pada bagian ini circuit schematic bisa dilihat bahwa pin-pin yang akan dipakai untuk menggerakan setiap servo adalah 27,26,25, dan 33 dan pada bagian ini juga ada bagian yang tidak tersambung yaitu terminal block dikarenakan nantinya pada bagian ini akan dipasangkan kabel tunggal yang akan disambungkan pada switch on/off dan untuk power untuk menghidupkan alat ini menggunakan DC adaptor yang akan tersambung pada DC Socket sebesar 5V dan untuk ampere nya sendiri sebesar 5A.
Pembuatan PCB
- Pertama- tama kita potong dahulu PCB polos dengan ukuran yang diinginkan menggunakan PCB cutter
- Setelah itu kita print dahulu Bottom Layer dan Top Silk Layer schematic dari PCB menggunakan kertas foto A4 dengan menggunakan print laser agar tinta dapat menempel pada PCB
- Sebelum melakukan menyetrika kertas foto yang telah di print PCB polos harus di bersihkan menggunakan serabut kawat agar tinta menempel dan jalur PCB dapat berfungsi dengan baik
- Setelah melakukan pembersihan maka kita dapat menempelkan bottom layer yang telah di print pada PCB polos dengan cara menyetrikanya pastikan pada setrika sudah Memiliki panas yang maksimum lalu lakukan penyetriakaan selama 5 menit
- Setelah melakukan penyetriakaan pastikan sebelum melepaskan kertas fotonya tinta pada kertas foto sudah tertempel pada PCB polos
- Setelah tinta menempel pada PCB maka dapat akan melakukan etching dengan menggunakan H20, HCl, dan H2O2
- Setelah melakukan etching maka kita dapat menghapus tinta yang tertempel menggunakan tiner agar daoat terhapus
- Setelah itu PCB dapat di bor agar komponen dapat dimasukan ke PCB
- Tidak lupa juga pada bagian atas yaitu Top Silk layer yaitu bagian PCB yang tidak memiliki tembaga kita setrika untuk memberi tanda agar memudahkan kita dalam memasang komponennya
- Setelah itu kita dapat mensoldier semua komponen
- Setelah itu kita bisa melakukan pemereksian pada setiap jalur pada PCB menggunakan multimeter
untuk Foto diatas dapat diakses pada pada file dibawah ini untuk Bottom Layer dan Top Silk Layer
3D Print
Bisa dilihat pada pembuatan 3D print case pada kotak berukuran 82.00 x 74.50 mm dengan ketebalan dinding sebesar 2 mm dengan ukuran dari isi kotaknya adalah 78.00 x 70.50 mm. Pada 3D print ini juga di dalam kotak ada penyangga untuk tempat PCB meggunakan skrup berukuran 3 mm dan kedalamannya 10 mm pada bagian kotak juga ada beberapa lubang berbentuk kotak pada bagian samping tengah sebagai tempat untuk tempat switch on/off dan juga dibawahnya ada lubang untuk tempat masuknya DC adaptor dan di sisi yang berlawanan ada 4 lubang yang berfungsi sebagai tempat masuknya kabel dari servo. lalu pada case ini juga memiliki tutup dengan berukuran 88.00 x 80.50 mm dan ada bagian yang naik untuk mengunci nya berukuran 76.00 x 68.50 mm. Bisa dilihat juga fitting dari PCB dan 3D print
Penjelasan UI
Pada UI ini pada kelompok kami menggunakan applikasi BLYNK untuk menggerakan setiap bagian-bagian pada robot arms pada UI pada kelompok kami sendiri bisa digerakan diantara 2 device yang memiliki BLYNK account yang sama dengan menggunakan slider sebagai penggerak servo yaitu berputar dari 0 sampai 180 derajat dan juga indikator untuk menunjukan sudah berapa derajat servo sudah bergerak
Penjelasan Coding 1
#define BLYNK_TEMPLATE_ID "TMPLLmr3VRe7"
#define BLYNK_DEVICE_NAME "Robot Arm sederhana"
pada bagian ini merupakan Blynk id yang berada pada blynk web application yang bisa didapatkan pada device info pada firmware configuration yang berfungsi me-assign ID dari blynk account agar UI nya dapat tersambung
#define BLYNK_FIRMWARE_VERSION "0.1.0"
Pada bagian ini merupakan berfungsi men-define versi dari firmware pada blynk
#define BLYNK_PRINT Serial
Pada bagian ini berfungsi untuk menampilkan serial data dari blynk yang akan ditampilkan pada UI
#include "BlynkEdgent.h"
Pada bagian ini sebagai library dari blynk yang berfungsi sebagai memanage koneksi dari device dan UI BLYNK melalui komunikasi cloud
#include<Servo.h>
Servo servo1, servo2, servo3, servo4;
Pada bagian ini sebagai library untuk servo agar berjalan dan juga sekaligus men-assign servo-servo yang ada
Penjelasan Coding 2
Pada bagian ini berfungsi untuk menampilkan sudah berapa derajat setiap sevo bergerak pada BLYNK WRITE sendiri akan menampilkan data-datanya pada setiap gauge nya dimana V0,V1,V2, dan V3 merupakan virtual pin yang berada di Blynk application yang berfungsi menggerakan servo menggunakan slider dan untuk V4,V5,V6, dan V7 merupakan virtual pin output yaitu gauge yang akan memberitahu berapa derajat servo sedang bergerak.
Penjelasan Coding 3
Pada bagian codingan ini kita men-assign pin servo yang akan digunakan pada ESP32-WROOM pada codingan ini pin yang digunakan adalah 27,26,25 dan 33 untuk menggerakan setiap servonya. lalu pada Blynkedgent berfungsi untuk berkomunikasi antara ESP32-WROOM dengan Blynk application.
Coding
https://drive.google.com/file/d/1vVXyhmVr2loQ4cDqS5Fyi3MBDE4S5vUT/view?usp=sharing
Hasil Percobaan
Dari hasil percobaan yang telah ditunjukan kita dapat melihat bahwa benda-benda yang berbentuk kotak dan memiliki bobot yang ringan masih bisa diangkat oleh robot arm akan tetapi jika berbentuk lain susah untuk mengangkatnya