171
TUGAS AKHIR LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI PADA ANDROID Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro disusun oleh: PETRUS CLAVER HENDAR KRISTYANTO NIM : 125114031 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

Embed Size (px)

Citation preview

Page 1: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

TUGAS AKHIR

LENGAN ROBOT PENULIS KATA YANG

DIKENDALIKAN OLEH APLIKASI PADA ANDROID

Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro

disusun oleh:

PETRUS CLAVER HENDAR KRISTYANTO

NIM : 125114031

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

FINAL PROJECT

ROBOT ARM WRITER OF WORDS CONTROLLED BY THE APPLICATION ON ANDROID

In partial fulfilment of the requirements for the degree of Sarjana Teknik

In Electrical Engineering Study Program

PETRUS CLAVER HENDAR KRISTYANTO

NIM : 125114031

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY 2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

“I am not the best, but I try to do my best”

Dengan ini kupersembahkan karyaku ini untuk..... Tuhanku Yesus Kristus Pembimbingku yang setia,

Keluargaku tercinta, Teman-temanku seperjuangan,

Dan semua orang yang mengasihiku

Terima Kasih untuk semuanya.......

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

INTISARI

Teknologi robotika di Indonesia telah berkembang dengan pesat. Perkembangan ini diikuti dengan hadirnya smartphone dengan sistem operasi android. Penelitian ini bertujuan membuat prototipe lengan robot 4 DOF yang dapat menulis kata yang dikendalikan oleh aplikasi pada android melalui bluetooth. Lengan robot dapat bergerak ke segala arah dan dirancang agar mampu mengikuti perintah dari android ke semua sudut dimensi dengan motor servo. Lengan robot dirancang untuk menulis huruf kapital dengan jenis seperti fourteen segment. Hasil dari penelitian ini adalah lengan robot telah dapat menulis kata dengan persentase keberhasilan 62% dan dapat dikendalikan jarah jauh dengan maksimal jarak 15 meter. Kata kunci — lengan robot, menulis, Android, Bluetooth, 4 DOF

viii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

ABSTRACT

Robotics technology in Indonesia has grown rapidly. This development was followed by the presence of a Smartphone with android operating system. This study aims to create a prototype robot arm 4 DOF which can write words that are controlled by the application on android via Bluetooth. The robotic arm can move in any direction and designed to be capable to follow the orders from android to all corners of the dimension with servo motors. The robotic arm is designed to write with a capital letter types like fourteen segments. The results from this study is the robot arm has been able to write the words with a success percentage of 62% and can be controlled remotely with a maximum distance of 15 meters.

Keyword — Robot Arm, writing, Android, Bluetooth, 4 DOF

ix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR ISI Halaman Sampul (Bahasa Indonesia) ................................................................................ i

Halaman Sampul (Bahasa Inggris) .................................................................................... ii

Halaman Persetujuan ......................................................................................................... iii

Halaman Pengesahan ......................................................................................................... iv

Pernyataan Keaslian Karya ................................................................................................ v

Halaman Persembahan dan Motto Hidup .......................................................................... vi

Lembar Pernyataan Persetujuan Karya Ilmiah Untuk Kepentingan Akademis ................ vii

Intisari ................................................................................................................................ viii

Abstract .............................................................................................................................. ix

Kata Pengantar ................................................................................................................... x

Daftar Isi ............................................................................................................................ xi

Daftar Gambar ................................................................................................................... xiv

Daftar Tabel ....................................................................................................................... xvii

Daftar Persamaan ............................................................................................................... xviii

Daftar Lampiran ................................................................................................................ xix

BAB I:PENDAHULUAN 1.1. Latar Belakang ............................................................................................ 1

1.2. Tujuan dan Manfaat Penelitian ................................................................... 2

1.3. Batasan Masalah .......................................................................................... 3

1.4. Metodologi Penelitian ................................................................................. 3

BAB II:DASAR TEORI

2.1. Mikrokontroler ............................................................................................. 5

2.1.1. Mikrokontroler Arduino Mega 2560 ................................................ 6

2.1.2 . Perangkat Lunak Arduino ................................................................ 9

2.2. Motor Servo .................................................................................................. 10

2.3. Adafruit Servo Shield 16 Channel PWM ..................................................... 12

2.3.1 Komunikasi I2C ................................................................................ 14

2.4. Bluetooth ...................................................................................................... 16

xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

2.4.1 Modul Bluetooth HC-05 ................................................................... 17

2.4.2 Pengaturan HC-05 dengan AT-COMMAND .................................... 19

2.5. Pemodelan Kinematika Dalam Sistem Robotik ........................................... 20

2.5.1 Konsep Kinematika .......................................................................... 21

2.5.2 Penggunaan Persamaan Trigonometri .............................................. 24

BAB III:PERANCANGAN

3.1. Proses Kerja Sistem ...................................................................................... 28

3.2. Perancangan Perangkat Keras (Hardware) .................................................. 29

3.2.1. Desain Lengan Robot ....................................................................... 29

3.2.2. Perancangan Pengendali Utama ....................................................... 39

3.2.3. Perancangan Rangkaian Motor Servo .............................................. 40

3.3. Perancangan Perangkat Lunak (Software) .................................................. 41

3.3.1. Diagram Alir Android ...................................................................... 41

3.3.2. Diagram Alir Robot Menulis Kata ................................................... 42

BAB IV:HASIL DAN PEMBAHASAN

4.1. Hasil Perancangan Perangkat Keras ............................................................. 44

4.2. Hasil Pengujian ............................................................................................ 47

4.2.1. Pengujian Koneksi Bluetooth ........................................................... 47

4.2.2. Pengujian Kinematika Lengan Robot ............................................... 50

4.2.3. Pengujian repeatabilitas lengan robot .............................................. 60

4.2.4. Pengujian keseluruhan sistem........................................................... 61

4.3. Pembahasan Perangkat Lunak ...................................................................... 65

4.3.1. Inisialisasi ......................................................................................... 65

4.3.2. Program Home .................................................................................. 66

4.3.3. Program Pemilihan Posisi Karakter .................................................. 66

4.3.4. Pembacaan Data dari Android ........................................................... 67

4.3.5. Program Data Huruf .......................................................................... 68

4.3.6. Program Garis Acuan ........................................................................ 68

xii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB V:KESIMPULAN DAN SARAN

5.1. Kesimpulan ................................................................................................... 70

5.2. Saran ............................................................................................................. 70

DAFTAR PUSTAKA ........................................................................................................ 71

LAMPIRAN ...................................................................................................................... 73

xiii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR GAMBAR Halaman

Gambar 1.1. Blok Diagram Prototipe Lengan Robot Menulis Kata ................................ 4

Gambar 2.1. Bentuk Fisik Arduino Mega 2560 ............................................................... 7

Gambar 2.2. Alokasi Penempatan Pin Arduino Mega 2560 ............................................ 7

Gambar 2.3. Tampilan IDE Arduino ............................................................................... 9

Gambar 2.4. Bentuk Fisik Motor Servo ........................................................................... 10

Gambar 2.5. Konstruksi Motor Servo .............................................................................. 11

Gambar 2.6. Kendali Pulsa Motor Servo ......................................................................... 12

Gambar 2.7. Adafruit Servo Shield 16 Channel PWM .................................................... 13

Gambar 2.8. Bentuk Fisik Modul Bluetooth Seri HC ...................................................... 17

Gambar 2.9. Pengaturan Modul Bluetooth Dengan AT-Command Melalui Arduino ..... 19

Gambar 2.10 Diagram Sistem Robotik ............................................................................. 20

Gambar 2.11. Diagram Sistem Kontrol Robotik ............................................................... 21

Gambar 2.12. Transformasi Kinematik Maju dan Kinematik Balik .................................. 21

Gambar 2.13. Gerakan Holonomic .................................................................................... 23

Gambar 2.14. Gerakan Nonholonomic .............................................................................. 23

Gambar 2.15. Gerakan Holonomic dan Nonholonomic .................................................... 23

Gambar 2.16. Konfigurasi Lengan Robot Satu Sendi ....................................................... 24

Gambar 2.17. Konfigurasi Lengan Robot Dua Sendi ........................................................ 24

Gambar 2.18. Konfigurasi Lengan Robot Tiga Sendi ....................................................... 26

Gambar 3.1. Blok Diagram Sistem .................................................................................. 29

Gambar 3.2. Tampilan Desain Gambar 3D Lengan Robot Menulis Kata ....................... 29

Gambar 3.3. Bagian Base dan Penggeraknya .................................................................. 30

Gambar 3.4. Dimensi Lengan Robot ............................................................................... 30

Gambar 3.5. a. Desain 3D End-Effector Lengan Robot .................................................. 31

Gambar 3.5. b. Desain 3D Whiteboard ........................................................................... 31

Gambar 3.6. Desain 3D Keseluruhan Prototipe Lengan Robot ....................................... 34

Gambar 3.7. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Atas ................. 35

Gambar 3.8. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Samping .......... 35

xiv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

Gambar 3.9. Desain 2D Sederhana Lengan Robot Tampak Atas .................................... 36

Gambar 3.10. Desain 3D Sederhana Lengan Robot Tampak Samping ............................. 37

Gambar 3.11. Contoh Beberapa Titik Acuan di tiap Huruf Serta Dimensi Huruf............. 38

Gambar 3.12. Bentuk Keseluruhan Huruf Beserta Titik Acuannya .................................. 39

Gambar 3.13. Rangkaian Keseluruhan Sistem .................................................................. 40

Gambar 3.14. Gambar Rangkaian Servo Controller ......................................................... 40

Gambar 3.15. Diagram Alir Android ................................................................................. 41

Gambar 3.16. Diagram Alir Program Menulis Kata .......................................................... 42

Gambar 4.1. Keseluruhan Bentuk Lengan Robot Menulis Kata ..................................... 44

Gambar 4.2. Motor Servo Sebagai Penggerak Lengan Robot ......................................... 45

Gambar 4.3. Motor Bagian Base yang Dihubungkan dengan Transmisi Gear ............... 45

Gambar 4.4. Konektor Motor Servo ................................................................................ 46

Gambar 4.5. Rangkaian Elektrik Lengan Robot Menulis Kata ....................................... 46

Gambar 4.6. Ilustrasi Pengujian Koneksi Bluetooth ........................................................ 47

Gambar 4.7. Listing Program Pengujian Koneksi Bluetooth ........................................... 48

Gambar 4.8. Tampilan Interface Arduino Bluetooth Terminal ....................................... 48

Gambar 4.9. Tampilan Serial Monitor pada IDE Arduino .............................................. 49

Gambar 4.10. Posisi Home Lengan Robot ........................................................................ 50

Gambar 4.11. Penyederhanaan 2D Lengan Robot Tampak Atas ...................................... 50

Gambar 4.12. Penyederhanaa 2D Lengan Robot Tampak Samping ................................. 51

Gambar 4.13. Posisi Titik Acuan ....................................................................................... 53

Gambar 4.14. Hasil Implementasi Titik Acuan Pada Whiteboard..................................... 53

Gambar 4.15. Permasalahan Mekanik Lengan Robot ....................................................... 58

Gambar 4.16. Bentuk dan Posisi Garis Acuan ................................................................... 58

Gambar 4.17. Hasil Implementasi Garis-Garis Acuan ...................................................... 59

Gambar 4.18. End-effector Menabrak Papan Tulis ........................................................... 59

Gambar 4.19. Konfigurasi Bluetooth pada Smartphone .................................................... 61

Gambar 4.20. Tampilan Awal Aplikasi Arduino Bluetooth Terminal............................... 61

Gambar 4.21. Tampilan Aplikasi Arduino Bluetooth Terminal ........................................ 62

Gambar 4.22. Bentuk Huruf A pada Posisi Karakter Pertama .......................................... 62

Gambar 4.23. Bentuk Huruf A pada Setiap Posisi Karakter.............................................. 62

xv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

Gambar 4.24. Ilustrasi Bentuk Huruf yang Terbaca .......................................................... 64

Gambar 4.25. Ilustrasi Bentuk Huruf yang Tidak Terbaca ................................................ 64

Gambar 4.26. Beberapa Huruf yang Membentuk Sebuah Kata ......................................... 64

Gambar 4.27. Listing Program Inisialisasi Lengan Robot Menulis Kata .......................... 65

Gambar 4.28. Listing Program Home ................................................................................ 66

Gambar 4.29. Listing Program Pemilihan Posisi Karakter ................................................ 66

Gambar 4.30. Listing Program Pembacaan Data dari Android ......................................... 67

Gambar 4.31. Data yang Diterima oleh Mikrokontroler.................................................... 67

Gambar 4.32. Listing Program Data Huruf ........................................................................ 68

Gambar 4.33. Listing Sub Program Garis Acuan ............................................................... 69

xvi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR TABEL

Halaman

Tabel 2.1. Keterangan Pin Arduino Mega 2560 ............................................................... 8

Tabel 2.2. Keterangan Tombol Pada Tampilan IDE Arduino .......................................... 10

Tabel 3.1. Tabel Perkiraan Berat Lengan dan Beban yang Diangkat Lengan .................. 32

Tabel 3.2. Tabel Perkiraan Panjang Lengan dan Sudut Maksimal yang Dijangkau ........ 34

Tabel 4.1. Pengujian Koneksi Bluetooth ......................................................................... 49

Tabel 4.2. Data Hasil Perhitungan Kinematika Setiap Titik Acuan ............................... 54

Tabel 4.3. Perbandingan Hasil Perhitungan dengan Hasil Pengukuran .......................... 56

Tabel 4.4. Hasil Pengujian Repeatabilitas Lengan Robot ............................................... 60

Tabel 4.5. Hasil Pengujian Keberhasilan Bentuk Huruf ................................................. 63

xvii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR PERSAMAAN Halaman

Persamaan 2.1 ..................................................................................................................... 24

Persamaan 2.2 ..................................................................................................................... 25

Persamaan 2.3 ..................................................................................................................... 25

Persamaan 2.4 ..................................................................................................................... 25

Persamaan 2.5 ..................................................................................................................... 25

Persamaan 2.6 ..................................................................................................................... 25

Persamaan 2.7 ...................................................................................................................... 25

Persamaan 2.8 ..................................................................................................................... 25

Persamaan 2.9 ..................................................................................................................... 25

Persamaan 2.10 ................................................................................................................... 25

Persamaan 2.11 ................................................................................................................... 25

Persamaan 2.12 ....................................................................................................................25

Persamaan 2.13 ....................................................................................................................26

Persamaan 2.14 ....................................................................................................................26

Persamaan 2.15 ....................................................................................................................26

Persamaan 2.16 ....................................................................................................................26

Persamaan 2.17 ....................................................................................................................26

Persamaan 2.18 ....................................................................................................................26

Persamaan 2.19 ....................................................................................................................27

Persamaan 2.20 ....................................................................................................................27

Persamaan 2.21 ....................................................................................................................27

xviii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR LAMPIRAN

Halaman

L1. Tabel Pengujian Koneksi Bluetooth ......................................................................... L1

L2. Tabel Data Hasil Perhitungan Kinematika Setiap Titik Acuan ............................... L2

L4. Tabel Perbandingan Hasil Perhitungan dengan Hasil Pengukuran .......................... L4

L6. Tabel Hasil Pengujian Repeatabilitas Lengan Robot .............................................. L6

L7. Hasil Implementasi Keseluruhan Bentuk Huruf ...................................................... L7

L10. Listing Program Keseluruhan ................................................................................... L10

xix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB I

PENDAHULUAN 1.1 Latar Belakang

Dewasa ini teknologi robotika di indonesia berkembang dengan pesat.

Perkembangan ini telah meningkatkan kualitas kehidupan manusia. Teknologi robotika

telah menggantikan peralatan – peralatan manual menjadi otomatis yaitu dengan

penggunaan robot. Salah satu cara meningkatkan tingkat kecerdasan sebuah robot adalah

dengan menambah sensor atau aktuator pada robot tersebut. Di negara-negara maju

perkembangan robot mengalami peningkatan yang tinggi, saat ini robot telah digunakan

sebagai alat bantu dalam pekerjaan manusia. Seiring dengan berkembangnya teknologi,

khususnya teknologi elektronik, peran robot menjadi semakin penting tidak saja dibidang

sains, tapi juga di berbagai bidang lainnya, seperti di bidang industri manufaktur,

kedokteran, pertanian, bahkan militer. Teknologi robotika juga telah menjangkau sisi

hiburan dan pendidikan bagi manusia. Secara sadar atau tidak, saat ini robot telah “masuk”

dalam kehidupan sehari-hari manusia dalam berbagai bentuk dan jenis. Ada jenis robot

sederhana yang dirancang untuk melakukan kegiatan yang sederhana, mudah dan

berulang-ulang, ataupun robot yang diciptakan khusus untuk melakukan sesuatu yang

rumit, sehingga dapat berperilaku sangat kompleks dan secara otomatis dapat mengontrol

dirinya sendiri sampai batas tertentu.

Perkembangan teknologi robotika dan elektronik ini juga diikuti dengan

berkembangnya teknologi dalam bidang telekomunikasi. Yakni, dengan hadirnya

Smartphone. Smartphone merupakan telepon genggam yang mempunyai kemampuan

tingkat tinggi yang bekerja menggunakan seluruh perangkat lunak sistem operasi yang

menyediakan hubungan standar dan mendasar bagi pengembang aplikasi. Salah satu

contoh sistem operasi yang ada adalah Android. Saat ini, Smartphone dengan sistem

operasi android mudah kita jumpai dalam kehidupan sehari-hari karena android sudah

digemari di beberapa negara, khususnya Indonesia.

Berdasarkan paparan diatas maka penulis ingin menciptakan purwarupa lengan

robot dengan 4 Degree Of Freedom (DOF). Peneliti yang sudah pernah membuat adalah

Syarifah Hamidah, Seno D.Panjaitan, dan Dedi Triyanto dalam penelitian yang berjudul “

Sistem Pengendali Robot Lengan Menggunakan Pemogramman Visual Basic”. Pada

penelitian ini, mikrokontroler yang digunakan adalah Atmega16. Lengan robot yang

1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

2

digunakan memiliki 4 Degree Of Freedom (DOF) dan menggunakan Graphical User

Interface (GUI) Visual Basic 2010 sebagai antarmuka antara pengguna dengan sistem

kendali lengan robot [1].

Purwarupa lengan robot dengan 4 Degree Of Freedom (DOF) yang akan dibuat

penulis dapat diaplikasikan untuk menulis kata dengan sistem operasi android sebagai

antarmuka antara pengguna dengan sistem kendali lengan robot. Lengan robot tersebut

dapat dikendalikan oleh penggunanya dari jarak jauh melalui teknologi Bluetooth. Lengan

robot dapat digunakan sebagai alat peraga saat pameran atau model saat perancangan

sistem kontrol otomasi.

Dalam pembuatan lengan robot ini memerlukan beberapa motor servo sebagai

penggerak lengan robot. Untuk menggerakkan motor servo tersebut memerlukan servo

controller yang digunakan untuk mengatur pergerakan lengan robot tersebut sehingga

dapat bergerak secara bersamaan. Penelitian ini memaparkan salah satu sudut teknologi

robotika dengan lengan robot yang memiliki kemampuan menulis pada whiteboard dengan

sebuah ujung yang diberikan spidol. Lengan robot tersebut dirancang agar mampu

bergerak secara seimbang dengan menggerakan motor servo pada setiap sendi robot secara

bersamaan. Robot ini dikendalikan oleh sebuah mikrokontroler Arduino yang

menggunakan sebuah Android sebagai masukannya yang dikirimkan melalui teknologi

Bluetooth sehingga pergerakkan dari robot ini berjalan secara otomatis sesuai dengan

program yang dibuat. Lengan robot ini memiliki pergerakan sebanyak 4 DOF ( Degree Of

Freedom) mulai dari pangkal sampai end-effector. Lengan robot dapat bergerak ke segala

arah dan dirancang agar mampu mengikuti perintah dari android dengan mikrokontroler ke

semua sudut dimensi dengan motor servo.

1.2 Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini adalah membuat purwarupa lengan robot dengan 4 DOF

yang dapat menulis kata berbasis Arduino yang dapat dikendalikan jarah jauh dengan

aplikasi pada Android. Manfaat yang diharapkan dari penelitian ini adalah untuk

digunakan sebagai dasar penelitian robot humanoid di masa yang akan datang dan dapat

menambah pemahaman tentang robot terutama lengan robot dengan 4 DOF.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

3

1.3 Batasan Masalah

Agar penelitian ini dapat sesuai dengan apa yang menjadi tujuannya dan

menghindari terlalu kompleksnya permasalahan yang muncul, maka perlu adanya batasan-

batasan masalah yang sesuai dengan judul penelitian ini. Adapun batasan masalahnya

adalah :

a. Pembuatan lengan robot ini menggunakan 4 derajat kebebasan (DOF).

b. Penelitian akan dibatasi pada lengan robot menulis dengan maksimal enam

huruf.

c. Penulisan huruf menggunakan huruf kapital dengan jenis huruf seperti fourteen

segment.

d. Robot akan dikendalikan dengan sebuah mikrokontroler yakni Arduino yang

akan dihubungkan dengan sebuah Android sebagai masukannya melalui

teknologi Bluetooth.

e. Menggunakan motor RC-servo sebagai aktuator.

f. Robot dapat bergerak pada sumbu X, Y, dan Z.

g. Menggunakan modul Bluetooth HC-05.

h. Menggunakan aplikasi Arduino Bluetooth Terminal pada android yang

digunakan untuk mengirim data masukan pada arduino.

i. Mengirim data huruf per satu karakter secara bergantian.

1.4 Metodologi Penelitian Berdasarkan pada tujuan yang ingin dicapai maka metode yang digunakan adalah :

1. Studi literatur dan referensi, yaitu dengan cara mendapatkan data dari membaca

buku-buku dan jurnal-jurnal yang terkait dengan mikrokontroler khususnya

Arduino dan juga mengenai modul Bluetooth HC-05.

2. Studi kasus terhadap alat yang telah dibuat sebelumnya. Tahap ini dilakukan

guna memahami prinsip kerja alat sebelumnya.

3. Menguji modul Bluetooth HC-05. Tahap ini dilakukan guna memahami prinsip

kerja dan karakter modul Bluetooth HC-05.

4. Menguji motor servo. Tahap ini dilakukan guna memahami prinsip kerja motor

servo dan bisa mengetahui karakter motor servo.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

4

5. Menguji Servo Controller. Tahap ini dilakukan guna memahami prinsip kerja

Servo Controller baik secara sekuensial maupun bersamaan dan mengetahui cara

menggunakan antarmuka pada Servo Controller.

6. Menguji rangkaian kendali dengan mikrokontroler Arduino. Tahap ini guna

lebih memahami bahasa yang digunakan mikrokontroler Arduino dan lebih

memahami cara kerja dengan mencoba membuat rangkaian kendali sederhana

terlebih dahulu.

7. Perancangan sistem hardware dan software. Tahap ini bertujuan untuk mencari

dan menentukan komponen-komponen suatu sistem yang akan dibuat dengan

mempertimbangkan faktor-faktor permasalahan dan kebutuhan yang telah

ditentukan.

8. Pembuatan sistem hardware dan software. Berdasarkan gambar 1.1,

mikrokontroler sebagai kontrol utama pada purwarupa lengan robot ini.

Mikrokontroler akan memproses masukan dari Android yang dikirim melalui

modul Bluetooth sebagai masukan untuk motor bekerja yang akan membuat

lengan robot bergerak membentuk huruf.

Gambar 1.1. Blok Diagram Prototipe Lengan Robot Menulis Kata

9. Proses pengujian dan pengambilan data. Teknik pengambilan data dilakukan

dengan cara menguji keseluruhan sistem dengan menggabungkan antara

rangkaian kendali dengan rangkaian aktuator. Pengujian dilakukan dengan

mengkomunikasikan Android dengan Arduino.

10. Analisa dan kesimpulan hasil perancangan. Analisa data dilakukan dengan

mengecek apakah alat sudah bekerja sesuai dengan perancangan awal dan bisa

sesuai dengan kondisi yang diinginkan, meliputi kemampuan Arduino mampu

menerima dan mengidentifikasi data dari Android. Berdasarkan hasil analisa data

akan diperoleh kesimpulan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB II

DASAR TEORI 2.1. Mikrokontroler

Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan

keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus.

Sederhananya, cara kerja mikrokontroler sebenarnya hanya membaca dan menulis data.

Sekedar contoh, bayangkan diri anda saat mulai belajar membaca dan menulis, ketika

Anda sudah bisa melakukan hal itu anda mulai bisa membaca tulisan apapun baik itu

tulisan buku, cerpen, artikel dan sebagainya, dan anda pun mulai bisa menulis hal-hal

sebaliknya. Begitu pula jika anda sudah mahir membaca dan menulis data pada

mikrokontroler maka anda dapat membuat program untuk membuat suatu sistem

pengaturan menggunakan mikrokontroler sesuai dengan keinginan anda. Mikrokontroler

merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik,

yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut

"pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan

komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil

dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan penggunaan

mikrokontroler ini maka :

1. Sistem elektronik akan menjadi lebih ringkas

2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari

sistem adalah perangkat lunak yang mudah dimodifikasi

3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC

TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau

sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain,

mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler

sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port

paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke

digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau

kompleks [2].

5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

6

2.1.1. Mikrokontroler Arduino Mega 2560 Arduino adalah sebuah platform elektronik yang open source. Nama Arduino tidak

hanya digunakan untuk menamai board rangkaiannya saja, tetapi juga untuk menamai

bahasa dan software pemrogramannya, serta lingkungan pemrogramannya atau yang

dikenal dengan sebutan Integrated Development Environment (IDE). Arduino memiliki

beberapa keunggulan dibandingkan dengan platform elektronik lainnya [3]. Beberapa

keunggulan tersebut antara lain:

1. Modul Arduino adalah sebuah platform elektronik yang open source yang berbasis

pada kemudahan dan fleksibilitas penggunaan hardware dan software. Artinya

pembaca dapat mengunduh software dan gambar rangkaian Arduino tanpa harus

membayar kepada pembuat Arduino.

2. IDE Arduino merupakan multiplatform yang dapat dijalankan di berbagai sistem

operasi seperti Windows, Macintosh, dan Linux.

3. Modul Arduino mudah digunakan sebagai sebuah platform komputasi fisik yang

sederhana serta menerapkan bahasa pemrograman processing.

4. Modul Arduino merupakan platform interaktif karena dapat mengambil masukan

dari berbagai tombol atau sensor, mampu mengendalikan berbagai lampu, motor,

dan output fisik lainnya.

5. Modul Arduino dapat berdiri sendiri, atau dapat melakukan komunikasi dengan

software yang berjalan di komputer seperti Flash, Processing, dan MaxMSP.

6. Pemrograman Arduino menggunakan kabel yang terhubung dengan port Universal

Serial Bus (USB), bukan port serial. Fitur ini sangat berguna karena banyak

komputer sekarang ini tidak memiliki port serial.

7. Biaya yang dibutuhkan untuk membeli modul Arduino cukup murah, sehingga

tidak terlalu menakutkan untuk membuat kesalahan.

8. Proyek Arduino ini dikembangkan dalam dunia pendidikan, sehingga bagi pemula

akan lebih cepat dan mudah untuk mempelajarinya.

9. Memiliki begitu banyak pengguna dan komunitas di internet yang dapat membantu

setiap kesulitan yang dihadapi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

7

Arduino sudah memproduksi begitu banyak minimum sistem. Beberapa diantaranya

adalah Arduino Uno, Arduino Leonardo, Arduino Due, Arduino Mega 2560, Arduino

Mega ADK, Arduino Mikro, Arduino Duemilanove, Arduino Nano. Dalam penelitian yang

dikerjakan oleh penulis, akan digunakan salah satu produk Arduino yang dikenal dengan

nama Arduino Mega 2560. Gambar 2.1. merupakan tampilan Arduino Mega 2560.

Gambar 2.1. Bentuk fisik Arduino Mega 2560 [4]

Arduino Mega 2560 adalah sebuah board mikrokontroler yang berbasis pada IC

ATmega 2560. Arduino Mega 2560 memiliki 54 buah pin digital yang dapat digunakan

sebagai input ataupun output. Dari 54 buah pin tersebut, 15 pin diantaranya dapat

digunakan sebagai output Pulse Width Modulation (PWM), memiliki 16 buah pin analog

input, 4 buah pin UART yang berfungsi sebagai port serial hardware, sebuah osilator

kristal 16 MHz, sebuah jack female untuk koneksi USB, jack female adaptor, dan sebuah

tombol reset [4].

Gambar 2.2. Alokasi Penempatan Pin Arduino Mega 2560

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

8

Tabel 2.1. Keterangan Pin Arduino Mega 2560 [4]

No. Parameter Keterangan

1 ATmega 2560 IC mikrokontroler yang digunakan pada Arduino Mega 2560.

2 Jack USB Untuk komunikasi mikrokontroler dengan PC

3 Jack Adaptor Masukan power eksternal bila Arduino bekerja mandiri (tanpa

komunikasi dengan PC melalui kabel serial USB).

4 Tombol Reset Tombol reset internal yang digunakan untuk mereset modul

Arduino.

5 Pin Analog Menerima input dari perangkat analog lainnya.

6 Pin Power

• Vin = Masukan tegangan input bagi Arduino ketika

menggunakan dumber daya eksternal.

• 5 V = Sumber tegangan yang dihasilkan regulator internal

board Arduino.

• 3,3 V = Sumber tegangan yang dihasilkan regulator internal

board Arduino. Arus maksimal pada pin ini adalah 50 mA.

• GND = Pin ground dari regulator tegangan board Arduino.

• IOREF = Tegangan Referensi.

• AREF = Tegangan Referensi untuk input analog.

7 Light-Emitting

Diode (LED)

Pin digital 13 merupakan pin yang terkoneksi dengan LED

internal Arduino.

8 Pin PWM Arduino Mega menyediakan 8 bit output PWM. Gunakan

fungsi analogWrite() untuk mengaktifkan pin PWM ini.

9 Pin Serial

Digunakan untuk menerima dan mengirimkan data serial TTL

(Receiver (Rx), Transmitter (Tx)). Pin 0 dan 1 sudah terhubung

kepada pin serial USB to TTL sesuai dengan pin ATmega.

10 Pin Two Wire

Interface (TWI)

Terdiri dari Serial Data Line (SDA) dan Serial Interface Clock

(SCL).

11 Pin Digital Pin yang digunakan untuk menerima input digital dan memberi

output berbentuk digital (0 dan 1 atau low dan high).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

9

Tabel 2.1. (Lanjutan) Keterangan Pin Arduino Mega 2560 [4]

12

Pin Serial

Peripheral

Interface (SPI)

Terdiri dari 4 buah Pin :

1. Master In Slave Out (MISO)

Jalur slave untuk mengirimkan data ke Master.

2. Master Out Slave In (MOSI)

Jalur master untuk mengirimkan data ke peralatan.

3. Serial Clock (SCK)

Clock yang berfungsi untuk memberikan denyut pulsa ketika

sedang menyinkronkan transmisi data oleh master

4. Slave Select (SS)

Pin untuk memilih jalur slave pada perangkat tertentu.

2.1.2. Perangkat Lunak Arduino Area pemrograman Arduino dikenal dengan Integrated Development Environment

(IDE) [5]. Area pemrograman yang digunakan untuk menulis baris program dan

mengunggahnya ke dalam board Arduino . disamping itu juga dibuat lebih mudah dan

dapat berjalan pada beberapa sistem operasi seperti Windows, Macintosh, dan Linux [6].

Gambar 2.3. dan Tabel 2.2. merupakan area pemrograman Arduino dan keterangan

beberapa tombol utama.

Gambar 2.3. Tampilan IDE Arduino

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

10

Tabel 2.2. Keterangan Tombol Pada Tampilan IDE Arduino

No. Tombol Nama Fungsi

1

Verify

Menguji apakah ada kesalahan pada program atau sketch. Apabila sketch sudah benar, maka sketch tersebut akan dikompilasi. Kompilasi adalah proses mengubah kode program ke dalam kode mesin.

2 Upload Mengirimkan kode mesin hasil kompilasi ke board Arduino

3

New Membuat sketch yang baru

4

Open Membuka sketch yang sudah ada

5 Save Menyimpan sketch

6

Serial Monitor

Menampilkan data yang dikirim dan diterima melalui komunikasi serial.

IDE Arduino membutuhkan beberapa pengaturan yang digunakan untuk

mendeteksi board Arduino yang sudah dihubungkan ke komputer. Beberapa pengaturan

tersebut adalah mengatur jenis board yang digunakan sesuai dengan board yang terpasang

dan mengatur jalur komunikasi data melalui perintah Serial Port. Kedua pengaturan

tersebut dapat ditemukan pada pull down menu Tools.

2.2. Motor Servo

Motor servo adalah sebuah motor DC yang dilengkapi rangkaian kendali dengan

sistem closed feedback yang terintegrasi dalam motor tersebut. Pada motor servo posisi

putaran sumbu (axis) dari motor akan diinformasikan kembali ke rangkaian kontrol yang

ada di dalam motor servo. Gambar 2.4 merupakan bentuk fisik dari motor servo.

Gambar 2.4. Bentuk Fisik Motor Servo [7]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

11

Gambar 2.5 merupakan konstruksi dari motor servo yang disusun oleh sebuah

motor DC, gearbox, variabel resistor (VR) atau potensiometer dan rangkaian kontrol.

Potensiometer berfungsi untuk menentukan batas maksimum putaran sumbu (axis) motor

servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang pada

pin kontrol motor servo.

Gambar 2.5. Konstruksi Motor Servo [7]

Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW) dimana

arah dan sudut pergerakan rotornya dapat dikendalikan dengan memberikan variasi lebar

pulsa (duty cycle) sinyal PWM pada bagian pin kontrolnya.

Jenis-jenis Motor Servo:

1. Motor Servo Standar

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW)

dengan defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut

dari kanan – tengah – kiri adalah 180°.

2. Motor Servo Continuous

Motor servo jenis ini mampu bergerak dua arah (CW dan CCW) tanpa

batasan defleksi sudut putar (dapat berputar secara kontinyu).

Pulsa Kontrol Motor Servo

Operasional motor servo dikendalikan oleh sebuah pulsa dengan jarak ± 20 ms,

dimana lebar pulsa antara 0.5 ms dan 2 ms menyatakan akhir dari range sudut maksimum.

Apabila motor servo diberikan pulsa dengan besar 1.5 ms mencapai gerakan 90°, maka bila

kita berikan pulsa kurang dari 1.5 ms maka posisi mendekati 0° dan bila kita berikan pulsa

lebih dari 1.5 ms maka posisi mendekati 180° seperti yang ditunjukkan pada gambar 2.6.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

12

Gambar 2.6. Kendali Pulsa Motor Servo [7]

Motor Servo akan bekerja secara baik jika pada bagian pin kontrolnya diberikan

sinyal PWM dengan frekuensi 50 Hz. Dimana pada saat sinyal dengan frekuensi 50 Hz

tersebut dicapai pada kondisi Ton duty cycle 1.5 ms, maka rotor dari motor akan berhenti

tepat di tengah-tengah (sudut 0°/ netral).

Pada saat Ton duty cycle dari sinyal yang diberikan kurang dari 1.5 ms, maka rotor

akan berputar ke berlawanan arah jarum jam (Counter Clock wise, CCW) dengan

membentuk sudut yang besarnya linier terhadap besarnya Ton duty cycle, dan akan

bertahan diposisi tersebut. Dan sebaliknya, jika Ton duty cycle dari sinyal yang diberikan

lebih dari 1.5 ms, maka rotor akan berputar searah jarum jam (Clock Wise, CW) dengan

membentuk sudut yang linier pula terhadap besarnya Ton duty cycle, dan bertahan diposisi

tersebut [7].

2.3 . Adafruit Servo Shield 16 Channel PWM Adafruit Servo Shield 16 Channel PWM merupakan sebuah pengendali servo atau

servo controller yang mampu digunakan untuk mengendalikan 16 buah motor servo secara

serentak maupun sekuensial dengan output PWM. Modul ini dilengkapi dengan jalur

komunikasi I2C. Modul ini juga memiliki jalur I2C yang dapat berbagi dengan perangkat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

13

I2C lainnya serta sensor untuk pin SDA dan SCL selama alamat mereka tidak konflik.

Gambar 2.7. merupakan bentuk fisik dari Adafruit Servo Shield 16 Channel PWM[8].

Gambar 2.7. Adafruit Servo Shield 16 Channel PWM [8]

Spesifikasi dari Adafruit Servo Shield 16 Channel PWM :

1. Dapat digunakan untuk mengendalikan hingga 16 motor servo secara serentak

maupun sekuensial.

2. Mendukung motor servo tipe standar dan kontinus.

3. Dilengkapi kemampuan untuk membaca pulsa kontrol (posisi) servo, Enable dan

Disable servo, kemampuan menyimpan dan menjalankan hingga 32 sekuen

gerakan, serta kemampuan menyimpan dan kembali ke posisi home (default).

4. Menggunakan komunikasi I2C, hanya dengan menggunakan 2 pin papan PWM

controller akan mengendalikan semua 16 channel atau pin sekaligus tanpa

tambahan pengeluaran untuk menambahkan arduino.

5. Dapat menumpuk hingga 62 Adafruit Servo Shield 16 Channel PWM dalam 1

arduino sehingga dapat mengendalikan hingga 992 motor servo hanya dengan 2

pin(SDA/SCL).

6. Pengaturan alamat I2C secara hardware melalui pin A5 untuk SCL dan pin A4

untuk SDA pada arduino.

7. Dilengkapi dengan library yang bisa di download untuk dimasukkan ke dalam

arduino.

8. Menggunakan 2 catudaya. Catudaya modul terpisah dengan catudaya motor servo

dan dilengkapi dengan LED indikator catudaya.

9. Catudaya modul menggunakan catudaya dari arduino yaitu sebesar 5V yang

digunakan untuk daya chip PWM, menentukan level logic I2C, dan level logic

sinyal PWM.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

14

10. Hampir semua servo di desain untuk bekerja aktif kira-kira di tegangan 5V atau 6V.

Logikanya jika ingin mengendalikan banyak servo maka dibutuhkan arus yang

tidak sedikit agar semua servo dapat bekerja secara serentak sehingga terdapat

beberapa pilihan power dibawah ini yang direkomendasikan untuk catudaya motor

servo:

a. 5v 2A switching power supply (dapat mengendalikan hingga 4 motor

servo).

b. 5V 10A switching power supply (dapat mengendalikan hingga 16 motor

servo)

c. Jika menggunakan battery dapat menggunakan 4x AA battery dengan

tegangan 6v atau 4,8v (6v dengan cell battery Alkaline dan 4,8v dengan cell

battery yang dapat dicas).

2.3.1. Komunikasi I2C Bus adalah sistem pengantar yang dilengkapi dengan komponen pengendali untuk

melayani pertukaran data antara komponen hardware satu dengan komponen hardware

lainnya. Pada sistem mikrokontroler terdapat bus Data, bus Alamat, dan beberapa

pengantar pengendali. Semakin tinggi frekuensi clock prosesor, maka semakin lebih cermat

pengembang untuk memperhatikan timing dari seluruh komponen yang terlibat, agar tidak

terjadi kesalahan dalam transaksi data.

Bus yang cukup sering digunakan adalah bus bersifat paralel. Transaksi data

dilakukan secara paralel sehingga transaksi data lebih cepat. Akan tetapi disisi lain Mahal.

Jika sistem relatif tidak membutuhkan transaksi yang cepat, maka penggunaan Serial Bus

menjadi pilihan. Salah satu pilihan sistem data bus yang sering digunakan adalah I2C (Inter

Integrated Circuit). Sistem Bus I2C pertamakali diperkenalkan oleh Firma Philips pada

tahun 1979.

Karakter I2C :

1. Serial Bus Data dikirim serial secara per-bit.

2. Menggunakan dua Penghantar Koneksi dengan ground bersama I2C terdiri dari dua

penghantar:

a. SCL (Serial Clock Line) untuk menghantarkan sinyal clock.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

15

b. SDA (Serial Data) untuk mentransaksikan data

3. Jumlah Peserta Bus maximal 127 peserta dialamatkan melalui 7-bit-alamat. Alamat

ditetapkan kebanyakan secara hardware dan hanya sebagian kecil dapat dirubah.

4. Pengirim dan Penerima setiap transaksi data terjadi antara pengirim (Transmitter)

dan penerima (Receiver). Pengirim dan penerima adalah peserta bus.

5. Master and Slave Device yang mengendalikan operasi transfer disebut Master,

sementara device yang di kendalikan oleh master di sebut Slave.

Aturan Komunikasi I2C :

1. I2C adalah protokol transfer data serial. Device atau komponen yang mengirim data

disebut transmitter, sedangkan device yang menerimanya disebut receiver.

2. Device yang mengendalikan operasi transfer data disebut master, sedangkan device

lainnya yang dikendalikan oleh master disebut slave.

3. Master device harus menghasilkan serial clock melalui pin SCL, mengendalikan

akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP.

4. I2C adalah protokol transfer data serial. Device atau komponen yang mengirim data

disebut transmitter, sedangkan device yang menerimanya disebut receiver.

5. Device yang mengendalikan operasi transfer data disebut master, sedangkan device

lainnya yang dikendalikan oleh master disebut slave.

6. Master device harus menghasilkan serial clock melalui pin SCL, mengendalikan

akses ke BUS serial dan menghasilkan sinyal kendali START dan STOP.

Definisi-definisi Kondisi Bus :

1. Bus not busy:

Pada saat ini Bus tidak sibuk, SCL dan SDA dua-duanya dalam keadaan HIGH.

2. Start data transfer:

Ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL HIGH.

3. Stop data transfer:

Ditandai dengan perubahan kondisi SDA dari LOW ke HIGH ketika SCL HIGH.

4. Data valid:

Data yang dikirim bit demi bit dianggap valid jika setelah START, kondisi

SDA tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA LOW

tergantung dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

16

menandakan pengiriman bit baru. Duty cycle untuk SCL tidak mesti 50%, tetapi

frekuensi kemunculannya hanya ada 2 macam, yaitu mode standar 100kHz dan fast

mode atau mode cepat 400kHz. Setelah SCL mengirimkan sinyal HIGH yang

kedelapan, arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap

sebagai acknowledge dari receiver ke transmitter.

5. Acknowledge:

Setiap receiver wajib mengirimkan sinyal acknowledge atau sinyal balasan

setiap selesai pengiriman 1-byte atau 8-bit data. Master harus memberikan ekstra

clock pada SCL, yaitu clock kesembilan untuk memberikan kesempatan receiver

mengirimkan sinyal acknowledge ke transmitter berupa keadaan LOW pada SDA

selama SCL HIGH. Meskipun master berperan sebagai receiver, ia tetap sebagai

penentu sinyal STOP. Pada bit-akhir penerimaan byte terakhir, master tidak

mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh receiver dalam hal

ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti

sinyal STOP.

2.4. Bluetooth Bluetooth adalah spesifikasi industri untuk jaringan kawasan pribadi (personal area

networks atau PAN) tanpa kabel. Bluetooth menghubungkan dan dapat dipakai untuk

melakukan tukar-menukar informasi di antara peralatan-peralatan. Spesifiksi dari peralatan

Bluetooth ini dikembangkan dan didistribusikan oleh kelompok Bluetooth Special Interest

Group.

Awal mula dari Bluetooth adalah sebagai teknologi komunikasi wireless (tanpa

kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, Scientific

and Medical) dengan menggunakan sebuah frequency hopping tranceiver yang mampu

menyediakan layanan komunikasi data dan suara secara real-time antara host-host

Bluetooth dengan jarak jangkauan layanan yang terbatas (sekitar 10 meter). Bluetooth

berupa card yang menggunakan frekuensi radio standar IEEE 802.11 dengan jarak layanan

yang terbatas dan kemampuan data transfer lebih rendah dari card untuk Wireless Local

Area Network (WLAN).

Protokol Bluetooth menggunakan sebuah kombinasi antara circuit switching dan

packet switching. Bluetooth dapat mendukung sebuah kanal data asinkron, tiga kanal suara

sinkron simultan atau sebuah kanal dimana secara bersamaan mendukung layanan data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

17

asinkron dan suara sinkron. Setiap kanal suara mendukung sebuah kanal suara sinkron 64

kb/s. Kanal asinkron dapat mendukung kecepatan maksimal 723,2 kb/s asimetris, dimana

untuk arah sebaliknya dapat mendukung sampai dengan kecepatan 57,6 kb/s. Sedangkan

untuk mode simetris dapat mendukung sampai dengan kecepatan 433,9 kb/s. Sebuah

perangkat yang memiliki teknologi Wireless Bluetooth akan mempunyai kemampuan

untuk melakukan pertukaran informasi dengan jarak jangkauan sampai dengan 10 meter

(~30 feet). Sistem Bluetooth menyediakan layanan komunikasi point to point maupun

komunikasi point to multipoint.

Produk Bluetooth dapat berupa PC card atau USB adapter yang dimasukkan ke

dalam perangkat. Perangkat-perangkat yang dapat diintegerasikan dengan teknologi

Bluetooth antara lain : mobile PC, mobile phone, PDA (Personal Digital Assistant),

headset, kamera, printer, router dan sebagainya. Aplikasi-aplikasi yang dapat disediakan

oleh layanan Bluetooth ini antara lain : PC to PC file transfer, PC to PC file synch (

notebook to desktop), PC to mobile phone, PC to PDA, wireless headset, LAN connection

via ethernet access point dan sebagainya[9].

2.4.1. Modul Bluetooth HC-05

Modul Bluetooth seri HC memiliki banyak jenis atau varian, yang secara garis

besar terbagi menjadi dua yaitu jenis industrial series yaitu HC-03 dan HC-04 serta civil

series yaitu HC-05 dan HC-06. Modul Bluetooth serial, yang selanjutnya disebut dengan

modul BT saja digunakan untuk mengirimkan data serial TTL via Bluetooth. Modul BT ini

terdiri dari dua jenis yaitu Master dan Slave.

Gambar 2.8. Bentuk Fisik Modul Bluetooth Seri HC-05 [10]

Seri modul BT HC bisa dikenali dari nomor serinya, jika nomer serinya genap

maka modul BT tersebut sudah diset oleh pabrik, bekerja sebagai slave atau master dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

18

tidak dapat diubah mode kerjanya, contoh adalah HC-06-S. Modul BT ini akan bekerja

sebagai BT Slave dan tidak bisa diubah menjadi Master, demikian juga sebaliknya

misalnya HC-04M. Default mode kerja untuk modul BT HC dengan seri genap adalah

sebagai Slave.

Sedangkan modul BT HC dengan nomer seri ganjil, misalkan HC-05, kondisi

default biasanya diset sebagai Slave mode, tetapi pengguna bisa mengubahnya menjadi

mode Master dengan AT Command tertentu. Penggunaan utama dari modul BT ini adalah

menggantikan komunikasi serial via kabel, sebagai contoh:

1. Jika akan menghubungkan dua sistem mikrokontroler agar bisa berkomunikasi via

serial port maka dipasang sebuah modul BT Master pada satu sistem dan modul BT

Slave pada sistem lainnya. Komunikasi dapat langsung dilakukan setelah kedua

modul melakukan pairing. Koneksi via Bluetooth ini menyerupai komunikasi serial

biasa, yaitu adanya pin TXD dan RXD.

2. Jika sistem mikrokontroler dipasangi modul BT Slave maka ia dapat berkomunikasi

dengan perangkat lain semisal PC yang dilengkapi adapter BT ataupun dengan

perangkat ponsel, Smartphone dan lain-lain

3. Saat ini banyak perangkat seperti printer, GPS modul dan lain-lain yang bekerja

menggunakan media Bluetooth, tentunya sistem mikrokontroler yang dilengkapi

dengan BT Master dapat bekerja mengakses device-device tersebut

Pemakaian module BT pada sistem komunikasi baik antar dua sistem mikrokontrol

maupun antara suatu sistem ke device lain tidak perlu menggunakan driver, tetapi

komunikasi dapat terjadi dengan dua syarat yaitu :

1. Komunikasi terjadi antara modul BT Master dan BT Slave, komunikasi tidak akan

pernah terjadi jika kedua modul sama-sama Master atau sama-sama Slave, karena

tidak akan pernah pairing diantara keduanya

2. Password yang dimasukkan cocok

Modul BT yang banyak beredar di sini adalah modul HC-06 atau sejenisnya dan

modul HC-05 dan sejenisnya. Perbedaan utama adalah modul HC-06 tidak bisa mengganti

mode karena sudah diset oleh pabrik, selain itu tidak banyak AT Command dan fungsi

yang bisa dilakukan pada modul tersebut. Diantaranya hanya bisa mengganti nama, baud

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

19

rate dan password saja. Sedangkan untuk modul HC-05 memiliki kemampuan lebih yaitu

bisa diubah mode kerjanya menjadi Master atau Slave serta diakses dengan lebih banyak

AT Command, modul ini sangat direkomendasikan, terutama dengan flexibilitasnya dalam

pemilihan mode kerjanya. Dalam penelitian ini penulis akan menggunakan modul

Bluetooth seri HC-05[10].

2.4.2. Pengaturan HC-05 dengan AT-COMMAND

Pengaturan modul Bluetooth HC-05 dapat dilakukan dengan pengiriman AT-

Command. AT-Command adalah antarmuka perangkat lunak utama untuk modul nirkabel.

AT-Command menyediakan antarmuka untuk berinteraksi dengan modul untuk melakukan

berbagai tugas seperti mendapatkan informasi tentang modul Bluetooth, Menganti nama

devais modul, menganti kecepatan transmisi data dll Beberapa AT-Command yang

ditetapkan dalam spesifikasi adalah opsional. Dalam hal ini, pengiriman AT-Command

dilakukan melalui Arduino Uno. Untuk melakukan pengiriman AT-Command mode kerja

modul Bluetooth HC-05 perlu diubah dari mode transmisi data menjadi mode konfigurasi

dengan cara memberikan masukan high pada pin KEY pada modul Bluetooth HC-05.

Selain itu juga diperlukan beberapa wiring dan sedikit program pada Arduino Uno melalui

Arduino IDE. Pengiriman AT-Command dilakukan melalui serial monitor pada Arduino

IDE seperti yang terlihat pada Gambar 2.9.

Gambar 2.9. Pengaturan modul Bluetooth dengan AT-Command Melalui Arduino

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

20

2.5. Pemodelan Kinematika Dalam Sistem Robotik

Kinematika robot adalah studi analitis pergerakan lengan robot terhadap sistem

kerangka koordinat acuan yang diam/bergerak tanpa memperhatikan gaya yang

menyebabkan pergerakan tersebut. Model kinematika merepresentasikan hubungan end-

effector dalam ruang tiga dimensi dengan variabel sendi dalam ruang sendi. Persamaan

kinematika maju mendeskripsikan posisi dan orientasi end-effector yang dinyatakan dalam

posisi sendi. Sedangkan persamaan kinematika balik mendeskripsikan konfigurasi posisi

sendi untuk menghasilkan posisi dan orientasi end-effector tertentu.

Secara garis besar sistem robotik terdiri dari sistem kontroler, elektronik dan

mekanik. Dalam bentuk diagram blok dapat dinyatakan seperti dalam Gambar 2.10 berikut

ini.

Gambar 2.10. Diagram Sistem Robotik [11]

G(s) adalah fungsi alih pengendali, sedangkan H(s) adalah fungsi alih elemen

umpan balik untuk sistem robot secara fisik termasuk aktuator dan sistem elektroniknya.

Komponen ri adalah masukan acuan yang dalam penerapannya dapat berupa posisi,

kecepatan, dan percepatan. Dalam fungsi waktu, nilai masukan ini dapat bervariasi dan

kontinyu yang membentuk suatu konfigurasi trayektori. Komponen e adalah nilai galat

antara keluaran dan masukan acuan, sedangkan u adalah keluaran dari pengendali dan y

adalah fungsi gerak robot yang diharapkan selalu sama dengan acuan yang didefinisikan

pada masukan ri.

Jika masukan merupakan fungsi dari suatu koordinat vektor posisi dan orientasi

P(x,y,z) dan keluarannya adalah θ(θ1, θ2,…, θn) dimana n adalah jumlah sendi atau DOF,

maka Gambar 2.10 dapat digambar ulang seperti yang terlihat pada Gambar 2.11 berikut

ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

21

Gambar 2.11. Diagram Sistem Kontrol Robotik [11]

Dalam Gambar 2.11 di atas, keluaran yang diukur dari gerakan robot adalah dalam

domain sudut dari sendi-sendi, baik sendi pada sistem tangan/kaki atau sudut dari

perputaran roda jika robot tersebut adalah mobile robot. Sedangkan yang diperlukan oleh

pengguna dalam pemrograman atau dalam pemetaan ruang kerja robot adalah posisi (ujung

tangan atau titik tertentu pada bagian robot) yang dinyatakan sebagai koordinat 2D

(kartesian) atau 3D. Dengan demikian perlu dilakukan transformasi koordinat antara ruang

kartesian dengan ruang sendi/sudut ini. Pada Gambar 2.12 dinyatakan sebagai kinematika

balik dan kinematika maju. Kombinasi antara transformasi koordinat P ke θ dengan

pengendali G(s) disebut sebagai pengendali kinematika. Masukannya berupa sinyal galat

P, ep, sedangkan keluarannya adalah sinyal kemudi u untuk aktuator. Dalam konteks

praktis, u adalah sinyal sinyal analog dari DAC untuk seluruh aktuator robot.

2.5.1. Konsep Kinematika

Dari Gambar 2.11, pengendali dinyatakan sebagai pengendali kinematik karena

mengandung komponen transformasi ruang kartesian ke ruang sendi. Dengan demikian

diperoleh keluaran pengendali u yang bekerja dalam ruang sendi, u(θ1, θ2,…, θn).

Sebaliknya, pengendali memerlukan umpan balik dalam bentuk koordinat karena acuan

diberikan dalam bentuk koordinat. Penjelasan ini dapat diilustrasikan dalam Gambar 2.12

berikut ini.

Gambar 2.12. Transformasi Kinematik Maju dan Kinematik Balik [11]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

22

Dari Gambar 2.12 dapat diperoleh dua pernyataan mendasar, yaitu:

• Jika jari-jari r dan θ dari suatu struktur robot n-DOF diketahui, maka posisi P(x,y,z)

dapat dihitung. Jika θ merupakan sebuah fungsi berdasarkan waktu θ(t), maka posisi

dan orientasi P(t) dapat dihitung juga secara pasti. Transformasi koordinat ini dikenal

sebagai kinematika maju.

• Jika posisi dan orientasi P(t) diketahui maka, θ(t) tidak langsung dapat dihitung tanpa

mendefinisikan berapa DOF struktur robot itu. Jumlah sendi n dari n-DOF yang

dapat dibuat untuk melaksanakan tugas sesuai dengan posisi dan orientasi P(t) itu

dapat bernilai n=(m,m+1, m+2,…,m+p) dimana m adalah jumlah sendi minimum

dan p adalah jumlah sendi yang dapat ditambahkan. Robot berstruktur m-DOF

disebut dengan robot nonredundant, sedang bila (m+p)-DOF maka disebut sebagai

robot redundant. Transformasi ini dikenal sebagai kinematika balik (Invers

Kinematics).

Dari pernyataan di atas nampak bahwa analisis kinematika maju adalah relatif

sederhana dan mudah diimplementasikan. Di sisi lain, karena variabel-variabel bebas pada

robot yang diperlukan dalam akusisi kendali adalah berupa variabel-variabel sendi

(aktuator), sedang tugas yang didefinisikan hampir selalu dalam acuan koordinat kartesian,

maka analisis kinematika balik lebih sering digunakan dan dikaji secara mendalam dalam

dunia robotik. Jadi, kinematik dalam robotik adalah suatu bentuk pernyataan yang berisi

tentang deskripsi matematik geometri dari suatu struktur robot. Dari persamaan kinematik

dapat diperoleh hubungan antara konsep geometri ruang sendi pada robot dengan konsep

koordinat yang biasa dipakai untuk menentukan kedudukan dari suatu obyek.

Model kinematik robot dapat dibedakan dalam dua kelompok model pergerakan, yaitu :

1. Holonomic

2. Nonholonomic

Gerakan holonomic dapat diumpamakan seperti sedang menulis dengan

menggunakan pensil atau pulpen (ballpoint) di atas kertas. Ujung pensil atau pulpen dapat

bergerak kesegala arah dipermukaan kertas sesuai keinginan. Gerak ujung pensil atau

pulpen tersebut disebut sebagai gerak holonomic. Dalam robotik dapat diambil contoh

misalnya robot manipulator.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

23

Gambar 2.13. Gerakan Holonomic [11]

Berbeda dengan gerak nonholonomic. Ujung atau suatu titik yang memiliki sifat

nonholonomic mempunyai keterbatasan dalam arah gerakan. Gerak nonholonomic dapat

diilustrasikan seperti menggoreskan ujung pisau atau cutter ke atas permukaan kayu. Arah

gerak nonholonomic ini dibatasi oleh efek sentuhan ujung pipih yang menempel pada

permukaan kayu, sehingga tidak dapat bergerak dengan bebas ke kiri atau ke kanan tanpa

mengikuti arah sisi yang tajam. Jika diinginkan gerakan melengkung ataupun sudut tajam

terlebih dahulu harus mengarahkan sisi pisau yang tajam ke arah yang segaris dengan arah

gerak yang diinginkan. Contoh klasik kinematik dalam robotik yang memiliki sifat

nonholonomic adalah sistem penggerak dua roda kanan kiri pada mobile robot dengan satu

atau lebih roda bebas ( castor ) untuk menjaga keseimbangan.

Gambar 2.14. Gerakan Nonholonomic [11]

Gambar 2.15. Gerakan Holonomic dan Nonholonomic [11]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

24

2.5.2. Penggunaan Persamaan Trigonometri

Analisis persamaan kinematik dapat diselesaikan dengan cara paling dasar yaitu

menggunakan persamaan trigonometri. Setiap komponen dalam koordinat (x, y, z)

dinyatakan sebagai transformasi dari tiap-tiap komponen ruang sendi(r, θ). Jari-jari r dalam

persamaan sering dituliskan sebagai panjang lengan atau link l. Untuk koordinat 2D

komponen z tidak dapat dituliskan. Pada robot manipulator dapat dianalisis mulai dari satu

sendi hingga tiga sendi.

Analisis kinematik lengan robot dengan satu sendi, yaitu

Gambar 2.16. Konfigurasi Lengan Robot Satu Sendi [11]

Kedudukan ujung lengan 𝑃𝑃(𝑥𝑥,𝑦𝑦) dapat diperoleh dengan cara kinematik balik atau

invers kinematics sebagai berikut,

𝜃𝜃 = tan−1(yx) (2.1)

Analisis kinematik lengan robot dengan dua sendi, yaitu

Gambar 2.17. Konfigurasi Lengan Robot Dua Sendi [11]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

25

Kedudukan ujung lengan dinyatakan sebagai 𝑃𝑃(𝑥𝑥,𝑦𝑦) sebagai berikut,

𝑃𝑃(𝑥𝑥,𝑦𝑦) = 𝑓𝑓( 𝜃𝜃1,𝜃𝜃2 ) ( 2.2 )

Jika P diasumsikan sebagai vektor penjumlahan yang terdiri dari vektor r1 lengan-1 dan r2 lengan r2, yaitu :

𝑟𝑟1 = [𝑙𝑙1 cos 𝜃𝜃1 , 𝑙𝑙1 sin 𝜃𝜃1] ( 2.3 )

𝑟𝑟2 = [𝑙𝑙2 cos(𝜃𝜃1 + 𝜃𝜃2) , 𝑙𝑙2 sin(𝜃𝜃1 + 𝜃𝜃2)] ( 2.4 )

Maka,

𝑥𝑥 = 𝑙𝑙1 cos 𝜃𝜃1 + 𝑙𝑙2 cos(𝜃𝜃1 + 𝜃𝜃2) ( 2.5 )

𝑦𝑦 = 𝑙𝑙1 sin 𝜃𝜃1 + 𝑙𝑙2 sin(𝜃𝜃1 + 𝜃𝜃2) ( 2.6 )

Kinematika balik lengan robot dapat dijabarkan sebagai berikut. Dengan

menggunakan hukum identitas trigonometri,

cos (𝑎𝑎 + 𝑏𝑏) = cos(𝑎𝑎) cos(𝑏𝑏) − sin(𝑎𝑎) sin(𝑏𝑏) (2.7)

sin (𝑎𝑎 + 𝑏𝑏) = sin(𝑎𝑎) cos(𝑏𝑏) + sin(𝑏𝑏) cos(𝑎𝑎) (2.8)

Persamaan (2.5) dan (2.6) dapat ditulis kembali,

𝑥𝑥 = 𝑙𝑙1 cos𝜃𝜃1 + 𝑙𝑙2 cos𝜃𝜃1 cos 𝜃𝜃2 − 𝑙𝑙2 sin𝜃𝜃1 sin 𝜃𝜃2 (2.9)

𝑦𝑦 = 𝑙𝑙1 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃1 + 𝑙𝑙2 sin𝜃𝜃1 cos 𝜃𝜃2 + 𝑙𝑙2 cos 𝜃𝜃1 sin 𝜃𝜃2 (2.10)

Dari dua persamaan terakhir ini kita dapat mencari 𝜃𝜃2 terlebih dahulu dengan

mengeluarkan cos 𝜃𝜃2 dari kedua persamaan. Dengan operasi pangkat dua pada kedua nya,

dan dikombinasikan diperoleh,

𝑐𝑐𝑐𝑐𝑠𝑠 𝜃𝜃2 = 𝑥𝑥2+𝑦𝑦2−𝑙𝑙12−𝑙𝑙22

2𝑙𝑙1𝑙𝑙2 (2.11)

Sehingga,

𝜃𝜃2 = arccos(𝑥𝑥2+𝑦𝑦2−𝑙𝑙12−𝑙𝑙22

2𝑙𝑙1𝑙𝑙2) (2.12)

Perhatikan kembali Gambar 2.17. Sudut 𝜃𝜃1 dapat dicari melalui,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

26

tan𝛼𝛼 = 𝑙𝑙2 sin 𝜃𝜃2𝑙𝑙2 cos 𝜃𝜃2+𝑙𝑙1

dan (2.13)

tan𝛽𝛽 = 𝑦𝑦𝑥𝑥

(2.14)

Sedangkan,

𝜃𝜃1 = 𝛽𝛽 − 𝛼𝛼 (2.15)

Dengan menggunakan hukum identitas trigonometri,

tan(𝑎𝑎 − 𝑏𝑏) = tan (𝑎𝑎)− tan(𝑏𝑏)1+tan (𝑎𝑎) tan (𝑏𝑏)

(2.16)

Didapat

tan 𝜃𝜃1 = (y(𝑙𝑙1+𝑙𝑙2 cos θ2) – x .𝑙𝑙2 sinθ2x(𝑙𝑙1+𝑙𝑙2 cosθ2) + y .𝑙𝑙2 sinθ2

) (2.17)

Sehingga 𝜃𝜃1 dapat dihitung,

𝜃𝜃1 = arctan(y(𝑙𝑙1+𝑙𝑙2 cos θ2) – x .𝑙𝑙2 sin θ2x(𝑙𝑙1+𝑙𝑙2 cos θ2) + y .𝑙𝑙2 sin θ2

) (2.18)

Alhasil, Persamaan (2.12) dan (2.18) adalah persamaan kinematika balik bagi lengan robot

dua sendi.

Analisis kinematik lengan robot dengan tiga sendi, yaitu

Gambar 2.18. Konfigurasi Lengan Robot Tiga Sendi [11]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

27

Dengan cara analisis kinematik balik yang sama seperti pada persamaan (2.3)

hingga (2.8) koordinat 𝑃𝑃(𝑥𝑥𝑇𝑇 ,𝑦𝑦𝑇𝑇) dapat diperoleh,

𝑥𝑥𝑇𝑇 = 𝑙𝑙1 cos 𝜃𝜃1 + 𝑙𝑙2 cos(𝜃𝜃1 + 𝜃𝜃2) + 𝑙𝑙3 cos(𝜃𝜃1 + 𝜃𝜃2 + 𝜃𝜃3) (2.19)

𝑦𝑦𝑇𝑇 = 𝑙𝑙1 sin𝜃𝜃1 + 𝑙𝑙2 sin(𝜃𝜃1 + 𝜃𝜃2) + 𝑙𝑙3 sin(𝜃𝜃1 + 𝜃𝜃2 + 𝜃𝜃3) (2.20)

Dengan

𝛹𝛹 = (𝜃𝜃1 + 𝜃𝜃2 + 𝜃𝜃3) (2.21)

Dimana, 𝛹𝛹 adalah sudut arah hadap lengan-3 terhadap sumbu X. Sehingga, jika

(𝑥𝑥𝑇𝑇 ,𝑦𝑦𝑇𝑇) dan (𝑥𝑥,𝑦𝑦) diketahui maka 𝜃𝜃2 dan 𝜃𝜃1 dapat dicari dengan menggunakan

Persamaan (2.12) dan (2.18). Dari (𝑥𝑥𝑇𝑇 , 𝑦𝑦𝑇𝑇) dan (𝑥𝑥, 𝑦𝑦), 𝛹𝛹 juga dapat dicari, sehingga 𝜃𝜃3

dapat ditentukan[11].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB III

PERANCANGAN SISTEM Bab ini menjelaskan mengenai perancangan purwarupa lengan robot dengan 4 Degree

Of Freedom (DOF) yang dikontrol dari Android berbasis Arduino. Perancangan sistem yang

akan dibahas pada bab ini terdiri dari dua bagian, yaitu perangkat keras (hardware) dan

perangkat lunak (software). Perancangan sistem yang dibahas dalam bab ini terbagi dalam

tiga bagian besar, yaitu:

a. Proses Kerja Sistem.

b. Perancangan perangkat keras

- Perancangan lengan robot.

- Rangkaian pengendali utama dan motor servo.

c. Perancangan perangkat lunak

- Diagram Alir Utama.

- Perangkat lunak pengendali utama dengan Arduino IDE.

- Perangkat lunak antarmuka dengan Android.

3.1. Proses Kerja Sistem Gambar 3.1. merupakan blok diagram sistem. Pada blok diagram tersebut,

perangkat keras yang akan dibuat terdiri dari lima bagian, yaitu sistem dari sistem operasi

Android, Modul Bluetooth HC-05, Arduino Mega 2560, Servo Controller, dan Motor RC

Servo. Rangkaian kontroler Arduino Mega 2560 pada prinsipnya akan menerima data yang

dikirimkan dari sistem operasi Android melalui Bluetooth yang akan diolah oleh modul

Bluetooth HC-05 yang terhubung secara serial dengan Arduino Mega 2560.

Data yang diterima oleh kontroler Arduino Mega 2560 tersebut akan diolah.

Selanjutnya rangkaian kontroler Arduino Mega 2560 memberikan instruksi pada Motor RC

Servo yang dikendalikan oleh Servo Controller.

28

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

29

Modul Bluetooth

HC-05

Arduino Mega 2560

RC-Servo(Sendi 1)

RC-Servo(Sendi 2)

RC-Servo(Sendi 3)

RC-Servo(Sendi 4)

SO AndroidBT

Servo Controller

Gambar 3.1. Blok Diagram Sistem

3.2. Perancangan Perangkat Keras ( Hardware )

3.2.1. Desain Lengan Robot Gambar 3.2. merupakan gambar keseluruhan design 3D lengan robot menulis kata

berbasis mikrokontroler arduino. Lengan robot ini disusun dengan 5 bagian utama sebagai

aktuator yang akan digerakkan dengan motor RC servo. Kelima bagian utama ini disebut

sebagai penghubung atau link, yang meliputi :

1. Base (bagian dasar)

2. Shoulder (bagian bahu)

3. Elbow (bagian siku)

4. Pitch (bagian pergelangan)

5. End-Effector (bagian ujung yang diberi spidol)

Sedangkan bagian yang berperan sebagai penggerak (sendi) berdasarkan gerakkan

motor RC servo disebut sebagai joint.

Gambar 3.2. Tampilan Desain Gambar 3D Lengan Robot Menulis Kata

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

30

Gambar 3.3. merupakan design 3D bagian dasar (base) yang berbentuk lingkaran

berdiameter 25cm. Bagian ini terhubung dengan sebuah as yang memanjang ke bawah dan

mempunyai roda gigi. Roda gigi pada as berhubungan dengan roda gigi pada sebuah motor

RC servo yang digunakan sebagai penggerak. Base bergerak secara rotasi dan dapat

menyebabkan perubahan posisi pada lengan-lengan penghubung yang lain.

Gambar 3.3. Bagian Base dan Penggeraknya

Gambar 3.4. merupakan dimensi dari lengan robot dimana bagian shoulder

memiliki panjang lengan 18cm dan bergerak secara rotasi dengan 2 buah motor RC servo.

Bagian elbow memiliki panjang lengan 12cm dan bergerak secara rotasi dengan sebuah

motor RC servo. Bagian pitch memiliki panjang lengan 5cm dan bergerak secara rotasi

dengan sebuah motor RC servo. Bagian end-effector adalah bagian yang digunakan untuk

mencekam spidol. Panjang end-effector sampai pada ujung spidol memiliki panjang 10cm.

Total keseluruhan panjang lengan robot dari pangkal shoulder sampai pada ujung spidol

adalah 45cm. Besarnya dimensi berupa panjang yang dimiliki oleh keseluruhan

penghubung (link) menentukan kemampuan sebagai jangkauan lengan robot ketika

melakukan gerakkan.

Gambar 3.4. Dimensi Lengan Robot

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

31

Bagian yang berperan sebagai penggerak adalah sendi (joint) terhubung langsung

dengan motor RC servo. Gerakkan yang terjadi pada joint di setiap bagian pangkal dari

link adalah rotasi. Gerakkan secara rotasi menyebabkan adanya perbedaan besarnya sudut-

sudut yang terjadi pada setiap penghubung (link) dari titik acuan awal yaitu pada bagian

pangkal dari bahu (shoulder).

(a) (b)

Gambar 3.5. (a) Desain 3D End-Effector Lengan Robot. (b) Desain 3D Whiteboard

Gambar 3.5.a adalah desain 3D end-effector dari prototipe lengan robot yang akan

dibuat. Berfungsi sebagai tempat menaruh spidol yang akan digunakan untuk menulis.

Bagian ini akan ditempelkan pada bagian ujung dari lengan 3 pada lengan robot dengan

bantuan 2 buah baut untuk mengunci end-effector dengan lengan 3. Gambar 3.5.b adalah

desain dari whiteboard yang akan digabung dengan meja.

Lengan robot menulis kata ini menggunakan motor RC servo sebanyak 5 buah.

Pemilihan motor RC servo yang digunakan pada setiap joint berdasarkan pada kemampuan

yang harus dimiliki setiap joint untuk mengangkat beban. Beban dapat berupa berat lengan

(link). Kemampuan motor untuk berputar dengan suatu beban merupakan gaya putar yang

disebut torsi (torque). Berikut ini perkiraan berat lengan penghubung (link) pada

perancangan lengan robot:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

32

Tabel 3.1. Tabel Perkiraan Berat Lengan dan Beban yang Diangkat Lengan

NO. Lengan Penghubung (link) Perkiraan Berat setiap lengan

Beban yang diangkat setiap

lengan

1. End-Effector 200gr 200gr

2. Pitch 120gr 320gr

3. Elbow 200gr 520gr

4. Shoulder 500gr 1020gr

5. Base 200gr 200gr

Pada tabel 3.1. untuk perkiraan berat setiap lengan merupakan total berat dari

material lengan dan motor RC servo yang menempel pada lengan. Sedangkan pada kolom

beban yang diangkat setiap lengan merupakan penjumlahan berat dari keseluruhan beban

yang harus diangkat oleh setiap lengan. Perancangan mekanik untuk desain lengan robot

menulis kata menggunakan material aluminium karena ringan dan mudah dikerjakan. Pada

tabel 3.1. bagian base diasumsikan memiliki berat yang ringan walaupun terletak paling

dasar karena bagian base tidak terbebani oleh berat keseluruhan dari prototype lengan

robot karena seluruh lengan robot sudah ditopang oleh empat buah tiang penyangga.Pada

perancangan mekanik motor RC servo yang digunakan hanya untuk memutar bagian base

yang memiliki torsi yang tidak terlalu besar yaitu diperkirakan sebesar 10 kgf.cm.

Pada bagian pitch beban yang harus diangkat adalah 320gram karena bagian pitch

selain mengangkat lengannya sendiri juga harus mengangkat seluruh bagian end-effector.

Bagian pitch memiliki panjang 5 cm dan bagian end-effector sampai ujung spidol memiliki

panjang 10 cm, sehingga panjang lengan yang harus diangkat adalah 15 cm. Berikut adalah

perhitungan untuk merancang torsi pada bagian pitch :

m = 320gram = 0,32 kg

r = 15 cm

F = m x a = 0,32 kg x 10 m/s2 = 3,2 N = 3,2 Kg m/s2

3,2 N x 0,102 = 0,3264 Kg

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

33

τ = F × r = 0,3264 Kg × 15 cm = 4,896 Kg.cm

Pada bagian elbow beban yang harus diangkat adalah 520 gram, sedangkan panjang

lengan yang harus diangkat motor RC servo adalah 27 cm yang dihitung dari panjang

lengan elbow, panjang lengan pitch dan panjang end-effector. Kebutuhan torsi motor RC

servo pada perancangan lengan robot :

m = 520gram = 0,52 kg

r = 27 cm

F = m x a = 0,52 kg x 10 m/s2 = 5,2 N = 5,2 Kg m/s2

5,2 N x 0,102 = 0,5304 Kg

τ = F × r = 0,5304 Kg × 27 cm = 14,3208 Kg.cm

Pada bagian shoulder beban yang harus diangkat adalah 1020 gram, sedangkan

panjang lengan yang harus diangkat motor RC servo adalah 45 cm yang dihitung dari

panjang lengan shoulder, panjang lengan elbow, panjang lengan pitch dan panjang end-

effector. Kebutuhan torsi motor RC servo pada perancangan lengan robot :

m = 1020 gram = 1,020 kg

r = 45 cm

F = m x a = 1,020 kg x 10 m/s2 = 10,20 N = 10,20 Kg m/s2

10,20 N x 0,102 = 1,0404 Kg

τ = F × r = 1,0404 Kg × 45 cm = 46,818 Kg.cm

Berdasarkan perhitungan kebutuhan torsi pada bagian shoulder memang

menunjukkan torsi yang dibutuhkan sangat besar. Hal tersebut akan membuat kesulitan

tersendiri dalam mencari motor RC servo dengan torsi yang sangat besar. Oleh sebab itu,

pada bagian shoulder perancangan menggunakan 2 buah motor RC servo dengan torsi

lebih besar dari 23,409 Kg.cm (46,818 Kg.cm : 2 = 23,409 Kg.cm) yang akan dipasang

pada shoulder 1 dan shoulder 2.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

34

Gambar 3.6. Desain 3D Keseluruhan Prototipe Lengan Robot

Pada gambar 3.6. merupakan tampilan desain 3D lengan robot. Lengan robot

tersebut memiliki 3 buah sumbu koordinat, yaitu X, Y, dan Z. Koordinat tersebut berguna

untuk mengetahui posisi dari end point lengan robot tersebut.

Desain lengan robot ini dikendalikan oleh motor servo yang memiliki gerakan yang

terbatas. Motor servo yang digunakan memiliki batas putar. Batas putar motor servo

tersebut adalah 1800 . Tetapi sudut yang digunakan pada lengan robot tidak digunakan

pada posisi maksimal. Sudut yang digunakan disesuaikan dengan sudut maksimal pada

lengan robot. Sudut maksimal yang dapat di jangkau oleh lengan robot sebagai berikut :

Tabel 3.2. Tabel Perkiraan Panjang Lengan dan Sudut Maksimal yang Dapat Dijangkau

NO. Lengan Penghubung (link) Panjang lengan Sudut maksimal yang

dapat dijangkau

1. Gripper + benda 10cm 1800

2. Pitch 5cm 1800

3. Elbow 12cm 1800

4. Shoulder 18cm 1800

5. Base ( berputar pada poros ) 0cm 900

Pada analisis kinematika lengan robot ( robot manipulator ) secara geometri akan

menggunakan pendekatan trigonometri dan pitagoras segitiga, tetapi hal tersebut hanya

z x

y

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

35

dapat dilakukan pada bidang 2D. Kinematika lengan robot tersebut dapat dianalisis secara

2D tetapi dilakukan dengan cara melakukan analisis tersebut dari 2 pandangan yang

berbeda. Pandangan yang digunakan adalah pandangan atas dan pandangan samping. Dari

pandangan atas dapat dianalisis koordianat X dan Y. Pada pandangan samping dapat

dianalisis koordianat X dan Z.

Gambar 3.7. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Atas

Gambar 3.8. Desain 3D Keseluruhan Prototipe Lengan Robot Tampak Samping

Berdasarkan Gambar 3.7. dan Gambar 3.8. diatas, dapat dilakukan pencarian nilai

dari sudut joint (𝜃𝜃1,𝜃𝜃2,𝜃𝜃3,𝑑𝑑𝑑𝑑𝑑𝑑 𝜃𝜃4) satu per satu. Langkah pertama yang akan dilakukan

adalah mencari nilai sudut 𝜃𝜃1. Untuk mempermudah perhitungan, maka lengan robot

digambarkan sumbu X, Y, dan Z. Berdasarkan wilayah pergerakannya, sudut 𝜃𝜃1 bergerak

di wilayah horisontal atau berada pada sumbu X dan Y, sedangkan sumbu Z tidak

Y

X

Z

X

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

36

berpengaruh pada pergerakan sudut 𝜃𝜃1. Hal ini dikarenakan rotasi sudut 𝜃𝜃1 searah dengan

sumbu Z. Maka dari itu, saat lengan robot tersebut dipandang dari atas, dapat dianalogikan

seperti lengan robot satu sendi, sehingga nilai sudut 𝜃𝜃1 dapat dicari dengan persamaan 2.2.

Apabila dilihat dengan sudut pandang 2D, maka:

Gambar 3.9. Desain 2D Sederhana Lengan Robot Tampak Atas

Dari Gambar 3.9. diperoleh nilai Px dan Py. Dari kedua nilai tersebut dapat

diperoleh nilai sudut 𝜃𝜃1 dengan menerapkan persamaan 2.2. Berdasarkan persamaan 2.2

maka nilai sudut 𝜃𝜃1 sebagai berikut :

Diketahui :

Px = 30 cm

Py = 15 cm

Berdasarkan persamaan 2.2 maka diperoleh sudut 𝜃𝜃1 sebagai berikut :

𝜃𝜃1 = arctan(3015

)

𝜃𝜃1 = 63,43° Setelah mendapatkan nilai sudut 𝜃𝜃1, maka langkah selanjutnya adalah mencari nilai

sudut 𝜃𝜃2, nilai sudut 𝜃𝜃3, serta nilai sudut 𝜃𝜃4. Berdasarkan Gambar 3.10. sudut 𝜃𝜃2, sudut 𝜃𝜃3,

serta sudut 𝜃𝜃4 berada di wilayah pergerakan yang sama, yaitu wilayah vertical. Sehingga

ketiga sudut tersebut akan saling mempengaruhi. Hal ini mengakibatkan pentingnya

menentukan nilai sudut mana yang akan dihitung terlebih dahulu. Pada awal perancangan

sudah ditetapkan bahwa lengan 3 dan end-effector akan selalu tegak lurus terhadap bidang

horisontal atau XY. Oleh karena itu, untuk mempermudah perhitungan maka nilai sudut 𝜃𝜃4

𝜃𝜃1

𝑙𝑙

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

37

akan ditetapkan sebelumnya dan untuk mencari nilai sudut yang lainnya akan dimulai dari

sudut yang berada lebih dekat dengan end-effector. Yakni, sudut 𝜃𝜃3 kemudian sudut 𝜃𝜃2.

Gambar 3.10. Desain 2D Sederhana Lengan Robot Tampak Samping

Dari Gambar 3.10. diperoleh nilai x dan z serta panjang lengan 1, lengan 2, dan

lengan 3 yang sebelumnya telah ditentukan. Dari komponen-komponen tersebut dapat

diperoleh nilai sudut 𝜃𝜃3, serta sudut 𝜃𝜃2 dengan menerapkan persamaan 2.13 dan persamaan

2.19. Berdasarkan persamaan 2.13 maka nilai sudut 𝜃𝜃3 sebagai berikut :

Diketahui :

x = 20 cm

z = 6 cm

𝑙𝑙1 = 18 cm

𝑙𝑙2 = 12 cm

Mencari nilai sudut 𝜃𝜃3 berdasarkan persamaan 2.13 maka diperoleh sebagai berikut:

𝜃𝜃3 = arccos(202+62−182−122

2𝑥𝑥18𝑥𝑥12)

𝜃𝜃3 = 94,24°

Dikarenakan posisi lengan 2 berada dibawah garis perpanjangan lengan 1 yang

berada pada sudut 0°, maka nilai sudut dari 𝜃𝜃3 menjadi negatif.sehingga nilai sudut 𝜃𝜃3

menjadi -94,240.

Berdasarkan persamaan 2.19 maka nilai sudut 𝜃𝜃2 sebagai berikut :

Diketahui :

x = 20 cm

z = 6 cm

𝑙𝑙1 = 18 cm

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

38

𝑙𝑙2 = 12 cm

Mencari nilai sudut 𝜃𝜃2 berdasarkan persamaan 2.19 maka diperoleh sebagai berikut:

𝜃𝜃2 = arctan(6(18+12 cos θ3) – 20 x 12 sin θ320(18+12 cos θ3) + 6 x 12 sin θ3

)

𝜃𝜃2 = 51,66° Berdasarkan persamaan 2.22 maka nilai sudut 𝜃𝜃4 sebagai berikut :

Diketahui :

𝜃𝜃2 = 51,66°

𝜃𝜃3 = −94,24°

𝜓𝜓 = 180°

Mencari nilai sudut 𝜃𝜃4 berdasarkan persamaan 2.22 maka diperoleh sebagai berikut:

𝜃𝜃4 = −94,24° − 51,66° + 180°

𝜃𝜃4 = 34,1°

Sebuah kata terdiri dari beberapa huruf, maka dari itu dalam menulis sebuah kata

lengan robot akan menulis satu per satu huruf. Dalam penelitian ini huruf yang digunakan

adalah huruf kapital dengan jenis huruf seperti fourteen-segment. Dimana dalam setiap

huruf tersebut terdiri dari beberapa titik acuan. Gambar 3.11. merupakan contoh beberapa

titik acuan di tiap huruf dan ukuran huruf dalam menulis kata dengan jarak spasi 1cm.

Gambar 3.12. merupakan bentuk keseluruhan huruf beserta titik acuannya. Titik acuan ini

yang akan dituju oleh end-effector dari lengan robot tersebut dan antar titik acuan akan

saling terhubung dengan bantuan spidol yang berada pada end-effector dan menempel di

whiteboard yang sekaligus akan membentuk garis antar titik acuan. Kemudian, kumpulan

garis-garis antar titik acuan ini akan membentuk sebuah huruf. Dalam mencapai satu titik

acuan dibutuhkan nilai-nilai sudut dari setiap sendi pada lengan robot tersebut. Maka dari

itu, dalam mencari nilai-nilai sudut tersebut dapat dilakukan dengan cara seperti diatas

yang berdasarkan persamaan-persamaan analisa kinematika balik sebelumnya.

Gambar 3.11. Contoh Beberapa Titik Acuan di tiap Huruf serta Dimensi Huruf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

39

Gambar 3.12. Bentuk Keseluruhan Huruf Beserta Titik Acuannya.

3.2.2. Perancangan Pengendali Utama Rangkaian pengendali utama berfungsi untuk mengontrol gerakan lengan robot.

Pengendali tersebut terdiri dari Arduino Mega 2560, Modul Bluetooth HC-05 dan Servo

Controller. Seperti Gambar 3.13. Arduino Mega 2560 dan modul Bluetooth HC-05

dihubungkan dengan cara komunikasi serial. Pin Tx pada modul Bluetooth HC-05

dihubungkan pada pin nomor 10 pada Arduino Mega 2560, kemudian pin Rx pada modul

Bluetooth HC-05 dihubungan pada pin nomor 11 di Arduino Mega 2560 dimana pin nomor

10 dan 11 pada Arduino sudah diatur sebagai komunikasi serial pada software. Selain itu

Arduino Mega 2560 dikomunikasikan dengan Servo Controller. Komunikasi tersebut

menggunakan komunikasi I2C, komunikasi tersebut memanfaatkan pin SDA dan SCL pada

Arduino Mega 2560 dan pada Servo Controller. Komunikasi I2C dipilih agar pengiriman

data lebih cepat.

Servo Controller tersebut dapat menggerakkan 16 servo secara bersamaan atau

sekuensial. Servo controller tersebut menggunakan sumber tegangan yang terpisah dengan

Arduino.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

40

Gambar 3.13. Rangkaian Keseluruhan Sistem

3.2.3. Perancangan Rangkaian Motor Servo Aktuator yang digunakan adalah motor servo. Motor servo yang digunakan

berjumlah 5 buah terdiri dari 1 buah untuk menggerakkan base, 2 buah untuk

menggerakkan lengan 1, 1 buah untuk menggerakkan lengan 2 dan 1 buah untuk

menggerakkan lengan 3.

Gambar 3.14. Gambar Rangkaian Servo Controller

Rangkaian Motor servo tersebut akan dihubungkan secara langsung dengan Servo

Controller seperti terlihat di Gambar 3.14. Motor servo tersebut digerakkan dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

41

menggunakan Servo Controller yang dihubungkan dengan Arduino Mega 2560. Servo

Controller dengan Arduino Mega 2560 yang dihubungkan dengan komunikasi I2C melalui

port SDA dan SCL. Port tersebut digunakan untuk transfer data serial antara Servo

Controller dengan Arduino Mega 2560. Sehingga pada saat Arduino Mega 2560

memberikan perintah tertentu pada Servo Controller. Maka Servo Controller akan

langsung melakukan perintah yang diberikan untuk menggerakkan moto servo tersebut.

3.3. Perancangan Perangkat Lunak ( Software )

3.3.1. Diagram Alir Android Mulai

Aktifkan Bluetooth pada Android

Selesai

Hubungkan dengan Bluetooth

HC-05

Pairing dan Paired

Buka Aplikasi Arduino Bluetooth

Terminal

Hubungkan dengan Bluetooth

HC-05

Terhubung

Sudah terhubung?

Ya

Tidak

Gambar 3.15. Diagram Alir Android

Gambar 3.15. merupakan diagram alir untuk sistem pada android. Dimana

Bluetooth pada Android dihubungkan dengan modul Bluetooth HC-05. Setelah Bluetooth

dari Android terhubung dengan modul Bluetooth HC-05, kemudian hubungkan aplikasi

Android Bluetooth Terminal dengan modul Bluetooth HC-05.Setelah proses ini android

telah siap untuk mengirimkan data ke mikrokontroler.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

42

3.3.2. Diagram Alir Robot Menulis Kata Mulai

Inisialisasi Port

Robot bergerak ke posisi home

Karakter 1? Karakter 6?

Masukkan karakter ke

berapa?

Data diterima oleh mikro

Input huruf

Input huruf

Apakah huruf A.....Z?

Apakah huruf A.....Z?

Ambil data huruf

Kirim data dari mikro ke servo

controller

Servo Bergerak

Ambil data huruf

Kirim data dari mikro ke servo

controller

Servo Bergerak

Robot bergerak ke posisi home

Selesai

Ya Ya

Tidak Tidak

Ya Ya

Tidak

Tidak

Gambar 3.16. Diagram Alir Program Menulis Kata

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

43

Gambar 3.16. merupakan diagram alir lengan robot dalam menulis huruf yang

digabungkan menjadi sebuah kata. Data yang diterima oleh mikrokontroler dari Android

akan diolah untuk mengetahui karakter ke berapa dan huruf yang diinginkan. Kemudian

apabila huruf yang dikirimkan telah diketahui, maka mikrokontroler akan mencari data

huruf tersebut. Dimana data huruf tersebut berisikan pergerakan motor servo dalam

menulis satu huruf yang telah tersimpan di program. Setelah data huruf itu ditemukan,

mikrokontroler akan melanjutkan data tersebut ke Servo Controller untuk dieksekusi.

Setelah satu huruf terpenuhi, maka lengan robot akan kembali menuju posisi aman dan

menunggu masukkan selanjutnya.Kemudian, apabila sudah selesai dan tidak ingin

melanjutkan robot akan kembali ke posisi home.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini hasil implementasi alat beserta pembahasan dibagi menjadi dua bagian

yaitu hasil perancangan pada perangkat keras (Hardware) dan hasil perancangan pada

perangkat lunak (Software). Hasil implementasi lengan robot menulis kata yang

dikendalikan oleh aplikasi pada android ini secara keseluruhan sudah sesuai dengan

perancangan pada BAB III.

4.1. Hasil Perancangan Perangkat Keras Hasil perancangan perangkat keras pada lengan robot menulis kata yang

dikendalikan oleh aplikasi pada android ini terdiri atas tiga bagian, diantaranya adalah

papan untuk menulis, mekanik lengan robot dan rangkaian pengendali pada lengan robot.

Gambar 4.1. merupakan bentuk keseluruhan lengan robot menulis kata yang dikendalikan

oleh aplikasi pada android.

Gambar 4.1. Keseluruhan Bentuk Lengan Robot Menulis Kata

1

2

3

4

5

6

Keterangan :

1. Bagian Papan untuk menulis

2. Bagian Pitch dan End Effector

3. Bagian Elbow 4. Bagian Shoulder 5. Bagian Base 6. Rangkaian pengendali

lengan robot

44

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

45

Gambar 4.2. merupakan motor servo yang digunakan untuk menggerakkan bagian

shoulder, elbow, dan pitch yang disambung dengan end effector. Bagian shoulder

menggunakan dua buah servo Hitec HS-805MG Mega Giant Scale yang mempunyai torsi

19,8 - 24,7 kg/cm pada kondisi tegangan 4,8 - 6 volt dan menggunakan metal gear. Bagian

elbow menggunakan sebuah servo FeeTech FT5316M yang mempunyai torsi 14,4 - 15,5

kg/cm pada kondisi tegangan 4,8 - 6 volt dan menggunakan metal gear. Pada bagian pitch

menggunakan sebuah servo Hitech HS-645MG Ultra Torque yang mempunyai torsi 8 – 10

kg/cm pada kondisi tegangan 4,8 – 6 volt dan menggunakan metal gear.

Gambar 4.2. Motor Servo Sebagai Penggerak Lengan Robot

Selain itu, motor servo juga digunakan untuk menggerakkan bagian base. Motor

servo tersebut telah disambung dengan transmisi roda gigi dengan rasio 1:1 sehingga

putaran bagian base sama dengan putaran motor servo seperti yang terlihat pada gambar

4.3. Bagian ini menggunakkan servo FeeTech FT5316M yang mempunyai torsi 14,3 – 15,5

kg/cm pada kondisi tegangan 4,8 – 6 volt dan menggunakan metal gear.

Gambar 4.3. Motor Bagian Base yang Dihubungkan dengan Transmisi Gear

Keterangan :

1. Motor untuk bagian pitch

2. Motor untuk bagian elbow

3. Motor untuk bagian shoulder

1

2

3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

46

Hasil perancangan rangkaian pengendali pada lengan robot terdiri dari konektor

motor servo, mikrokontroler Arduino Mega 2560, servo controller dan modul bluetooth

HC-05. Gambar 4.4 merupakan konektor motor servo yang digunakan untuk

menghubungkan motor servo dengan servo controller. Gambar 4.5 merupakan

perancangan rangkaian pengendali yang dihubungkan secara stackable.

Gambar 4.4. Konektor Motor Servo

Gambar 4.5. Rangkaian Pengendali Lengan Robot Menulis Kata

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

47

4.2. Hasil Pengujian

4.2.1 Pengujian Koneksi Bluetooth

Pengujian koneksi bluetooth dilakukan untuk mengetahui jarak transmisi antara

bluetooth pada smartphone Android dengan bluetooth HC-05 yang telah terintegrasi

dengan mikrokontroler Arduino Mega 2560. Pengujian koneksi bluetooth ini dilakukan

dengan cara melakukan transmisi data antara modul bluetooth HC-05 pada mikrokontroler

Arduino Mega 2560 dengan bluetooth pada smartphone Android melalui aplikasi Arduino

Bluetooth Terminal dan IDE Arduino seperti yang terlihat pada Gambar 4.6. Aplikasi

Arduino Bluetooth Terminal dapat diperoleh melalui aplikasi google playstore pada

Android.

Gambar 4.6. Ilustrasi Pengujian Koneksi Bluetooth

Gambar 4.7 merupakan listing program pengujian koneksi bluetooth. Pengujian

dilakukan dengan cara melakukan transmisi data antar bluetooth dengan jarak tertentu.

Gambar 4.8 merupakan interface dari aplikasi Arduino Bluetooth Terminal ketika

melakukan transmisi data. Data yang akan dikirim ke mikrokontroler dimasukkan pada

kolom insert command lalu kirimkan dengan menekan tombol Send. Kemudian, data yang

diterima oleh Android akan ditampilkan pada kolom bagian bawah. Gambar 4.9

merupakan tampilan serial monitor pada IDE Arduino ketika menerima data dari Android.

Data yang diterima oleh mikrokontroler melalui IDE Arduino adalah data kode desimal

dari masukkan yang dikirimkan oleh Android.

IDE Arduino

Modul bluetooth HC-05

Arduino Bluetooth Terminal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

48

Gambar 4.7. Listing Program Pengujian Koneksi Bluetooth

Gambar 4.8. Tampilan Interface Arduino Bluetooth Terminal

Inisialisasi

Pembacaan data dari Android

Pengiriman data ke Android dan serial monitor IDE Arduino

Input data

Data dari mikrokontroler.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

49

Gambar 4.9. Tampilan Serial Monitor pada IDE Arduino

Tabel 4.1 merupakan hasil dari pengujian koneksi bluetooth pada smartphone

Android dengan bluetooth HC-05 yang telah terintegrasi dengan mikrokontroler. Dari hasil

pengujian tersebut diperoleh bahwa jarak maksimal transmisi data dengan bluetooth HC-05

adalah 15 meter.

Tabel 4.1 Pengujian Koneksi bluetooth

Jarak (Meter) Keterangan

1 Koneksi lancar (Data diterima) 2 Koneksi lancar (Data diterima) 3 Koneksi lancar (Data diterima) 4 Koneksi lancar (Data diterima) 5 Koneksi lancar (Data diterima) 6 Koneksi lancar (Data diterima) 7 Koneksi lancar (Data diterima) 8 Koneksi lancar (Data diterima) 9 Koneksi lancar (Data diterima) 10 Koneksi lancar (Data diterima) 11 Koneksi lancar (Data diterima) 12 Koneksi lancar (Data diterima) 13 Koneksi lancar (Data diterima) 14 Koneksi lancar (Data diterima) 15 Koneksi lancar (Data diterima) 16 Koneksi tidak lancar (Data diterima) 17 Koneksi tidak lancar (Data diterima) 18 Koneksi terputus (Data tidak diterima)

Data yang diterima oleh

mikrokontroler.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

50

4.2.2. Pengujian Kinematika Lengan Robot

Berdasarkan pembahasan di BAB III, maka perhitungan kinematika lengan robot

akan menggunakan pendekatan trigonometri dan pitagoras segitiga. Gambar 4.10

merupakan posisi home lengan robot menulis kata. Gambar 4.11 dan 4.12 merupakan

desain 2D dari posisi home lengan robot dari dua pandangan yang berbeda yakni

pandangan atas dan pandangan samping. Hal ini dilakukan untuk mempermudah proses

perhitungan sudut setiap joint dari lengan robot, karena pendekatan trigonometri dan

pitagoras segitiga hanya dapat dilakukan pada bidang 2D. Berdasarkan gambar tersebut

dapat dilakukan pencarian nilai dari sudut joint (𝜃𝜃1,𝜃𝜃2,𝜃𝜃3,𝑑𝑑𝑑𝑑𝑑𝑑 𝜃𝜃4) dengan menggunakan

persamaan 2.1, 2.12, dan 2.18.

Gambar 4.10. Posisi Home Lengan Robot

Gambar 4.11. Penyederhanaan 2D Lengan Robot Tampak Atas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

51

Gambar 4.12. Penyederhanaan 2D Lengan Robot Tampak Samping

Dari Gambar 4.11 diperoleh nilai Px dan Py. Dari kedua nilai tersebut dapat

diperoleh sudut 𝜃𝜃1′ dengan menerapkan persamaan 2.1 maka, nilai sudut 𝜃𝜃1′ dapat

diperoleh sebagai berikut :

Diketahui :

Px = 10,5 cm

Py = 5 cm

Berdasarkan persamaan 2.1 maka diperoleh sudut 𝜃𝜃1′ sebagai berikut :

𝜃𝜃1′ = arctan( 510,5

)

𝜃𝜃1′ = 25,46°

Dikarenakan arah putaran motor dimulai dari sumbu Y sehingga nilai sudut yang

digunakan adalah nilai sudut 𝜃𝜃1. Nilai sudut 𝜃𝜃1 dapat diperoleh sebagai berikut :

𝜃𝜃1 = 90° − θ1′

𝜃𝜃1 = 64,54°

Setelah mendapatkan nilai sudut 𝜃𝜃1, maka selanjutnya adalah mencari nilai sudut

𝜃𝜃2, nilai sudut 𝜃𝜃3, serta nilai sudut 𝜃𝜃4. Berdasarkan Gambar 4.12 dapat diperoleh nilai x

dan z serta panjang lengan 1, lengan 2, dan lengan 3 yang telah ditentukan sebelumnya.

Dari komponen – komponen tersebut dapat diperoleh nilai sudut 𝜃𝜃3, serta sudut 𝜃𝜃2 dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

52

menerapkan persamaan 2.12 dan persamaan 2.18. Berdasarkan persamaan 2.12 maka nilai

sudut 𝜃𝜃3 sebagai berikut :

Diketahui :

OE = x = -1,91 cm

EB = z = 28 cm

𝑙𝑙1 = 18 cm

𝑙𝑙2 = 12 cm

Mencari nilai sudut 𝜃𝜃3 berdasarkan persamaan 2.13 maka diperoleh sebagai berikut:

𝜃𝜃3 = arccos((−1,91)2+282−182−122

2𝑥𝑥18𝑥𝑥12)

𝜃𝜃3 = 42,27°

Dikarenakan posisi lengan 2 berada dibawah garis perpanjangan lengan 1 yang

berada pada sudut 0°, maka nilai sudut dari 𝜃𝜃3 menjadi negatif.sehingga nilai sudut 𝜃𝜃3

menjadi -42,270.

Berdasarkan persamaan 2.18 maka nilai sudut 𝜃𝜃2 sebagai berikut :

Diketahui :

OE = x = -1,91 cm

EB = z = 28 cm

𝑙𝑙1 = 18 cm

𝑙𝑙2 = 12 cm

Mencari nilai sudut 𝜃𝜃2 berdasarkan persamaan 2.18 maka diperoleh sebagai berikut:

𝜃𝜃2 = arctan(28(18+12 cos θ3) –(−1,91) x 12 sin θ3(−1,91)(18+12 cos θ3) + 28 x 12 sin θ3

)

𝜃𝜃2 = 69,32°

Dikarenakan posisi lengan 1 berada kuadran 2 yang berada pada lebih dari sudut

90°, maka nilai sudut 𝜃𝜃2 menjadi 180° − 𝜃𝜃2. Sehingga nilai sudut 𝜃𝜃2 menjadi 110,680.

𝛹𝛹 adalah sudut arah hadap lengan-3 terhadap sumbu X. Sehingga, nilai 𝛹𝛹 dapat

diperoleh berdasarkan persamaan 2.1. Berdasarkan persamaan 2.1 maka nilai sudut 𝛹𝛹

sebagai berikut :

Diketahui :

GH = 11,068 cm

GI = -4,6 cm

Mencari nilai sudut 𝛹𝛹 berdasarkan persamaan 2.1 maka diperoleh sebagai berikut :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

53

𝛹𝛹 = arctan( −4,611,068)

𝛹𝛹 = −23° Berdasarkan persamaan 2.21 maka nilai sudut 𝜃𝜃4 sebagai berikut :

Diketahui :

𝜃𝜃2 = 110,68°

𝜃𝜃3 = −42,27°

𝜓𝜓 = −23°

Mencari nilai sudut 𝜃𝜃4 berdasarkan persamaan 2.22 maka diperoleh sebagai berikut:

𝜃𝜃4 = −23° − 110,68° + 42,27°

𝜃𝜃4 = −91,41°

Seperti yang telah dijelaskan di BAB III, bahwa lengan robot akan menulis kata

dengan cara menulis huruf satu per satu. Setiap bentuk huruf telah memiliki beberapa titik

acuan. Gambar 4.13 merupakan posisi dari titik acuan dalam satu posisi karakter. Titik

acuan inilah yang akan dituju oleh lengan robot dengan menggunakan perhitungan

kinematika yang telah dijabarkan diatas.

Gambar 4.13. Posisi Titik Acuan

Gambar 4.14. Hasil Implementasi Titik Acuan pada Whiteboard

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

54

Gambar 4.14 merupakan hasil implementasi titik acuan pada posisi karakter

pertama. Titik acuan tersebut akan digunakan lengan robot untuk membuat garis acuan

yang akan membentuk sebuah huruf. Tabel 4.2 merupakan data hasil perhitungan

kinematika setiap titik acuan per posisi karakter.

Tabel 4.2. Data Hasil Perhitungan Kinematika Setiap Titik Acuan

L1 = 18cm L2=12cm L3=13cm Posisi Px

(cm) Py

(cm) OE (cm)

EB (cm) θ1 ( o ) θ2 ( o ) θ3 ( o ) θ4 ( o ) ψ (o)

Home 18 0 -2 28 90 111 42 91 -23 Posisi Karakter 1

Titik 1 18 -14 10 27 52 83 33 34 16 Titik 2 18 -14 10 27 52 83 33 45 5 Titik 3 18 -14 10 27 52 83 33 51 -1 Titik 4 18 -13,5 9,5 27 53 85 36 48 1 Titik 5 18 -13,5 9,5 27 53 85 36 47 2 Titik 6 18 -13,5 9,5 27 53 85 36 52 -3 Titik 7 18 -11 9 27 59 87 40 38 9 Titik 8 18 -11 9 27 59 87 40 47 0 Titik 9 18 -11 9 27 59 87 40 56 -9

Posisi Karakter 2 Titik 1 18 -10 8 27 61 90 42 36 13 Titik 2 18 -10 8 27 61 90 42 46 3 Titik 3 18 -10 8 27 61 90 42 55 -6 Titik 4 18 -9,5 7,5 27 62 91 43 38 11 Titik 5 18 -9,5 7,5 27 62 91 43 46 3 Titik 6 18 -9,5 7,5 27 62 91 43 54 -5 Titik 7 18 -7 7,5 27 69 91 43 39 9 Titik 8 18 -7 7,5 27 69 91 43 47 2 Titik 9 18 -7 7,5 27 69 91 43 55 -7

Posisi Karakter 3 Titik 1 18 -5 6,8 27 74 94 45 42 7 Titik 2 18 -5 6,8 27 74 94 45 51 -3 Titik 3 18 -5 6,8 27 74 94 45 62 -13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

55

Tabel 4.2.(Lanjutan) Data Hasil Perhitungan Kinematika Setiap Titik Acuan

Posisi Px (cm)

Py (cm)

OE (cm)

EB (cm) θ1 ( o ) θ2 ( o ) θ3 ( o ) θ4 ( o ) ψ (o)

Titik 4 18 -4,5 6,5 27 76 94 45 42 7 Titik 5 18 -4,5 6,5 27 76 94 45 51 -2 Titik 6 18 -4,5 6,5 27 76 94 45 60 -11 Titik 7 18 -2 6,5 27 84 94 45 42 7 Titik 8 18 -2 6,5 27 84 94 45 51 -2 Titik 9 18 -2 6,5 27 84 94 45 61 -12

Posisi Karakter 4 Titik 1 18 0 6,6 27 90 94 45 42 7 Titik 2 18 0 6,6 27 90 94 45 52 -3 Titik 3 18 0 6,6 27 90 94 45 60 -11 Titik 4 18 1,5 6,5 27 95 94 45 42 7 Titik 5 18 1,5 6,5 27 95 94 45 50 -1 Titik 6 18 1,5 6,5 27 95 94 45 60 -11 Titik 7 18 3 6,6 27 99 94 45 42 7 Titik 8 18 3 6,6 27 99 94 45 50 -1 Titik 9 18 3 6,6 27 99 94 45 60 -11

Posisi Karakter 5 Titik 1 18 5 7 27 106 93 44 42 7 Titik 2 18 5 7 27 106 93 44 51 -2 Titik 3 18 5 7 27 106 93 44 59 -10 Titik 4 18 6,5 7,2 27 110 92 44 42 7 Titik 5 18 6,5 7,2 27 110 92 44 49 -1 Titik 6 18 6,5 7,2 27 110 92 44 59 -10 Titik 7 18 8 8 27 114 90 41 40 9 Titik 8 18 8 8 27 114 90 41 48 1 Titik 9 18 8 8 27 114 90 41 56 -7

Dari Tabel 4.2 dapat diperoleh nilai sudut setiap joint (𝜃𝜃1,𝜃𝜃2,𝜃𝜃3,𝑑𝑑𝑑𝑑𝑑𝑑 𝜃𝜃4) yang

diperlukan lengan robot untuk menuju titik-titik acuan tersebut. Akan tetapi, dari hasil

pengukuran diperoleh hasil berbeda dari hasil perhitungan kinematika. Dari perbedaan

tersebut diperoleh persentase error dari hasil perhitungan dengan hasil pengukuran. Seperti

yang terlihat pada Tabel 4.3.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

56

Tabel 4.3. Perbandingan Hasil Perhitungan dengan Hasil Pengukuran

Posisi Perhitungan ( o ) Pengukuran ( o ) Error (%)

θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 Home 90 111 42 91 90 110 40 90 0% 1% 5% 1%

Posisi Karakter 1 Titik 1 52 83 33 34 60 84 35 35 15% 1% 6% 3% Titik 2 52 83 33 45 60 84 35 44 15% 1% 6% 2% Titik 3 52 83 33 51 60 84 35 50 15% 1% 6% 2% Titik 4 53 85 36 48 64 85 35 35 21% 0% 3% 27% Titik 5 53 85 36 47 64 85 35 45 21% 0% 3% 4% Titik 6 53 85 36 52 64 85 35 51 21% 0% 3% 2% Titik 7 59 87 40 38 70 87 35 39 19% 0% 13% 3% Titik 8 59 87 40 47 70 87 35 47 19% 0% 13% 0% Titik 9 59 87 40 56 70 87 35 56 19% 0% 13% 0%

Posisi Karakter 2 Titik 1 61 90 42 36 72 91 40 37 18% 1% 5% 3% Titik 2 61 90 42 46 72 90 40 47 18% 0% 5% 2% Titik 3 61 90 42 55 72 90 40 55 18% 0% 5% 0% Titik 4 62 91 43 38 77 91 40 39 24% 0% 7% 3% Titik 5 62 91 43 46 77 91 40 47 24% 0% 7% 2% Titik 6 62 91 43 54 77 91 40 55 24% 0% 7% 2% Titik 7 69 91 43 39 82 91 40 40 19% 0% 7% 3% Titik 8 69 91 43 47 82 91 40 48 19% 0% 7% 2% Titik 9 69 91 43 55 82 91 40 56 19% 0% 7% 2%

Posisi Karakter 3 Titik 1 74 94 45 42 98 93 40 42 32% 1% 11% 0% Titik 2 74 94 45 51 98 93 40 52 32% 1% 11% 2% Titik 3 74 94 45 62 98 93 40 60 32% 1% 11% 3% Titik 4 76 94 45 42 104 94 40 43 37% 0% 11% 2% Titik 5 76 94 45 51 104 94 40 52 37% 0% 11% 2% Titik 6 76 94 45 60 104 94 40 60 37% 0% 11% 0% Titik 7 84 94 45 42 108 94 40 43 29% 0% 11% 2% Titik 8 84 94 45 51 108 94 40 52 29% 0% 11% 2% Titik 9 84 94 45 61 108 94 40 61 29% 0% 11% 0%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

57

Tabel 4.3.(Lanjutan) Perbandingan Hasil Perhitungan dengan Hasil Pengukuran

Posisi Perhitungan ( o ) Pengukuran ( o ) Error (%) θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4

Posisi Karakter 4 Titik 1 90 94 45 42 114 93 40 43 27% 1% 11% 2% Titik 2 90 94 45 52 115 93 40 52 28% 1% 11% 0% Titik 3 90 94 45 60 115 93 40 61 28% 1% 11% 2% Titik 4 95 94 45 42 120 94 40 43 26% 0% 11% 2% Titik 5 95 94 45 50 120 94 40 51 26% 0% 11% 2% Titik 6 95 94 45 60 120 94 40 61 26% 0% 11% 2% Titik 7 99 94 45 42 125 93 40 43 26% 1% 11% 2% Titik 8 99 94 45 50 125 93 40 51 26% 1% 11% 2% Titik 9 99 94 45 60 125 93 40 60 26% 1% 11% 0%

Posisi Karakter 5 Titik 1 106 93 44 42 130 92 40 43 23% 1% 9% 2% Titik 2 106 93 44 51 130 92 40 52 23% 1% 9% 2% Titik 3 106 93 44 59 130 92 40 60 23% 1% 9% 2% Titik 4 110 92 44 42 134 91 40 42 22% 1% 9% 0% Titik 5 110 92 44 49 134 91 40 50 22% 1% 9% 2% Titik 6 110 92 44 59 134 91 40 59 22% 1% 9% 0% Titik 7 114 90 41 40 140 90 40 40 23% 0% 2% 0% Titik 8 114 90 41 48 140 90 40 48 23% 0% 2% 0% Titik 9 114 90 41 56 140 90 40 57 23% 0% 2% 2%

Rata-rata Error (%) 24% 0% 8% 2%

Dari tabel 4.3 diperoleh bahwa persentase error yang bernilai paling tinggi adalah

bagian base (𝜃𝜃1) yakni 24%. Hal ini dikarenakan mekanik lengan robot mengalami

masalah, yakni bagian end-effector yang tidak simetris dengan poros bagian base seperti

yang terlihat pada Gambar 4.15 serta transmisi gear yang bermasalah yang mengakibatkan

terjadinya speleng. Kedua permasalahan tersebut memberikan pengaruh terhadap nilai

sudut 𝜃𝜃1 yang mengakibatkan perubahan pada posisi titik acuan. Sedangkan untuk

persentase error pada bagian yang lain tidak terlalu tinggi, yakni bagian shoulder dengan

rata-rata error 0%, bagian elbow dengan rata-rata error 8%, dan bagian pitch dengan rata-

rata error 2%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

58

Gambar 4.15. Permasalahan Mekanik Lengan Robot

Dari pengujian kinematika lengan robot diatas diperoleh nilai sudut–sudut yang

diperlukan oleh lengan robot dalam menuju titik acuan. Titik-titik acuan inilah yang akan

digunakan lengan robot untuk membentuk beberapa garis acuan. Gambar 4.16 merupakan

bentuk dan posisi dari garis-garis acuan yang akan dibentuk oleh lengan robot. Garis-garis

acuan inilah yang akan digunakan lengan robot untuk membentuk huruf yang tersusun

menjadi sebuah kata.

Gambar 4.16. Bentuk dan Posisi Garis Acuan

Kondisi yang terjadi (tidak simetris)

Poros

Kondisi seharusnya (simetris)

End-effector

Posisi ke-n Garis ke-n

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

59

Gambar 4.17. Hasil Implementasi Garis-Garis Acuan

Gambar 4.17 merupakan hasil implementasi dari garis-garis acuan. Garis acuan

inilah yang akan digunakan untuk membentuk huruf. Dari gambar tersebut terlihat garis

diagonal belum dapat terbentuk, hal ini dikarenakan penulis belum menemukan algoritma

pemogramman untuk membentuk garis diagonal. Dalam bab perancangan, lengan robot

dirancang agar dapat menulis dengan maksimal enam posisi karakter. Akan tetapi, dari

Gambar 4.17 terlihat garis-garis acuan pada posisi karakter ke-6 tidak terbentuk. Hal ini

dikarenakan end-effector dari lengan robot telah menabrak papan tulis, sehingga tidak

memungkinkan lengan robot untuk membentuk garis-garis acuan di posisi karakter ke-6

seperti yang terlihat pada Gambar 4.18. Dengan kata lain, area kerja lengan robot terbatas,

yakni hanya maksimal 5 posisi karakter.

Gambar 4.18. End-effector Menabrak Papan Tulis

Posisi garis diagonal yang belum terbentuk

1 2 3 4 5

End-effector menabrak papan tulis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

60

4.2.3. Pengujian repeatabilitas lengan robot

Pengujian repeatabilitas lengan robot dilakukan untuk mengetahui ketepatan

lengan robot dalam menuju satu titik apabila dilakukan secara berulang. Hal ini penting

dilakukan untuk mengetahui ketepatan lengan robot dalam menuju titik acuan yang akan

membentuk garis acuan untuk menulis sebuah kata yang akan dilakukan terus menerus

yang akan berpengaruh pada bentuk huruf yang akan ditulis. Pengujian dilakukan dengan

cara memberikan perintah kepada lengan robot untuk bergerak menuju sebuah titik acuan

lalu kembali pada posisi home lalu bergerak kembali menuju titik acuan. Hal ini dilakukan

dengan melakukan 10 kali percobaan. Dari 10 kali percobaan diperoleh data bahwa lengan

robot mulai mengalami error yang tinggi pada percobaan ke 8 dengan rata-rata error 2%

seperti yang terlihat pada Tabel 4.4.

Tabel 4.4. Hasil Pengujian Repeatabilitas Lengan Robot

Percobaan Koordinat titik

acuan (cm) Koordinat terukur

(cm) Error (%)

X Y Z X Y Z X Y Z 1 18 -4,5 30 18 -4,5 30 0% 0% 0% 2 18 -4,5 30 18 -4,5 30,2 0% 0% 1% 3 18 -4,5 30 17,9 -4,4 30,1 1% 2% 0% 4 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 5 18 -4,5 30 17,9 -4,4 30,2 1% 2% 1% 6 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 7 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 8 18 -4,5 30 17,8 -4,4 31 1% 2% 3% 9 18 -4,5 30 17,8 -4,4 31 1% 2% 3%

10 18 -4,5 30 17,9 -4,4 30,5 1% 2% 2%

4.2.4. Pengujian keseluruhan sistem

Lengan robot akan mulai menulis huruf apabila sudah memperoleh masukkan dari

aplikasi pada Android. Hal pertama yang dilakukan adalah menghubungkan bluetooth

smartphone Android dengan bluetooth HC-05 yang telah terintegrasi dengan

mikrokontroler seperti yang terlihat pada Gambar 4.19. Setelah kedua bluetooth terhubung,

user akan membuka aplikasi Arduino Bluetooth Terminal pada smartphone Android,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

61

kemudian menghubungkan aplikasi Arduino Bluetooth Terminal dengan bluetooth HC-05

yang telah terintegrasi dengan mikrokontroler seperti yang terlihat pada Gambar 4.20

.

Gambar 4.19 Konfigurasi Bluetooth pada Smartphone

Gambar 4.20. Tampilan Awal Aplikasi Arduino Bluetooth Terminal

Bluetooth pada smartphone Android

Bluetooth pada mikrokontroler

Nama bluetooth yang terintegrasi dengan mikrokontroler

Memulai koneksi antar bluetooth

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

62

Gambar 4.21. Tampilan Aplikasi Arduino Bluetooth Terminal

Gambar 4.21 merupakan tampilan antarmuka dari aplikasi Arduino Bluetooth

Terminal pada smartphone Android. Seperti yang telah dijelaskan di bab perancangan pada

diagram alir Android dan program menulis, bagian ini meliputi masukkan untuk pemilihan

posisi karakter dan masukkan untuk data huruf yang akan ditulis oleh lengan robot.

Gambar 4.22 merupakan hasil implementasi bentuk huruf A pada posisi karakter pertama

yang terdiri dari tujuh garis acuan.

Gambar 4.22. Bentuk Huruf A pada Posisi Karakter Pertama

Gambar 4.23. Bentuk Huruf A pada Setiap Posisi Karakter

Data huruf yang akan dikirim (input)

Tombol untuk mengirim data

Data dari mikrokontroler

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

63

Gambar 4.23 merupakan hasil implementasi dari bentuk huruf A pada setiap posisi

karakter. Lengan robot menulis kata ini dapat menulis hingga 26 karakter huruf di setiap

posisi karakternya yakni huruf A hingga huruf Z. Hasil dari keseluruhan huruf yang dapat

ditulis oleh lengan robot dapat dilihat pada bagian lampiran. Tabel 4.5 merupakan hasil

pengujian keberhasilan dari penulisan bentuk huruf oleh lengan robot dengan persentase

keberhasilan mencapai 62%.

Tabel 4.5. Hasil Pengujian Keberhasilan Bentuk Huruf

Huruf Posisi Karakter 1 2 3 4 5

A 1 1 1 1 1 B 1 1 1 1 1 C 1 1 1 1 1 D 1 1 1 1 1 E 1 1 1 1 1 F 1 1 1 1 1 G 1 1 1 1 1 H 1 1 1 1 1 I 1 1 1 1 1 J 1 1 1 1 1 K 0 0 0 0 0 L 1 1 1 1 1 M 0 0 0 0 0 N 0 0 0 0 0 O 1 1 1 1 1 P 1 1 1 1 1 Q 0 0 0 0 0 R 0 0 0 0 0 S 1 1 1 1 1 T 1 1 1 1 1 U 1 1 1 1 1 V 0 0 0 0 0 W 0 0 0 0 0 X 0 0 0 0 0 Y 0 0 0 0 0 Z 0 0 0 0 0

Total huruf 130 Huruf yang terbaca 80

Huruf yang tidak terbaca 50 Presentase Keberhasilan huruf yang terbaca 62%

0 = Tidak terbaca, 1 = terbaca

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

64

Tolak ukur huruf yang terbaca dan tidak terbaca dilihat dari pembentukan garis

acuan yang terjadi. Huruf dikatakan terbaca apabila pembentukan garis acuan terjadi

dengan sempurna seperti yang terlihat pada Gambar 4.24. Sebagai contoh huruf P, huruf P

terdiri dari 5 garis acuan dan lengan robot berhasil menulis kelima garis acuan tersebut

hingga membentuk huruf P. Gambar 4.25 merupakan bentuk dari huruf N, huruf N

seharusnya terdiri dari 6 garis acuan akan tetapi lengan robot hanya dapat menulis 4 garis

acuan sehingga tidak dapat membentuk huruf N yang seharusnya. Hal inilah yang

dimaksud huruf yang tidak terbaca.

Gambar 4.24. Ilustrasi Bentuk Huruf yang Terbaca

Gambar 4.25. Ilustrasi Bentuk Huruf yang Tidak Terbaca

Gambar 4.26. Beberapa Huruf yang Membentuk Sebuah Kata

Gambar 4.26 merupakan hasil implementasi dari keseluruhan sistem lengan robot

menulis kata. Dimana, user dapat memilih jumlah karakter dan posisi karakter dengan cara

memberi masukan dari aplikasi pada android dan mengirimkan data huruf satu per satu.

Garis acuan yang tidak terbentuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

65

4.3. Pembahasan Perangkat Lunak

4.3.1. Inisialisasi

Inisialisasi pada lengan robot menulis kata ini berisi tentang pendefinisian dari

fungsi library dan variabel yang digunakan dalam proses pengoperasian data. Seperti pada

bab perancangan pada diagram alir program, bagian dari inisialisasi meliputi input dan

output yang digunakan serta setup untuk komunikasi serial dan I2C serta setup motor servo

pada servo controller. Listing program inisialisasi dari lengan robot menulis kata ini dapat

dilihat seperti pada gambar 4.27.

Gambar 4.27. Listing Program Inisialisasi Lengan Robot Menulis Kata

4.3.2. Program Home

Listing program home dapat dilihat pada Gambar 4.28. Posisi home merupakan

kondisi aman lengan robot sebelum dan sesudah menulis. Lengan robot akan menulis

dengan cara menggabungkan garis-garis acuan. Setiap huruf terdiri dari beberapa garis

acuan, dimana setelah menulis garis acuan robot akan bergerak ke posisi aman dan

kemudian melanjutkan menulis garis acuan yang berikutnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

66

Gambar 4.28. Listing Program Home

4.3.3. Program Pemilihan Posisi Karakter

Listing program pemilihan posisi karakter dapat dilihat pada Gambar 4.29.

Pemilihan posisi karakter digunakan untuk memilih posisi huruf yang akan ditulis oleh

lengan robot. Lengan robot ini hanya dapat menulis hingga maksimal lima karakter.

Gambar 4.29 Listing Program Pemilihan Posisi Karakter

4.3.4. Pembacaan Data dari Android

Listing program pembacaan data dari android dapat dilihat pada Gambar 4.30.

Pembacaan data huruf dari android menggunakan komunikasi bluetooth secara serial

memanfaatkan Tx dan Rx mikrokontroler serta Tx dan Rx dari modul bluetooth. Dengan

menggunakan library software serial sehingga dapat menggunakan pin 10 dan pin 11

sebagai port serial. Komunikasi serial tersebut menggunakan bautrate 9600 sebagai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

67

kecepatan pengiriman data serial. Dimana, data huruf yang diterima oleh mikrokontroler

adalah kode desimal seperti yang terlihat pada Gambar 4.31.

Gambar 4.30. Listing Program Pembacaan Data dari Android

Gambar 4.31. Data yang Diterima oleh Mikrokontroler

4.3.5. Program Data Huruf

Listing program data huruf dapat dilihat pada Gambar 4.32. Program ini berisi

tentang kumpulan sub program garis acuan yang akan membentuk menjadi sebuah huruf.

Program garis ini berisi tentang pergerakan motor servo yang akan membentuk garis-garis

kecil pada whiteboard.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

68

Gambar 4.32 Listing Program Data Huruf.

4.3.6. Program Garis Acuan

Listing program garis acuan dapat dilihat pada Gambar 4.33. program garis acuan

ini berisi tentang pergerakan motor servo dalam menuju titik acuan dan kemudian akan

merubah sudut di salah satu joint untuk membentuk garis acuan. Apabila ingin membentuk

garis acuan secara vertikal maka bagian yang perlu diubah adalah bagian pitch. Sedangkan,

apabila ingin membentuk garis acuan secara horisontal maka bagian yang perlu diubah

adalah bagian base.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

69

Gambar 4.33. Listing Sub Program Garis Acuan

Perbandingan sudut awal dengan sudut yang dituju

Membentuk garis horisontal dengan menggerakkan motor bagian base

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan Setelah melakukan perancangan dan pengujian pada lengan robot menulis kata

yang dikendalikan oleh aplikasi pada android, peneliti dapat menarik kesimpulan sebagai

berikut :

1. Lengan robot dapat bergerak pada sumbu X, Y dan Z dengan 4 derajat

kebebasan.

2. Lengan robot dapat dikendalikan jarak jauh dengan maksimal jarak 15 meter

melalui sistem komunikasi serial menggunakan bluetooth.

3. Lengan robot telah berhasil menulis dengan presentase keberhasilan 62%.

5.2. Saran

Berdasarkan hasil implementasi yang diperoleh, untuk pengembangan lebih lanjut

ada beberapa saran agar alat ini dapat bekerja lebih baik, yaitu :

1. Perancangan ulang pada kontruksi lengan robot agar lebih stabil, simetris dan

kokoh.

2. Pengembangan sistem kendali jarak jauh dengan menggunakan Wi-Fi.

3. Penelitian lebih lanjut untuk mencari algoritma pemogramman dalam

membentuk garis acuan diagonal untuk meningkatkan presentase keberhasilan

lengan robot menulis kata ini.

70

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

DAFTAR PUSTAKA

[1] Syarifah Hamidah ,Seno D. Panjaitan, Dedi Triyanto 2013, Sistem Pengendalian

Robot Lengan Menggunakan Pemograman Visual Basic,

http://jurnal.untan.ac.id/index.php/jcskommipa/article/view/2332 , diakses tanggal 30

Maret 2014

[2] -----, -----, Pengertian Mikrokontroler http://www.kelas-mikrokontrol.com/, diakses

tanggal 08 november 2013

[3] Artanto, Dian, 2012, Interaksi Arduino dan LabVIEW, 1st, PT Elex Media

Komputindo, Jakarta.

[4] -----, -----, Products, http://arduino.cc/en/Main/Products, diakses tanggal 25 Februari

2013.

[5] -----, -----, Arduino Introduction, http://arduino.cc/en/Guide/Introduction, diakses

tanggal 23 Februari 2013.

[6] -----, -----, Arduino Software, http://arduino.cc/en/Main/Software , diakses tanggal 23

Februari 2013.

[7] -----, -----, Motor Servo http://elektronika-dasar.web.id/teori-elektronika , diakses

tanggal 08 november 2013.

[8] -----, ------, Adafruit 16-Channel 12-bit PWM,

http://www.adafruit.com/product/1411 , diakses tanggal 08 April 2014.

[9] -----, ------, Pengertian dan Fungsi Bluetooth,

http://www.sisilain.net/2010/10/pengertian-dan-fungsi-bluetooth.html?m=0 , diakses

tanggal 08 April 2014.

71

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

72

[10] -----, ------, Mengenal Seri Bluetooth HC, http://diytech.net/2013/10/09/mengenal-

bluetooth-modul-hc-05-1/, diakses tanggal 08 April 2014.

[11] Pitowarno, Endra, 2006, Robotika Disain, Kontrol, dan Kecerdasan Buatan, Penerbit

Andi, Yogyakarta.

[12] -----, ------, HS-645 Ultra Torque, https://www.servocity.com/html/hs-

645mg_ultra_torque.html#.U0zNAvlSioQ, diakses tanggal 10 April 2014.

[13] -----, ------, GWS S04 BBM Large Servo,

http://www.robotsinsearch.com/products/gws-s04-bbm-large-servo , diakses tanggal 10

April 2014.

[14] ----, ------, Hitec HS-805BB Mega ¼ Scale Servo, https://www.hobbyking.com/hobbyking/store/__9810__Hitec_HS_805BB_Mega_1_4_Scale_servo_19_8kg_152g_0_19sec.html , diakses tanggal 10 April 2014.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

LAMPIRAN

73

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L1

Lampiran Tabel Tabel L1. Pengujian Koneksi Bluetooth

Jarak (Meter) Keterangan

1 Koneksi lancar (Data diterima) 2 Koneksi lancar (Data diterima) 3 Koneksi lancar (Data diterima) 4 Koneksi lancar (Data diterima) 5 Koneksi lancar (Data diterima) 6 Koneksi lancar (Data diterima) 7 Koneksi lancar (Data diterima) 8 Koneksi lancar (Data diterima) 9 Koneksi lancar (Data diterima) 10 Koneksi lancar (Data diterima) 11 Koneksi lancar (Data diterima) 12 Koneksi lancar (Data diterima) 13 Koneksi lancar (Data diterima) 14 Koneksi lancar (Data diterima) 15 Koneksi lancar (Data diterima) 16 Koneksi tidak lancar (Data diterima) 17 Koneksi tidak lancar (Data diterima) 18 Koneksi terputus (Data tidak diterima)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L2

Tabel L2. Data Hasil Perhitungan Kinematika Setiap Titik Acuan

L1 = 18cm L2=12cm L3=13cm

Posisi Px (cm)

Py (cm)

OE (cm) EB (cm) θ1 ( o

) θ2 ( o ) θ3 ( o ) θ4 ( o ) ψ (o)

Home 18 0 -2 28 90 111 42 91 -23 Posisi Karakter 1

Titik 1 18 -14 10 27 52 83 33 34 16 Titik 2 18 -14 10 27 52 83 33 45 5 Titik 3 18 -14 10 27 52 83 33 51 -1 Titik 4 18 -13,5 9,5 27 53 85 36 48 1 Titik 5 18 -13,5 9,5 27 53 85 36 47 2 Titik 6 18 -13,5 9,5 27 53 85 36 52 -3 Titik 7 18 -11 9 27 59 87 40 38 9 Titik 8 18 -11 9 27 59 87 40 47 0 Titik 9 18 -11 9 27 59 87 40 56 -9

Posisi Karakter 2 Titik 1 18 -10 8 27 61 90 42 36 13 Titik 2 18 -10 8 27 61 90 42 46 3 Titik 3 18 -10 8 27 61 90 42 55 -6 Titik 4 18 -9,5 7,5 27 62 91 43 38 11 Titik 5 18 -9,5 7,5 27 62 91 43 46 3 Titik 6 18 -9,5 7,5 27 62 91 43 54 -5 Titik 7 18 -7 7,5 27 69 91 43 39 9 Titik 8 18 -7 7,5 27 69 91 43 47 2 Titik 9 18 -7 7,5 27 69 91 43 55 -7

Posisi Karakter 3 Titik 1 18 -5 6,8 27 74 94 45 42 7 Titik 2 18 -5 6,8 27 74 94 45 51 -3 Titik 3 18 -5 6,8 27 74 94 45 62 -13 Titik 4 18 -4,5 6,5 27 76 94 45 42 7 Titik 5 18 -4,5 6,5 27 76 94 45 51 -2 Titik 6 18 -4,5 6,5 27 76 94 45 60 -11 Titik 7 18 -2 6,5 27 84 94 45 42 7 Titik 8 18 -2 6,5 27 84 94 45 51 -2 Titik 9 18 -2 6,5 27 84 94 45 61 -12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L3

Tabel L3. (lanjutan)Data Hasil Perhitungan Kinematika Setiap Titik Acuan

Posisi Px (cm)

Py (cm)

OE (cm)

EB (cm) θ1 ( o ) θ2 ( o ) θ3 ( o ) θ4 ( o ) ψ (o)

Posisi Karakter 4 Titik 1 18 0 6,6 27 90 94 45 42 7 Titik 2 18 0 6,6 27 90 94 45 52 -3 Titik 3 18 0 6,6 27 90 94 45 60 -11 Titik 4 18 1,5 6,5 27 95 94 45 42 7 Titik 5 18 1,5 6,5 27 95 94 45 50 -1 Titik 6 18 1,5 6,5 27 95 94 45 60 -11 Titik 7 18 3 6,6 27 99 94 45 42 7 Titik 8 18 3 6,6 27 99 94 45 50 -1 Titik 9 18 3 6,6 27 99 94 45 60 -11

Posisi Karakter 5 Titik 1 18 5 7 27 106 93 44 42 7 Titik 2 18 5 7 27 106 93 44 51 -2 Titik 3 18 5 7 27 106 93 44 59 -10 Titik 4 18 6,5 7,2 27 110 92 44 42 7 Titik 5 18 6,5 7,2 27 110 92 44 49 -1 Titik 6 18 6,5 7,2 27 110 92 44 59 -10 Titik 7 18 8 8 27 114 90 41 40 9 Titik 8 18 8 8 27 114 90 41 48 1 Titik 9 18 8 8 27 114 90 41 56 -7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L4

Tabel L4. Perbandingan Hasil Perhitungan dengan Hasil Pengukuran

Posisi Perhitungan ( o ) Pengukuran ( o ) Error (%)

θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 Home 90 111 42 91 90 110 40 90 0% 1% 5% 1%

Posisi Karakter 1 Titik 1 52 83 33 34 60 84 35 35 15% 1% 6% 3% Titik 2 52 83 33 45 60 84 35 44 15% 1% 6% 2% Titik 3 52 83 33 51 60 84 35 50 15% 1% 6% 2% Titik 4 53 85 36 48 64 85 35 35 21% 0% 3% 27% Titik 5 53 85 36 47 64 85 35 45 21% 0% 3% 4% Titik 6 53 85 36 52 64 85 35 51 21% 0% 3% 2% Titik 7 59 87 40 38 70 87 35 39 19% 0% 13% 3% Titik 8 59 87 40 47 70 87 35 47 19% 0% 13% 0% Titik 9 59 87 40 56 70 87 35 56 19% 0% 13% 0%

Posisi Karakter 2 Titik 1 61 90 42 36 72 91 40 37 18% 1% 5% 3% Titik 2 61 90 42 46 72 90 40 47 18% 0% 5% 2% Titik 3 61 90 42 55 72 90 40 55 18% 0% 5% 0% Titik 4 62 91 43 38 77 91 40 39 24% 0% 7% 3% Titik 5 62 91 43 46 77 91 40 47 24% 0% 7% 2% Titik 6 62 91 43 54 77 91 40 55 24% 0% 7% 2% Titik 7 69 91 43 39 82 91 40 40 19% 0% 7% 3% Titik 8 69 91 43 47 82 91 40 48 19% 0% 7% 2% Titik 9 69 91 43 55 82 91 40 56 19% 0% 7% 2%

Posisi Karakter 3 Titik 1 74 94 45 42 98 93 40 42 32% 1% 11% 0% Titik 2 74 94 45 51 98 93 40 52 32% 1% 11% 2% Titik 3 74 94 45 62 98 93 40 60 32% 1% 11% 3% Titik 4 76 94 45 42 104 94 40 43 37% 0% 11% 2% Titik 5 76 94 45 51 104 94 40 52 37% 0% 11% 2% Titik 6 76 94 45 60 104 94 40 60 37% 0% 11% 0% Titik 7 84 94 45 42 108 94 40 43 29% 0% 11% 2% Titik 8 84 94 45 51 108 94 40 52 29% 0% 11% 2% Titik 9 84 94 45 61 108 94 40 61 29% 0% 11% 0%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L5

Tabel L5.(lanjutan) Perbandingan Hasil Perhitungan dengan Hasil Pengukuran

Posisi Perhitungan ( o ) Pengukuran ( o ) Error (%)

θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 θ1 θ2 θ3 θ4 Posisi Karakter 4

Titik 1 90 94 45 42 114 93 40 43 27% 1% 11% 2% Titik 2 90 94 45 52 115 93 40 52 28% 1% 11% 0% Titik 3 90 94 45 60 115 93 40 61 28% 1% 11% 2% Titik 4 95 94 45 42 120 94 40 43 26% 0% 11% 2% Titik 5 95 94 45 50 120 94 40 51 26% 0% 11% 2% Titik 6 95 94 45 60 120 94 40 61 26% 0% 11% 2% Titik 7 99 94 45 42 125 93 40 43 26% 1% 11% 2% Titik 8 99 94 45 50 125 93 40 51 26% 1% 11% 2% Titik 9 99 94 45 60 125 93 40 60 26% 1% 11% 0%

Posisi Karakter 5 Titik 1 106 93 44 42 130 92 40 43 23% 1% 9% 2% Titik 2 106 93 44 51 130 92 40 52 23% 1% 9% 2% Titik 3 106 93 44 59 130 92 40 60 23% 1% 9% 2% Titik 4 110 92 44 42 134 91 40 42 22% 1% 9% 0% Titik 5 110 92 44 49 134 91 40 50 22% 1% 9% 2% Titik 6 110 92 44 59 134 91 40 59 22% 1% 9% 0% Titik 7 114 90 41 40 140 90 40 40 23% 0% 2% 0% Titik 8 114 90 41 48 140 90 40 48 23% 0% 2% 0% Titik 9 114 90 41 56 140 90 40 57 23% 0% 2% 2%

Rata-rata Error (%) 24% 0% 8% 2%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L6

Tabel L6. Hasil Pengujian Repeatabilitas Lengan Robot

Percobaan Koordinat titik

acuan (cm) Koordinat terukur

(cm) Error (%)

X Y Z X Y Z X Y Z 1 18 -4,5 30 18 -4,5 30 0% 0% 0% 2 18 -4,5 30 18 -4,5 30,2 0% 0% 1% 3 18 -4,5 30 17,9 -4,4 30,1 1% 2% 0% 4 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 5 18 -4,5 30 17,9 -4,4 30,2 1% 2% 1% 6 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 7 18 -4,5 30 17,9 -4,5 30,2 1% 0% 1% 8 18 -4,5 30 17,8 -4,4 31 1% 2% 3% 9 18 -4,5 30 17,8 -4,4 31 1% 2% 3%

10 18 -4,5 30 17,9 -4,4 30,5 1% 2% 2%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L7

L7. Hasil Implementasi Keseluruhan Bentuk Huruf

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L8

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L9

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L10

LISTING PROGRAM

L10. Listing Program Keseluruhan //////////Inisialisasi///////////////// #include <Wire.h> #include <Adafruit_PWMServoDriver.h> #include <SoftwareSerial.h> #define SERVOMIN1 135 // base #define SERVOMAX1 600 #define SERVOMIN2 220 // shoulder #define SERVOMAX2 645 #define SERVOMIN3 0 // Elbow #define SERVOMAX3 450 #define SERVOMIN4 105 // Pitch #define SERVOMAX4 415 SoftwareSerial Bluetooth(10, 11); // TX, RX Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); int BluetoothData; int sudut1; int sudut2; int sudut3; int sudut4; int sudut11; int sudut21; int sudut12; int sudut121; int sudut13; int sudut14; int sudut24; void setup() { pwm.begin(); Serial.begin(9600); Bluetooth.begin(9600); Bluetooth.println("Ready"); Bluetooth.println("Posisi Karakter?"); pwm.setPWMFreq(60); // Analog servos run at ~60 Hz updates sudut2 = map(110, 0, 180, SERVOMIN2, SERVOMAX2); pwm.setPWM(2,0, sudut2);//shoulder1 pwm.setPWM(4,0, sudut2);//shoulder2 sudut4 = map(90, 120, 0, SERVOMIN4, SERVOMAX4); pwm.setPWM(12,0, sudut4);//pitch sudut3 = map(40, 180, 0, SERVOMIN3, SERVOMAX3); pwm.setPWM(6,0, sudut3);//elbow delay(800); sudut1 = map(90, 0, 180, SERVOMIN1, SERVOMAX1); pwm.setPWM(0,0, sudut1);//base } void loop () { if (Bluetooth.available()) { BluetoothData=Bluetooth.read(); } if(BluetoothData=='1'){ Serial.println(BluetoothData); karakter1(); } if(BluetoothData=='2'){ Serial.println(BluetoothData); karakter2(); } if(BluetoothData=='3'){ Serial.println(BluetoothData); karakter3(); } if(BluetoothData=='4'){ Serial.println(BluetoothData); karakter4(); } if(BluetoothData=='5'){ Serial.println(BluetoothData); karakter5(); } delay(100);// prepare for next data .. } void awal() { delay(1000);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L11

sudut2 = map(110, 0, 180, SERVOMIN2, SERVOMAX2); pwm.setPWM(2,0, sudut2);//shoulder1 pwm.setPWM(4,0, sudut2);//shoulder2 sudut4 = map(92, 60, 180, SERVOMIN4, SERVOMAX4); pwm.setPWM(12,0, sudut4);//pitch sudut3 = map(140, 0, 180, SERVOMIN3, SERVOMAX3); pwm.setPWM(6,0, sudut3);//elbow delay(800); sudut1 = map(90, 0, 180, SERVOMIN1, SERVOMAX1); pwm.setPWM(0,0, sudut1);//base delay(1000); } void karakter1() { Bluetooth.println("Karakter1"); Bluetooth.println("Kirim huruf yang akan ditulis"); delay(3000); while(Bluetooth.available()) { BluetoothData=Bluetooth.read(); if (BluetoothData=='a') {Bluetooth.println("Menulis huruf A"); garis11(); awal(); garis12(); awal(); garis13(); awal(); garis16(); awal(); garis15(); awal(); garis110(); awal(); garis18(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='b') {Bluetooth.println("Menulis huruf B"); garis11(); awal(); garis12(); awal(); garis13(); awal(); garis14(); awal(); garis17(); awal(); garis19(); awal(); garis18(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='c') {Bluetooth.println("Proses C"); garis11(); awal(); garis16(); awal(); garis15(); awal(); garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='d') {Bluetooth.println("Proses D"); garis11(); awal(); garis12(); awal(); garis13();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L12

awal(); garis14(); awal(); garis17(); awal(); garis19(); awal(); Bluetooth.println("Selesai"); delay(100); if (BluetoothData=='e') {Bluetooth.println("Proses E"); garis11(); awal(); garis16(); awal(); garis15(); awal(); garis14(); awal(); garis110(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='f') {Bluetooth.println("Proses F"); garis11(); awal(); garis16(); awal(); garis15(); awal(); garis110(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='g') {Bluetooth.println("Proses G"); garis11(); awal(); garis16(); awal(); garis15(); awal(); garis14(); awal(); garis13(); awal(); garis18(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='h') {Bluetooth.println("Proses H"); garis16(); awal(); garis15(); awal(); garis110(); awal(); garis18(); awal(); garis12(); awal(); garis13(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='i') {Bluetooth.println("Proses I"); garis11(); awal(); garis17(); awal(); garis19();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L13

awal(); garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='j') {Bluetooth.println("Proses J"); garis12(); awal(); garis13(); awal(); garis14(); awal(); garis15(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='k') {Bluetooth.println("Proses K"); garis16(); awal(); garis15(); awal(); garis110(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='l') {Bluetooth.println("Proses L"); garis16(); awal(); garis15(); awal(); garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='m') {Bluetooth.println("Menulis M"); garis16(); awal(); garis15(); awal(); garis12(); awal(); garis13(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='n') {Bluetooth.println("Menulis N"); garis16(); awal(); garis15(); awal(); garis12(); awal(); garis13(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='o') {Bluetooth.println("Menulis O"); garis11(); awal(); garis12(); awal(); garis13(); awal(); garis16(); awal(); garis15(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L14

garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='p') {Bluetooth.println("Menulis P"); garis16(); awal(); garis15(); awal(); garis11(); awal(); garis12(); awal(); garis110(); awal(); garis18(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='q') {Bluetooth.println("Menulis Q"); garis11(); awal(); garis12(); awal(); garis13(); awal(); garis16(); awal(); garis15(); awal(); garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='r') {Bluetooth.println("Menulis R"); garis16(); awal(); garis15(); awal(); garis11(); awal(); garis12(); awal(); garis110(); awal(); garis18(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='s') {Bluetooth.println("Menulis S"); garis11(); awal(); garis16(); awal(); garis110(); awal(); garis18(); awal(); garis13(); awal(); garis14(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='t') {Bluetooth.println("Menulis T"); garis11(); awal(); garis17(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L15

garis19(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='u') {Bluetooth.println("Menulis U"); garis16(); awal(); garis15(); awal(); garis14(); awal(); garis12(); awal(); garis13(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='v') {Bluetooth.println("Menulis V"); garis16(); awal(); garis15(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='w') {Bluetooth.println("Menulis W"); garis16(); awal(); garis15(); awal(); garis12(); awal(); garis13(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='x') {Bluetooth.println("Menulis X"); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='y') {Bluetooth.println("Menulis Y"); garis19(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='Z') {Bluetooth.println("Menulis Z"); garis11(); awal(); garis14(); awal(); Bluetooth.println("selesai");} }} void karakter2() { Bluetooth.println("Karakter2"); Bluetooth.println("Kirim huruf yang akan ditulis"); delay(3000); while(Bluetooth.available()) { BluetoothData=Bluetooth.read(); if (BluetoothData=='a') {Bluetooth.println("Proses A"); garis21(); awal(); garis22(); awal(); garis23(); awal(); garis26(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L16

garis25(); awal(); garis210(); awal(); garis28(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='b') {Bluetooth.println("Proses B"); garis21(); awal(); garis22(); awal(); garis23(); awal(); garis24(); awal(); garis27(); awal(); garis29(); awal(); garis28(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='c') {Bluetooth.println("Proses C"); garis21(); awal(); garis26(); awal(); garis25(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='d') {Bluetooth.println("Proses D"); garis21(); awal(); garis22(); awal(); garis23(); awal(); garis24(); awal(); garis27(); awal(); garis29(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='e') {Bluetooth.println("Proses E"); garis21(); awal(); garis26(); awal(); garis25(); awal(); garis24(); awal(); garis210(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='f') {Bluetooth.println("Proses F"); garis21(); awal(); garis26();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L17

awal(); garis25(); awal(); garis210(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='g') {Bluetooth.println("Proses G"); garis21(); awal(); garis26(); awal(); garis25(); awal(); garis24(); awal(); garis23(); awal(); garis28(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='h') {Bluetooth.println("Proses H"); garis26(); awal(); garis25(); awal(); garis210(); awal(); garis28(); awal(); garis22(); awal(); garis23(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='i') {Bluetooth.println("Proses I"); garis21(); awal(); garis27(); awal(); garis29(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='j') {Bluetooth.println("Proses J"); garis22(); awal(); garis23(); awal(); garis24(); awal(); garis25(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='k') {Bluetooth.println("Proses K"); garis26(); awal(); garis25(); awal(); garis210(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='l')

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L18

{Bluetooth.println("Proses L"); garis26(); awal(); garis25(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='m') {Bluetooth.println("Menulis M"); garis26(); awal(); garis25(); awal(); garis22(); awal(); garis23(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='n') {Bluetooth.println("Menulis N"); garis26(); awal(); garis25(); awal(); garis22(); awal(); garis23(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='o') {Bluetooth.println("Menulis O"); garis21(); awal(); garis22(); awal(); garis23(); awal(); garis26(); awal(); garis25(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='p') {Bluetooth.println("Menulis P"); garis26(); awal(); garis25(); awal(); garis21(); awal(); garis22(); awal(); garis210(); awal(); garis28(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='q') {Bluetooth.println("Menulis Q"); garis21(); awal(); garis22(); awal(); garis23(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L19

garis26(); awal(); garis25(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='r') {Bluetooth.println("Menulis R"); garis26(); awal(); garis25(); awal(); garis21(); awal(); garis22(); awal(); garis210(); awal(); garis28(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='s') {Bluetooth.println("Menulis S"); garis21(); awal(); garis26(); awal(); garis210(); awal(); garis28(); awal(); garis23(); awal(); garis24(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='t') {Bluetooth.println("Menulis T"); garis21(); awal(); garis27(); awal(); garis29(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='u') {Bluetooth.println("Menulis U"); garis26(); awal(); garis25(); awal(); garis24(); awal(); garis22(); awal(); garis23(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='v') {Bluetooth.println("Menulis V"); garis26(); awal(); garis25(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='w') {Bluetooth.println("Menulis W");

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L20

garis26(); awal(); garis25(); awal(); garis22(); awal(); garis23(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='x') {Bluetooth.println("Menulis X"); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='y') {Bluetooth.println("Menulis Y"); garis29(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='Z') {Bluetooth.println("Menulis Z"); garis21(); awal(); garis24(); awal(); Bluetooth.println("selesai");} }} void karakter3() { Bluetooth.println("Karakter3"); Bluetooth.println("Kirim huruf yang akan ditulis"); delay(3000); while(Bluetooth.available()) { BluetoothData=Bluetooth.read(); if (BluetoothData=='a') {Bluetooth.println("Proses A"); garis31(); awal(); garis32(); awal(); garis33(); awal(); garis36(); awal(); garis35(); awal(); garis310(); awal(); garis38(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='b') {Bluetooth.println("Proses B"); garis31(); awal(); garis32(); awal(); garis33(); awal(); garis34(); awal(); garis37(); awal(); garis39(); awal(); garis38(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='c') {Bluetooth.println("Proses C"); garis31();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L21

awal(); garis36(); awal(); garis35(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='d') {Bluetooth.println("Proses D"); garis31(); awal(); garis32(); awal(); garis33(); awal(); garis34(); awal(); garis37(); awal(); garis39(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='e') {Bluetooth.println("Proses E"); garis31(); awal(); garis36(); awal(); garis35(); awal(); garis34(); awal(); garis310(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='f') {Bluetooth.println("Proses F"); garis31(); awal(); garis36(); awal(); garis35(); awal(); garis310(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='g') {Bluetooth.println("Proses G"); garis31(); awal(); garis36(); awal(); garis35(); awal(); garis34(); awal(); garis33(); awal(); garis38(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='h') {Bluetooth.println("Proses H"); garis36(); awal(); garis35(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L22

garis310(); awal(); garis38(); awal(); garis32(); awal(); garis33(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='i') {Bluetooth.println("Proses I"); garis31(); awal(); garis37(); awal(); garis39(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='j') {Bluetooth.println("Proses J"); garis32(); awal(); garis33(); awal(); garis34(); awal(); garis35(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='k') {Bluetooth.println("Proses K"); garis36(); awal(); garis35(); awal(); garis310(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='l') {Bluetooth.println("Proses L"); garis36(); awal(); garis35(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='m') {Bluetooth.println("Menulis M"); garis36(); awal(); garis35(); awal(); garis32(); awal(); garis33(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='n') {Bluetooth.println("Menulis N"); garis36(); awal(); garis35(); awal(); garis32(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L23

garis33(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='o') {Bluetooth.println("Menulis O"); garis31(); awal(); garis32(); awal(); garis33(); awal(); garis36(); awal(); garis35(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='p') {Bluetooth.println("Menulis P"); garis36(); awal(); garis35(); awal(); garis31(); awal(); garis32(); awal(); garis310(); awal(); garis38(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='q') {Bluetooth.println("Menulis Q"); garis31(); awal(); garis32(); awal(); garis33(); awal(); garis36(); awal(); garis35(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='r') {Bluetooth.println("Menulis R"); garis36(); awal(); garis35(); awal(); garis31(); awal(); garis32(); awal(); garis310(); awal(); garis38(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='s') {Bluetooth.println("Menulis S"); garis31(); awal(); garis36(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L24

garis310(); awal(); garis38(); awal(); garis33(); awal(); garis34(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='t') {Bluetooth.println("Menulis T"); garis31(); awal(); garis37(); awal(); garis39(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='u') {Bluetooth.println("Menulis U"); garis36(); awal(); garis35(); awal(); garis34(); awal(); garis32(); awal(); garis33(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='v') {Bluetooth.println("Menulis V"); garis36(); awal(); garis35(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='w') {Bluetooth.println("Menulis W"); garis36(); awal(); garis35(); awal(); garis32(); awal(); garis33(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='x') {Bluetooth.println("Menulis X"); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='y') {Bluetooth.println("Menulis Y"); garis39(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='Z') {Bluetooth.println("Menulis Z"); garis31(); awal(); garis34(); awal(); Bluetooth.println("selesai");} }} void karakter4()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L25

{ Bluetooth.println("Karakter4"); Bluetooth.println("Kirim huruf yang akan ditulis"); delay(3000); while(Bluetooth.available()) { BluetoothData=Bluetooth.read(); if (BluetoothData=='a') {Bluetooth.println("Proses A"); garis41(); awal(); garis42(); awal(); garis43(); awal(); garis46(); awal(); garis45(); awal(); garis410(); awal(); garis48(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='b') {Bluetooth.println("Proses B"); garis41(); awal(); garis42(); awal(); garis43(); awal(); garis44(); awal(); garis47(); awal(); garis49(); awal(); garis48(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='c') {Bluetooth.println("Proses C"); garis41(); awal(); garis46(); awal(); garis45(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='d') {Bluetooth.println("Proses D"); garis41(); awal(); garis42(); awal(); garis43(); awal(); garis44(); awal(); garis47(); awal(); garis49(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='e') {Bluetooth.println("Proses E"); garis41(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 118: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L26

garis46(); awal(); garis45(); awal(); garis44(); awal(); garis410(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='f') {Bluetooth.println("Proses F"); garis41(); awal(); garis46(); awal(); garis45(); awal(); garis410(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='g') {Bluetooth.println("Proses G"); garis41(); awal(); garis46(); awal(); garis45(); awal(); garis44(); awal(); garis43(); awal(); garis48(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='h') {Bluetooth.println("Proses H"); garis46(); awal(); garis45(); awal(); garis410(); awal(); garis48(); awal(); garis42(); awal(); garis43(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='i') {Bluetooth.println("Proses I"); garis41(); awal(); garis47(); awal(); garis49(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='j') {Bluetooth.println("Proses J"); garis42(); awal(); garis43(); awal(); garis44(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 119: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L27

garis45(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='k') {Bluetooth.println("Proses K"); garis46(); awal(); garis45(); awal(); garis410(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='l') {Bluetooth.println("Proses L"); garis46(); awal(); garis45(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='m') {Bluetooth.println("Menulis M"); garis46(); awal(); garis45(); awal(); garis42(); awal(); garis43(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='n') {Bluetooth.println("Menulis N"); garis46(); awal(); garis45(); awal(); garis42(); awal(); garis43(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='o') {Bluetooth.println("Menulis O"); garis41(); awal(); garis42(); awal(); garis43(); awal(); garis46(); awal(); garis45(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='p') {Bluetooth.println("Menulis P"); garis46(); awal(); garis45(); awal(); garis41(); awal(); garis42();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 120: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L28

awal(); garis410(); awal(); garis48(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='q') {Bluetooth.println("Menulis Q"); garis41(); awal(); garis42(); awal(); garis43(); awal(); garis46(); awal(); garis45(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='r') {Bluetooth.println("Menulis R"); garis46(); awal(); garis45(); awal(); garis41(); awal(); garis42(); awal(); garis410(); awal(); garis48(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='s') {Bluetooth.println("Menulis S"); garis41(); awal(); garis46(); awal(); garis410(); awal(); garis48(); awal(); garis43(); awal(); garis44(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='t') {Bluetooth.println("Menulis T"); garis41(); awal(); garis47(); awal(); garis49(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='u') {Bluetooth.println("Menulis U"); garis46(); awal(); garis45(); awal(); garis44(); awal();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 121: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L29

garis42(); awal(); garis43(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='v') {Bluetooth.println("Menulis V"); garis46(); awal(); garis45(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='w') {Bluetooth.println("Menulis W"); garis46(); awal(); garis45(); awal(); garis42(); awal(); garis43(); awal(); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='x') {Bluetooth.println("Menulis X"); Bluetooth.println("selesai");} delay(100); if (BluetoothData=='y') {Bluetooth.println("Menulis Y"); garis49(); awal(); Bluetooth.println("Selesai");} delay(100); if (BluetoothData=='Z') {Bluetooth.println("Menulis Z"); garis41(); awal(); garis44(); awal(); Bluetooth.println("selesai");} }} void garis51 () //Karakter 5 garis 1 { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(40,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 122: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L30

pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i-=2){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i+=2){ pwm.setPWM(0, 0, i); delay (20);} } void garis52 () { sudut11 = map(138,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(40,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 123: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L31

for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(49,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis53() sudut11 = map(138,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(49,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(57,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 124: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L32

pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis54() { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(57,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}} delay(1000); sudut21 = map(107,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis55() { sudut11 = map(130,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 125: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L33

else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(92,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(60,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis56() { sudut11 = map(130,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 126: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L34

pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(92,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(53,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis57() { sudut11 = map(134,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(42,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 127: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L35

for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis58() { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(48,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 128: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L36

else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis59() { sudut11 = map(134,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(50,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(59,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 129: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L37

for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis510() { // karakter 5 garis 10 sudut11 = map(135,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(50,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis11 () //Karakter 1 garis 1 { sudut11 = map(60,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 130: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L38

for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(35,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(84,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(89,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis12 () { sudut11 = map(70,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 131: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L39

delay (20);}} sudut14 = map(39,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(86,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(47,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis13() { sudut11 = map(70,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(47,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 132: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L40

pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(87,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(56,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis14() { sudut11 = map(60,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(50,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(84,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 133: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L41

for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}} delay(1000); sudut21 = map(89,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i);//BASE delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i);//BASE delay (20);}} } void garis15() { sudut11 = map(60,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(42,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(84,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(50,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 134: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L42

pwm.setPWM(12, 0, i); delay (20);}} } void garis16() { sudut11 = map(60,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(36,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(84,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(42,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis17() { sudut11 = map(65,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 135: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L43

delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(35,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(85,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(45,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis18() { sudut11 = map(65,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(45,120,0, SERVOMIN4,SERVOMAX4); //Pitch

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 136: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L44

if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);} sudut121 = map(85,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(88,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i-=2){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i+=2){ pwm.setPWM(0, 0, i); delay (20);}} } void garis19() { sudut11 = map(64,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(45,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 137: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L45

delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(85,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis110() { // karakter 1 garis 10 sudut11 = map(60,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(44,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(35,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(85,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 138: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L46

pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(86,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);} void garis21 () //Karakter 2 garis 1 { sudut11 = map(72,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(37,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 139: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L47

delay (20);}} } void garis22 () { sudut11 = map(82,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(40,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(49,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis23() { sudut11 = map(82,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 140: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L48

sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(48,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(56,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis24() { sudut11 = map(72,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(55,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 141: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L49

for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}} delay(1000); sudut21 = map(100,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis25() { sudut11 = map(72,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(47,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 142: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L50

else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(55,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis26() { sudut11 = map(72,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(38,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 143: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L51

pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(47,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis27() { sudut11 = map(77,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(39,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(48,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 144: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L52

} void garis28() { sudut11 = map(77,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(47,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(99,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis29() { sudut11 = map(77,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 145: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L53

if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(47,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(55,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis210() { // karakter 2 garis 10 sudut11 = map(72,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(47,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 146: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L54

pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(93,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis31 () //Karakter 3 garis 1 { sudut11 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(42,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 147: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L55

else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(109,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis32 () { sudut11 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 148: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L56

pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(53,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis33() { sudut11 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(61,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 149: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L57

void garis34() { sudut11 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(60,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}} delay(1000); sudut21 = map(110,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis35() { sudut11 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 150: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L58

for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(60,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis36() { sudut11 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(42,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 151: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L59

delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis37() { sudut11 = map(104,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 152: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L60

pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis38() { sudut11 = map(104,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 153: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L61

delay(1000); sudut21 = map(110,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis39() { sudut11 = map(104,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(60,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis310() { // karakter 3 garis 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 154: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L62

sudut11 = map(98,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(106,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis41 () //Karakter 4 garis 1 { sudut11 = map(114,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 155: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L63

for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(124,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i-=2){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i+=2){ pwm.setPWM(0, 0, i); delay (20);}} } void garis42 () { sudut11 = map(125,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 156: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L64

delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis43() { sudut11 = map(125,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 157: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L65

delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(60,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis44() { sudut11 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(61,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 158: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L66

delay(1000); sudut21 = map(126,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis45() { sudut11 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(61,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis46() { sudut11 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //BASE

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 159: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L67

if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(53,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis47() { sudut11 = map(120,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 160: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L68

pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis48() { sudut11 = map(120,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 161: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L69

for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(125,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis49() { sudut11 = map(120,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 162: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L70

sudut121 = map(94,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(61,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis410() { // karakter 4 garis 10 sudut11 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(93,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 163: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L71

sudut21 = map(121,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} void garis51 () //Karakter 5 garis 1 { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(40,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i-=2){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i+=2){ pwm.setPWM(0, 0, i); delay (20);}} } void garis52 () { sudut11 = map(138,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 164: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L72

for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(40,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(49,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis53() { sudut11 = map(138,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 mundur if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 165: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L73

delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(49,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(89,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(57,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis54() { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(57,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 166: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L74

pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder1 delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i);//shoulder1 pwm.setPWM(4, 0, i);//shoulder2 delay (20);}} delay(1000); sudut21 = map(107,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis55() { sudut11 = map(130,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(52,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(92,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 167: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L75

if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(60,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis56() { sudut11 = map(130,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(43,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(92,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(53,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 168: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L76

for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis57() { sudut11 = map(134,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(42,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(51,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis58() { sudut11 = map(140,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 169: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L77

pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(48,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(90,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(115,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} } void garis59() { sudut11 = map(134,0, 180, SERVOMIN1,SERVOMAX1); //BASE if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 170: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L78

else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(50,120,0, SERVOMIN4,SERVOMAX4); //PITCH if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i); delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //ELBOW if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut24 = map(59,120,0, SERVOMIN4,SERVOMAX4); //PITCH turun if(sudut14 > sudut24){ for(int i=sudut14; i>=sudut24; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut14; i<=sudut24; i++){ pwm.setPWM(12, 0, i); delay (20);}} } void garis510() { // karakter 5 garis 10 sudut11 = map(135,0, 180, SERVOMIN1,SERVOMAX1); //Base if(sudut1 > sudut11){ for(int i=sudut1; i>=sudut11; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut1; i<=sudut11; i++){ pwm.setPWM(0, 0, i); delay (20);}} sudut12 = map(110,0, 180, SERVOMIN2,SERVOMAX2); //SHOULDER 1 DAN 2 if(sudut2 > sudut12){ for(int i=sudut2; i>=sudut12; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut2; i<=sudut12; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} sudut14 = map(50,120,0, SERVOMIN4,SERVOMAX4); //Pitch if(sudut4 > sudut14){ for(int i=sudut4; i>=sudut14; i--){ pwm.setPWM(12, 0, i); delay (20);}} else{ for(int i=sudut4; i<=sudut14; i++){ pwm.setPWM(12, 0, i);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 171: LENGAN ROBOT PENULIS KATA YANG DIKENDALIKAN OLEH APLIKASI … · 2.5.2 Penggunaan Persamaan Trigonometri ..... 24 BAB III:PERANCANGAN 3.1. Proses Kerja Sistem ..... 28 ... kedokteran,

L79

delay (20);}} sudut13 = map(40,180,0, SERVOMIN3,SERVOMAX3); //Elbow if(sudut3 > sudut13){ for(int i=sudut3; i>=sudut13; i--){ pwm.setPWM(6, 0, i); delay (20);}} else{ for(int i=sudut3; i<=sudut13; i++){ pwm.setPWM(6, 0, i); delay (20);}} sudut121 = map(91,0, 180, SERVOMIN2,SERVOMAX2); //Shoulder 1 dan 2 if(sudut12 > sudut121){ for(int i=sudut12; i>=sudut121; i--){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} else{ for(int i=sudut12; i<=sudut121; i++){ pwm.setPWM(2, 0, i); pwm.setPWM(4, 0, i); delay (20);}} delay(1000); sudut21 = map(108,0, 180, SERVOMIN1,SERVOMAX1); //Base bergeser if(sudut11 > sudut21){ for(int i=sudut11; i>=sudut21; i--){ pwm.setPWM(0, 0, i); delay (20);}} else{ for(int i=sudut11; i<=sudut21; i++){ pwm.setPWM(0, 0, i); delay (20);}} }

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI