Aplikasi pengenalan ucapan untuk lengan robot pengambil benda.

(1)

INTISARI

Seiring perkembangan modern, manusia banyak sekali melakukan aktivitas yang beresiko terjadi kecelakaan. Salah satu aktivitaasnya yakni saat mengambil benda pada ketinggian. Diamping itu masa sekarang sudah banyak pekerjaan manusia yang dilakukan oleh robot. Robot mempermudah manusia untuk melakukan hal yang beresiko terjadinya kecelakaan. Selain robot juga berkembang pula teknologi speech regonition yang berguna untuk mengenali ucapan manusia. Dengan kedua teknologi tersebut memberikan ide untuk mengendalikan lengan robot dengan suara manusia untuk mengambil benda

Lengan robot akan bergerak berdasarkan perintah ucapan yang diterima. Lengan robot memiliki 4 buah servo yang terletak pada base, shoulder, elbow dan gripper. Benda yang diambil terbuat dari sterofoam berwana putih. Ucapan manusia akan diterima menggunakan microphone menuju PC/laptop. Perintah ucapan untuk mengambil benda yaitu balok, bola, kubus, dan tabung. Semua ucapan diproses melalui tahapan seperti pre emphasis, normalisasi, pemotongan sinyal, zero padding, framing , windowing data masukan dan ektraksi ciri DFT( DiscreteFourierTransform). Hasil ektraksi ciri akan dibandingkan dengan variasi database 1, 2, 4,dan 8 ucapan dengan melakukan perhitungan similaritas kosinus.

Pengenalan ucapan untuk pergerakan lengan robot pengambil benda telah berjalan dengan baik terhadap 3 user. Perintah masukan ucapan berhasil dideteksi dan lengan robot telah bergerak sesuai perintah ucapan masukan. Gripper lengan robot dapat mengambil benda dengan ukuran 5cm. Didapatkan hasil terbaik dengan database 1, segment averaging 8, dan nilai kNN 1. Program pengenalan realtime dengan nilai thresholding mampu mengenali rata rata persentase semua user sebesar 87,5%.

Kata kunci : lengan robot, speech recognition, DFT(Discrete Fourier Transform), kNN, thresholding, similaritas kosinus.


(2)

ABSTRACT

As the time goes on, human have done numerous dangerous high risk activity. One of the examples is process of taking object at a certain height. Other than that, most human activities can be done by robot these days. Robot ease human in doing high risk activity that could lead to accident. Other than the advance of robot technology during the few last decades, speech and voice recognition technology in identifies human verbal command also found and improved. With the two new technologies, it gave an idea to control an artificial robot arm with voice recognition to taking object.

Robot’s arm will move according to command that it receives. Robot’s arm have 4

servo which are located at base, shoulder, elbow, and gripper. Object that will be used for grabbing is made with a white colour styrofoam. Human speech will be receive by using a microphone which will linked to a PC/laptop. Verbal command to take object with different kind of shape, such as beam, ball, cube, or tube. All verbal command will be processed in few stages, such as pre emphasis, normalisasi, pemotongan sinyal, zero padding, framing , windowing of input data and character extraction of DFT (Discrete Fourier Transform). Result of character extraction will be sampled against verbal database 1,2,4, dan 8 to be analyzed of cosinus similarities.

Voice recognition usage to move robot’s arm movement in taking object have gone well for three users. Input of verbal command successfully detected and robot’s arm have

moved according to commands. Robot arm gripper can pick up objects with the size of 5 cm. Best result is in database 1, segment averaging of 8, and kKN score of 1. Program with the introduction of real time thresholding able to recognize the value of an average percentage of 87.5% of all users..

Keywords: Robot arm’s, speech recognition, DFT (Discrete Fourier Transform), thresholding, cosinus similarities.


(3)

TUGAS AKHIR

APLIKASI PENGENALAN UCAPAN

UNTUK LENGAN ROBOT PENGAMBIL BENDA

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

FRANSISCUS XAVERIUS DWICAHYO RIANTO PUTRO NIM : 115114009

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

i

TUGAS AKHIR

APLIKASI PENGENALAN UCAPAN

UNTUK LENGAN ROBOT PENGAMBIL BENDA

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Oleh :

FRANSISCUS XAVERIUS DWICAHYO RIANTO PUTRO NIM : 115114009

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(5)

ii

FINAL PROJECT

SPEECH RECOGNITION APPLICATIONS FOR ROBOT ARM TAKER

OBJECTS

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

FRANSISCUS XAVERIUS DWICAHYO RIANTO PUTRO NIM : 115114009

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2015


(6)

(7)

(8)

(9)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO :

Seseorang takkan pernah memahami arti keberhasilan

yang sempurna tanpa mengalami kegagalan sebelumnya

Dengan ini kupersembahkan karyaku untuk …..

Yesus Kristus Sang Juru Selamat pendamping hidupku yang setia,

Keluargaku tercinta,

Anastasia Andita Prastiti yang selalu menemaniku,

Teman-teman seperjuanganku,

Dan semua orang yang hadir didalam kehidupanku


(10)

(11)

viii

INTISARI

Seiring perkembangan modern, manusia banyak sekali melakukan aktivitas yang beresiko terjadi kecelakaan. Salah satu aktivitaasnya yakni saat mengambil benda pada ketinggian. Diamping itu masa sekarang sudah banyak pekerjaan manusia yang dilakukan oleh robot. Robot mempermudah manusia untuk melakukan hal yang beresiko terjadinya kecelakaan. Selain robot juga berkembang pula teknologi speech regonition yang berguna untuk mengenali ucapan manusia. Dengan kedua teknologi tersebut memberikan ide untuk mengendalikan lengan robot dengan suara manusia untuk mengambil benda

Lengan robot akan bergerak berdasarkan perintah ucapan yang diterima. Lengan robot memiliki 4 buah servo yang terletak pada base, shoulder, elbow dan gripper. Benda yang diambil terbuat dari sterofoam berwana putih. Ucapan manusia akan diterima menggunakan microphone menuju PC/laptop. Perintah ucapan untuk mengambil benda yaitu balok, bola, kubus, dan tabung. Semua ucapan diproses melalui tahapan seperti pre emphasis, normalisasi, pemotongan sinyal, zero padding, framing , windowing data masukan dan ektraksi ciri DFT( DiscreteFourierTransform). Hasil ektraksi ciri akan dibandingkan dengan variasi database 1, 2, 4,dan 8 ucapan dengan melakukan perhitungan similaritas kosinus.

Pengenalan ucapan untuk pergerakan lengan robot pengambil benda telah berjalan dengan baik terhadap 3 user. Perintah masukan ucapan berhasil dideteksi dan lengan robot telah bergerak sesuai perintah ucapan masukan. Gripper lengan robot dapat mengambil benda dengan ukuran 5cm. Didapatkan hasil terbaik dengan database 1, segment averaging 8, dan nilai kNN 1. Program pengenalan realtime dengan nilai thresholding mampu mengenali rata rata persentase semua user sebesar 87,5%.

Kata kunci : lengan robot, speech recognition, DFT(Discrete Fourier Transform), kNN, thresholding, similaritas kosinus.


(12)

ix

ABSTRACT

As the time goes on, human have done numerous dangerous high risk activity. One of the examples is process of taking object at a certain height. Other than that, most human activities can be done by robot these days. Robot ease human in doing high risk activity that could lead to accident. Other than the advance of robot technology during the few last decades, speech and voice recognition technology in identifies human verbal command also found and improved. With the two new technologies, it gave an idea to control an artificial robot arm with voice recognition to taking object.

Robot’s arm will move according to command that it receives. Robot’s arm have 4 servo which are located at base, shoulder, elbow, and gripper. Object that will be used for grabbing is made with a white colour styrofoam. Human speech will be receive by using a microphone which will linked to a PC/laptop. Verbal command to take object with different kind of shape, such as beam, ball, cube, or tube. All verbal command will be processed in few stages, such as pre emphasis, normalisasi, pemotongan sinyal, zero padding, framing , windowing of input data and character extraction of DFT (Discrete Fourier Transform). Result of character extraction will be sampled against verbal database 1,2,4, dan 8 to be analyzed of cosinus similarities.

Voice recognition usage to move robot’s arm movement in taking object have gone well for three users. Input of verbal command successfully detected and robot’s arm have moved according to commands. Robot arm gripper can pick up objects with the size of 5 cm. Best result is in database 1, segment averaging of 8, and kKN score of 1. Program with the introduction of real time thresholding able to recognize the value of an average percentage of 87.5% of all users..

Keywords: Robot arm’s, speech recognition, DFT (Discrete Fourier Transform), thresholding, cosinus similarities.


(13)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena atas segala rahmat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini dengan baik. Laporan tugas akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana.

Selama pembuatan tugas akhir ini penulis menyadari bahwa begitu banyak pihak yang memberikan bantuan baik berupa idea tau gagasan, dukungan moral, maupun bantuan materi. Oleh karena itu, peneliti ingin mengucapkan terimakasih kepada :

1. Drs. Johanes Eka Priyatma, M.Sc., Ph.D, Rektor Universitas Sanata Dharma 2. Paulina Haruningsih Prima Rosa, S.si., M.Sc, Dekan Fakultas Sains dan

Teknologi

3. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro Universitas Sanata Dharma.

4. Dr.Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini.

5. Wiwien Widyastuti, S.T.,M.T. dan Dr.Iswanjono selaku dosen penguji yang telah memberi masukkan, kritik dan saran serta merevisi penulisan tugas akhir ini. 6. Seluruh dosen yang telah mengajarkan banyak ilmu yang bermanfaat selama

menempuh pendidikan di Universitas Sanata Dharma.

7. Keluarga penulis baik ayah, ibu, adik, dan kakak yang telah banyak memberikan dukungan doa, kasih sayang dan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.

8. Anastasia Andita Prastiti kekasihku yang selalu menemani dan mendukung selama penulisan tugas akhir ini.

9. Keluarga besarku yang telah memberi dukungan selama menempuh pendidikan di Universitas Sanata Dharma.

10.Teman – teman seperjuangan Teknik Elektro 2011 yang telah menemani pada saat menempuh pendidikan di Universitas Sanata Dhama.

11.Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir ini.


(14)

(15)

xii

DAFTAR ISI

Halaman

HALAMAN JUDUL

. ... i

HALAMAN PERSETUJUAN

.. ... iii

HALAMAN PENGESAHAN

. ... iv

PERNYATAAN KEASLIAN KARYA

. ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

. ... vii

INTISARI

. ... viii

ABSTRACT

. ... ix

KATA PENGANTAR

. ... x

DAFTAR ISI

. ... xii

DAFTAR GAMBAR

. ... xvi

DAFTAR TABEL

. ...

xix

BAB I PENDAHULUAN

1.1. Latar Belakang. ... 1

1.2. Tujuan dan Manfaat Penelitian ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II DASAR TEORI

2.1. Sinyal Suara Manusia ... 6

2.2. SpeechRecognition ... 7

2.3. Sampling ... 7

2.4. Preprocessing ... 8

2.4.1. PreEmphasis ... 8

2.4.2. Normalisasi ... 9

2.4.3. Pemotongan Sinyal ... 10


(16)

xiii

2.5. Framing dan Windowing ... 12

2.6. DiscreteFourierTransform(DFT) ... 14

2.7. SegmentAveraging ... 15

2.8. Klasifikasi K-NN... 16

2.9 Template Matching ... 17

2.9.1. Similaritas Kosinus... 17

2.10. Lengan Robot ... 17

2.11. Mikrokontroler ATmega32... 18

2.11.1. Arsitektur AVR ATmega32 ... 19

2.11.2. Konfigurasi PIN Mikrokontroler ATmega32 ... 19

2.11.3. Peta Memori AVR ATmega32 ... 20

2.11.4. Interupsi ... 21

2.11.5. Timer/Counter Atmega32 ... 21

2.11.6. Komunikasi Serial USART ... 23

2.11.6.1. USART Control and StatusRegister A(USCRA) ... 24

2.11.6.2. USART Control and StatusRegister B(USCRB) ... 25

2.11.6.3. USART Control and StatusRegister C(USCRC) ... 26

2.11.6.4. USART I/O Data Register (UDR) ... 27

2.12. SoundCard ... 27

2.13. Momen Gaya/Torsi ... 28

2.14. Motor Servo ... 28

2.15. LCD 16x2... ... 31

2.16. IC Regulator... 34

2.17. Benda 3 Dimiensi... 36

2.18. Mikrofon... 36

BAB III PERANCANGAN

3.1. Konsep Dasar ... 38

3.1.1. Ucapan Manusia... ... 39

3.1.2. Mikrofon.... ... 39

3.1.3. Sound Card (Kartu Suara)... ... 40

3.1.4. Matlab.... ... 40

3.1.5. USB TO TTL.... ... 40


(17)

xiv

3.1.7. Motor Servo.. ... 41

3.2. Perancangan Sistem Pengenalan Ucapan ... 41

3.2.1. Sampling... 43

3.2.2. PreEmphasis... ... 45

3.2.3. Normalisasi... ... 45

3.2.4. Pemotongan Sinyal... ... 46

3.2.5. ZeroPadding... 47

3.2.6. Framing dan Windowing... ... 48

3.2.7. Ektraksi Ciri... ... 49

3.2.8. Perhitungan Similaritas... ... 50

3.2.9. Penentuan hasil pengenalan suara (k-NearestNeigbor)... ... 51

3.2.10. Program komunikasi serial dengan matlab... ... 53

3.2.11. Program interupt lengan robot... ... 54

3.3. Perancangan Pembentukan Database Ucapan Kata ... 63

3.4. Perancangan GUI MATLAB ... 63

3.5. Perancangan Lengan Robot ... 64

3.5.1. Perancangan Peletakan Seluruh Komponen ... 66

3.6. Perancangan Lengan Robot ... 67

3.6.1. Minimum System ATmega32... 67

3.6.2. Rangkaian Konfigurasi LCD 16x2 ... 68

3.6.3. Perhitungan Torsi ... 69

3.6.4. Motor Servo ... 72

3.6.5. Regulator IC dan Penguatan Arus ... 73

3.6.6. Benda 3 Dimensi ... 74

BAB IV HASIL DAN PEMBAHASAN

4.1. Implementasi Lengan Robot ... 75

4.1.1. Bentuk Fisik Hardware dan Konsep Kerja Lengan Robot... 75

4.1.2. SistemElektronik ... 77

4.1.3. Implementasi Peletakan Seluruh Komponen ... 79

4.1.4. Program Lengan Robot... ... 79

4.1.4.1. Pengendalian Komunikasi USART... ... 80

4.1.4.2. Pengendalian Motor Servo... ... 81


(18)

xv

4.2.1. Tombol Rekam ... 85

4.2.2. PopUpMenu ... 92

4.2.3. Tombol Reset... ... 94

4.2.4. Tombol Stop... ... 94

4.3. Pengujian Sudut Motor Servo... ... 94

4.4. Pengujian Untuk Tingkat Pengenalan Ucapan... ... 96

4.4.1. Pengujian Pengenalan Ucapan Secara RealTime... 96

4.4.2. Pengujian Pengenalan Secara RealTime ... 102

4.4.2.1. Pengujian RealTime tanpa Nilai Thresholding ... 102

4.4.2.2. Pengujian RealTime dengan Nilai Thresholding ... 104

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan... 107

5.2. Saran... 108

DAFTAR PUSTAKA

... 109

LAMPIRAN

LAMPIRAN A Percobaan Sampling dengan Variasi LamaWaktu Pencuplikan ... L1

LAMPIRAN B Percobaan Menentukan Sudut Tiap Servo dengan Lengan Robot ... L8

LAMPIRAN C Rangkaian Elektronika... L15

LAMPIRAN D Pembentukan Basis Data ... L17

LAMPIRAN E Pengujian Pengenalan Secara Tidak RealTime. ... L19

LAMPIRAN F Program Pengenalan Ucapan Secara RealTime. ... L28

LAMPIRAN G Menentukan Similaritas Minimal untuk Nilai Thresholding... L35

LAMPIRAN H Program Lengan Robot dengan Codevision. ... L36


(19)

xvi

DAFTAR TABEL

Halaman

Tabel 2.1. Hubungan PIN dan Interupt ... 21

Tabel 2.2. Penentuan Ukuran Karakter untuk UCSZ[2..0] ... 25

Tabel 2.3. Setting UPM0..1 untuk settingparity ... 26

Tabel 2.4. Spesifikasi servo Towerpro 996R ... 30

Tabel 2.5. Spesifikasi servo Towerpro SG90 ... 31

Tabel 2.6. Operasi baca/tulis LCD 16x2 ... 32

Tabel 2.7. Operasi dasar LCD 16x2 ... 33

Tabel 2.8. Konfigurasi pin LCD 16x2 ... 34

Tabel 2.9. Karakteristik Regulator Tegangan IC 78xx ... 34

Tabel 2.10. Spesifikasi mikrofon pada headset SADES ... 37

Tabel 3.1. Spesifikasi Headset SADES... 40

Tabel 3.2. Pengucapan kata dan data yang dikirim ... 54

Tabel 3.3. Kondisi dan posisi sudut tiap servo ... 55

Tabel 3.4. Keterangan tampilan GUI MATLAB... ... 64

Tabel 3.5. Data yang diguanakan untuk perhitungan torsi... .... 70

Tabel 3.6. Perhitungan nilai OCR pada motor servo... ... 73

Tabel 4.1. Tabel Fungsi Saluran Mikrokontroler. ... 80

Tabel 4.2. Nilai OCR setiap kondisi pada masing masing data pada servo ... 82

Tabel 4.3. Nilai OCR pada pergerakan 10 derajat motor servo ... 95

Tabel 4.4. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R ... 95

Tabel 4.5. Tingkat Pengenalan (%) Secara Tidak RealTime dengan Database 1 ... 97

Tabel 4.6. Tingkat Pengenalan (%) Secara Tidak RealTime dengan Database 2 ... 98

Tabel 4.7. Tingkat Pengenalan (%) Secara Tidak RealTime dengan Database 4 ... 99

Tabel 4.8. Tingkat Pengenalan (%) Secara Tidak RealTime dengan Database 8... 100

Tabel 4.9. Batas Bawah Nilai Similaritas... 102

Tabel 4.10. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan User Pertama ... 103

Tabel 4.11. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan User Kedua ... 103


(20)

xvii

Tabel 4.12. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan User

Ketiga ... 103 Tabel 4.13. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai

Thresholding User Pertama ... 104 Tabel 4.14. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai

Thresholding User Kedua ... 104 Tabel 4.15. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai

Thresholding User Ketiga ... 104 Tabel 4.16. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai

Thresholding Pengucapan Kata Lain User Pertama ... 104 Tabel 4.17. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai

Thresholding Pengucapan Kata Lain User Kedua ... 104 Tabel 4.18. ConfusionMatrix Data Hasil Pengujian Secara RealTime dengan Nilai


(21)

xviii

DAFTAR GAMBAR

Halaman

Gambar 1.1. Alur kerja seluruh sistem ... 4

Gambar 2.1. Gambar Artikulator Pada Saat Produksi Suara ... 6

Gambar 2.2. Gambar Tempat Produksi Suara ... 7

Gambar 2.3. Gambar Aliasing ... 8

Gambar 2.4. Sinyal Masukan ... 9

Gambar 2.5. Sinyal Hasil PreEmphasis ... 9

Gambar 2.6. Sinyal Hasil PreEmphasis ... 10

Gambar 2.7. Sinyal Hasil Normalisasi ... 10

Gambar 2.8. Posisi Sinyal Data Ucapan ... 11

Gambar 2.9. Proses Pemotongan Sinyal ... 11

Gambar 2.10. Proses ZeroPadding ... 12

Gambar 2.11. Proses Framing. ... 13

Gambar 2.12. Proses Framing dan Windowing ... 14

Gambar 2.13. Proses Ektraksi Ciri ... 15

Gambar 2.14. Proses SegmentAveraging... 16

Gambar 2.15. Bagian robot manipulator ... 18

Gambar 2.16. Konfigurasi Pin Mikrokontroler ATmega32. ... 19

Gambar 2.17. ModePhaseCorrect PWM... 22

Gambar 2.18. ModeFast PWM... ... 23

Gambar 2.19. Register USCRA... ... 24

Gambar 2.20. Register UCSRB... ... 25

Gambar 2.21. Register UCSRC... ... 26

Gambar 2.22. Register UDR... ... 27

Gambar 2.23. Bentuk soundcard PC... ... 28

Gambar 2.24. Model fisik motor servo... ... 28

Gambar 2.25. Cara pengontrolan motor servo... ... 29

Gambar 2.26. Towerpro 996R... ... 30

Gambar 2.27. Towerpro SG90... ... 31


(22)

xix

Gambar 2.29. Rangkaian umum regulator 78xx... ... 35 Gambar 2.30. Rangkaian catu daya dengan penguat... ... 35 Gambar 2.31. Benda 3 Dimensi... ... 36 Gambar 2.32. Bentuk headset SADES... ... 37 Gambar 3.1. Perancangan Sistem.. ... 38 Gambar 3.2. Headset SADES ... 39 Gambar 3.3. Blok Diagram Perancangan Pengenalan Suara... 41 Gambar 3.4. Blok Diagram SubProses Preprocessing ... 42 Gambar 3.5. Flowchart Program pada MATLAB ... 43 Gambar 3.6. Flowchart Program Fungsi Sampling ... 44 Gambar 3.7. Flowchart Program PreEmphasis ... 45 Gambar 3.8. Flowchart Program Fungsi Normalisasi ... 46 Gambar 3.9. Flowchart Program Pemotongan Sinyal ... 46 Gambar 3.10. Flowchart Program ZeroPadding ... 47 Gambar 3.11. Flowchart Program framing dan windowing ... 49 Gambar 3.12. Flowchart Ektraksi Ciri DFT ... 49 Gambar 3.13. FlowchartSegmentAveraging ... 50 Gambar 3.14. Flowchart Program Perhitungan Similaritas ... 51 Gambar 3.15. Flowchart Pengenalan Keluaran dengan Metode kNN ... 53 Gambar 3.16. Flowchart Program Komunikasi Serial dengan MATLAB ... 54 Gambar 3.17. Posisi Servo pada Lengan Robot ... 55 Gambar 3.18. Flowchart Pergerakan Lengan Robot Keseluruhan... 56 Gambar 3.19. Flowchart program subrutin lengan robot saat kondisi awal ... 57 Gambar 3.20. Flowchart program subrutin lengan robot saat pengambilan

bola... 58 Gambar 3.21. Flowchart program subrutin lengan robot saat pengambilan

kubus... 59 Gambar 3.22. Flowchart program subrutin lengan robot saat pengambilan

balok... 60 Gambar 3.23. Flowchart program subrutin lengan robot saat pengambilan

tabung... 61 Gambar 3.24. Flowchart program subrutin lengan robot saat meletakan


(23)

xx

Gambar 3.25. Rancangan interface GUI MATLAB dalam

sistem... 63 Gambar 3.26. Diagram Blok Lengan Robot... 64 Gambar 3.27. Design lengan robot secara keseluruhan... 65 Gambar 3.28. Perancangan Link 1... 65 Gambar 3.29. Perancangan Link 2... 66 Gambar 3.30. Perancangan Gripper... 66 Gambar 3.31. Seluruh Komponen... 67 Gambar 3.32. Rangkaian Osilator pada ATmega32... 68 Gambar 3.33. Rangkaian Reset pada ATmega32... 68 Gambar 3.34. Rangkaian LCD 16x2... 69 Gambar 3.35. Konfigurasi kaki LCD 16x2... 69 Gambar 3.36. Kontruksi Lengan Robot... 70 Gambar 3.37. Rangkaian pin motor servo... 72 Gambar 3.38. Lebar pulsa pada motor servo... 73 Gambar 3.39. Rangkaian regulator 7805 dengan penguatan arus... 74 Gambar 3.40. Benda 3 dimensi... 74 Gambar 4.1. Lengan Robot Tampak Atas dan Tampak Samping ...

75 Gambar 4.2. Bentuk Fisik Benda... 76 Gambar 4.3 Tempat Pengambilan Benda... 76

Gambar 4.4. Tempat Meletakkan Benda. ... 77 Gambar 4.5. Bentuk fisik USB To TTL ... 77 Gambar 4.6. MinimumSystem. ... 78 Gambar 4.7. Regulator. ... 78 Gambar 4.8. Gambar implementasi peletakan seluruh komponen. ... 79 Gambar 4.9. Tampilan GUI Program Pengenalan. ... 84 Gambar 4.10. Grafik Pengaruh Perubahan SegmentAveraging pada Tingkat Pengenalan

Database 1. ... 97 Gambar 4.11. Grafik Pengaruh Perubahan Nilai k pada kNN pada Tingkat Pengenalan

Database 1. ... 98 Gambar 4.12. Grafik Pengaruh Perubahan SegmentAveraging pada Tingkat Pengenalan


(24)

xxi

Gambar 4.13. Grafik Pengaruh Perubahan Nilai k pada kNN pada Tingkat Pengenalan Database 2. ... 99 Gambar 4.14. Grafik Pengaruh Perubahan SegmentAveraging pada Tingkat Pengenalan

Database 4. ... 99 Gambar 4.15. Grafik Pengaruh Perubahan Nilai k pada kNN pada Tingkat Pengenalan

Database 4 ... 100 Gambar 4.16. Grafik Pengaruh Perubahan SegmentAveraging pada Tingkat Pengenalan

Database 8... 100 Gambar 4.17. Grafik Pengaruh Perubahan Nilai k pada kNN pada Tingkat Pengenalan


(25)

1

BAB I

PENDAHULUAN

1.1.

Latar Belakang Masalah

Seiring perkembangan modern, manusia banyak sekali melakukan aktivitas – aktivitas yang membuat mereka beresiko terjadi kecelakaan. Salah satu aktivitas yang berisiko yakni pada saat manusia ingin mengambil benda pada ketinggian , dengan manusia melakukan aktivitas ini banyak sekali resiko yang timbul . Bukan hanya itu saja banyak juga manusia sekarang yang kekurangan dalam melakukan aktivitas dengan menggunakan tangan , sebagai contoh manusia yang tidak memiliki tangan akan kesulitan untuk mengambil benda yang dia inginkan. Tanpa tangan mereka sulit melakukan dalam kesehariaannya.

Dalam industri masa kini lengan robot banyak dioperasikan secara manual dengan menekan tombol - tombol yang akan memerintahkan kerja lengan robot . Lengan robot dirancang menyerupai tangan manusia agar dapat berfungsi sebagai organ tangan. Lengan robot dilengkapi dengan aktuator dan memiliki 3 Degree of Freed(DOF) atau lebih. Bagian ujung lengan robot disebut dengan end- effector. Bagian ini bisa berupa perangkat pengelas, pengecetan, peralatan mesin atau gripper (berfungsi untuk menggenggam). Untuk melaksanakan fungsinya lengan robot dapat dikontrol dengan menggunakan mikrokontroler oleh pengguna.

Saat ini juga telah berkembang pula teknologi pengenalan ucapan yang biasanya dengan sebutan speech recognition. Teknologi speech regcognition merupakan suatu proses untuk mengenali seseorang dengan mengenali ucapan dari orang tersebut[1]. Sinyal suara yang keluar dari mulut manusia tersebut diproses oleh sistem dengan berbagai algoritma yang digunakan untuk ekstraksi ciri suara. Dari hasil pengenalan ucapan dapat digunakan pada berbagai macam aplikasi. Banyak aplikasi-aplikasi yang telah dihasilkan seiring dengan metode dan proses dari pengenalan ucapan tersebut. Salah satu aplikasinya adalah untuk navigasi robot. Proses pengenalan suara memiliki beberapa aspek yang perlu diperhatikan yaitu akuisisi data suara, pembentukan database suara, ekstraksi ciri sinyal suara, dan pengenalan pola suara hasil ekstraksi ciri terhadap database suara [2].

Penulis juga menemukan penelitian tentang lengan robot sebelumnya yang berjudul Rancang Bangun Lengan Robot Penyusun Benda Berbasis Mikrokontroler [3]. Pada


(26)

penelitian tersebut lengan robot bekerja hanya memindahkan tempat dari satu tempat ke tempat lainnya. Dari referensi yang dibaca diatas memberikan ide bagi penulis untuk membuat Aplikasi Pengenalan Ucapan Untuk Lengan Robot Pengambil Benda. Proses pengambilan data suara diperoleh dari mikrofon yang terletak di headset kemudian diubah dalam bentuk digital oleh soundcard pada laptop. Pada proses ekstraksi ciri yang digunakan dalam penelitian ini yaitu discrete fourier transform (DFT). Hasil dari ekstraksi ciri akan dibandingkan kemiripannya terhadap database suara dengan menggunakan perhitungan similaritas. Hasil akhir dari proses pengenalan ucapan akan dikirim secara serial menuju mikrokontroler. Mikrokontroler yang menerima perintah yang akan mengolah data yang diterima untuk menjalankan servo dari lengan robot sesuai dengan perintah ucapannya.

1.2.

Tujuan dan Manfaat Penelitian

Tujuan dari penelitian ini yaitu :

1. Merancang dan membuat lengan robot yang bekerja sesuai perintah yang diucapkan. Lengan robot tersebut sebagai wujud dari aplikasi pengenalan suara berupa ucapan oleh manusia untuk mengambil benda. Lengan robot akan berkerja untuk mengambil benda balok, tabung, bola, dan kubus sesuai dengan perintah yang diterima.

Manfaat dari penelitian ini yaitu :

1. Penelitian ini dapat dijadikan ide bagi perusahaan industri untuk mengembangkan lengan robot manual, dengan teknologi speech recognition agar mengurangi resiko pada manusia .

2. Penelitian ini dapat digunakan bagi perkembangan teknologi dibidang control dengan menggunakan perintah suara untuk mengoperasikan berbagai hal.

1.3.

Batasan Masalah

Agar penelitian ini bisa mengarah pada tujuan dan untuk menghindari terlalu kompleksnya permasalahan yang muncul, maka perlu adanya beberapa batasan masalah yang sesuai dengan judul dari penelitian ini.

Adapun batasan masalah yaitu :

1. Software pengolahan data pengenalan ucapan menggunakan MATLAB.


(27)

3. Kata yang digunakan untuk input pengenalan ucapan yaitu balok, kubus, tabung, dan bola. Pengucapan selain kata-kata yang sudah ditentukan akan dikenali secara salah.

4. Pelaku yang memberi perintah ucapan terdiri dari tiga orang yang sudah ditentukan peneliti, dengan intonasi pengucapan kata secara normal atau biasa.

5. Aktuator dari aplikasi pengenalan ucapan menggunakan lengan robot yang akan bergerak sesuai perintah ucapan yang terdeteksi.

6. Menggunakan mikrokontroler keluarga AVR ATmega32 pada lengan robot. 7. Variasi nilai pada variabel nilai k pada kNN dan nilai lebar segment averaging

ditentukan sebagai berikut :

 Nilai k pada kNN = 1; 3; 5; dan 7.  Nilai lebar segmentaveraging = 8; 16; 32; dan 64.

8. Komunikasi serial dari laptop kepada mikrokontroler menggunakan modul USB to TTL converter.

1.4.

Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai, maka ada beberapa metode yang harus digunakan dalam penyusunan penelitian ini yaitu:

1. Studi literatur,

Untuk memperoleh landasan teori dalam penelitian dalam pembuatan alat maka tahap pertama yang harus dilakukan adalah mencari bahan-bahan sebagai informasi dan referensi pengetahuan melalui pembacaan buku-buku acuan,artikel-artikel, jurnal-jurnal serta informasi yang berkaitan dengan penelitian seperti Ekstraksi ciri DFT, similaritas kosinus, MATLAB, komunikasi serial USB to TTL, Motor Servo dan datasheet ATmega32.

2. Perancangan alur kerja sistem secara umum

Merancang alur atau diagram kerja yang akan dipakai dalam penelitian. Alur kerja sistem akan menjelaskan proses dari awal pengambilan ucapan sebagai masukan hingga menuju keluaran aktuator berupa pergerakan lengan robot dengan putaran tiap servo.


(28)

Gambar 1.1. Alur kerja seluruh sistem. 3. Pembuatan database ucapan.

Merekam sampel suara berupa ucapan yang digunakan sebagai database. Database tersebut nantinya akan digunakan sebagai parameter pembanding terhadap ucapan real-time saat aplikasi dilakukan. Setiap user memiliki database masing-masing. 4. Perancangan dan pembuatan software pengenalan ucapan.

Merancang dan membuat program pada MATLAB sebagai pengolahan data untuk pengenalan ucapan manusia. Membuat program pengiriman data secara serial. Melakukan eksperimen pengenalan ucapan dan pengiriman data serial dari MATLAB ke mikrokontroler ATmega32.

5. Perancangan dan pembuatan hardware.

Perancangan ini bertujuan membuat tahapan pemodelan hardware berupa lengan robot dan sesuai dengan penelitian. Tahapan harus dapat mempertimbangkan permasalahan dan kebutuhan yang sudah ditentukan. Sesuai pada perancangan alur kerja hardware pada lengan robot terdiri dari mikrokontroler ATmega32 sebagai pengolah data, dan motor servo sebagai penggerak lengan robot. Pembuatan tahapan program juga dilakukan agar mikrokontroler dapat mengolah data yang diperintah user untuk menggerakkan motor servo dengan mengatur sudut sudutnya dan untuk menerima data secara serial dari MATLAB dengan menggunakan USB to TTL converters.


(29)

Pengambilan data yang dilakukan untuk dapat menguji sistem dilakukan dalam 3 tahap yaitu :

 Pengenalan ucapan secara offline dengan merekam 20 data ucapan pada tiap kata ucapan. Pengenalan ucapan dilakukan pada data ucapan tersebut pada setiap variasi nilai variabel.

 Pengiriman data serial dari laptop menuju mikrokontroler dengan menggunakan modul USB to TTL.

 Pengenalan ucapan secara realtime dengan menangkap ucapan dan langsung diproses hingga terjadi pergerakan lengan robot.

Pengambilan data dilakukan dengan memvariasikan nilai pada variabel data yang ditentukan. Variabel yang digunakan yaitu nilai k pada kNN, dan lebar segment averaging.

7. Analisis dan pembahasan hasil penelitian.

Analisa dengan melakukan pendataan dari hasil ketepatan pengenalan suara terhadap benda yang diambil serta nilai OCR pada sudut tiap kondisi yang sudah ditentukan. Analisa dan pembahasan dilakukan dengan mengamati nilai persentase error terhadap pengenalan ucapan serta berhasilnya lengan robot mengambil benda sesuai perintah.


(30)

6

BAB II

DASAR TEORI

2.1.

Sinyal Suara Manusia

Bunyi bahasa ditentukan oleh sumber bunyi serta proses dalam memproduksi bahasa itu, sehingga setiap manusia memiliki suara yang berbeda antara satu dan yang lainnya. Hal ini membuat manusia memiliki suara berbeda satu dengan yang lainnya, karena adanya perbedaan volume rongga mulut dan volume rongga tenggorokan. Untuk menghasilkan bunyi bahasa yang benar diperlukan alat bicara yang normal. Keterampilan dan kemampuan organ alat bicara dalam melakukan artikulasi. Kemampuan mengatur pernapasan untuk mengalirkan udara ke rongga tenggorokan, mulut, dan hidung. Alat bicara merupakan perangkat anggota tubuh manusia yang berfungsi sebagai sumber bunyi manusia. Sumber bunyi yang ada dalam tubuh manusia dipilah atas 3 bagian yaitu rongga mulut, tenggorokan dan rongga badan. Gambar 2.1 adalah gambar artikulator pada saat produksi suara[4].

Gambar 2.1. Gambar Artikulator Pada Saat Produksi Suara[4].

Artikulator atau alat ucap yang berada di rongga mulut berfungsi sebagai pengatur artikulasi dan volume ruang rongga mulut. Pengaturan volume ruang ini diperlukan untuk menghasilkan bunyi yang diinginkan. Artikulator dibedakan menjadi 2 jenis yaitu artikulator aktif dan artikulator pasif. Artikulator aktif adalah alat ucap yang secara aktif bergerak membentuk hambatan aliran udara, yaitu bibir bawah dan lidah, sedangkan


(31)

artikulator pasif adalah alat ucap yang diam (tidak aktif bergerak), yaitu bibir atas, gigi atas, gusi, langit - langit keras, dan langit - langit lunak, yang berfungsi sebagai daerah artikulasi yaitu lokasi tempat artikulator aktif menghambat atau menutup udara. Suara manusia biasanya memiliki rentang frekuensi 300-3000 Hz. Ada 4 proses produksi suara pada manusia yaitu proses oronasal, proses artikulasi, proses aliran udara dan proses pembunyian. Gambar 2.2 adalah gambar tempat produksi suara[4].

Gambar 2.2. Gambar Tempat Produksi Suara. [4]

2.2.

Speech Recognition

Speech recognition (pengenalan lafal/ucapan) adalah suatu proses untuk mengenali seseorang dengan mengenali ucapan dari orang tersebut [1]. Untuk mengenali ucapan atau lafal tersebut akan diproses didalam komputer dengan perhitungan perhitungan algoritma . Ucapan manusia yang masuk kedalam komputer akan dikenal dengan membandingan masukan ucapan dengan database sehingga mendapatkan hasil untuk mengenali ucapan tersebut.

2.3.

Sampling

Sampling adalah proses pengambilan sebuah sinyal terhadap waktu tertentu. Dalam proses sampling, sinyal suara yang diambil akan menjadi gelombang diskrit. Pada saat proses sampling , nilai frekuensi sampling harus diperhatikan. Frekuensi sampling merupakan laju pengambilan yang menandakan banyak pengambilan sinyal analog dalam satu detik. Nilai satuan frekuensi sampling yakni Hertz (Hz). Harry Nyquist dari Bell Laboratory mempelajari proses sampling dan membuat kriteria untuk menentukan laju sampling (samplingrate) minimun untuk sinyal analog kontinyu. Nilai frekuensi sampling sebaiknya tertuju pada kriteria Nyquist[5]. Saat ini laju sampling minimum dikenal sebagai Nyquistsamplingrate yang menyatakan bawah frekuensi sampling minimal harus


(32)

dua kali lebih besar dari frekuensi tertinggi dari sinyal yang disampling tersebut. Rumus pada kriteia Nyquist dapat dituliskan [6].

(2.1) Keterangan : Fs = frekuensi sampling (Hz)

Fm = frekuensi sinyal analog (Hz)

Pada proses sampling kriteria Nyquist apabila tidak terpenuhi akan menimbulkan aliasing. Aliasing merupakan adanya frekuensi yang terlihat sebagai frekuensi lain. Gambar 2.3 menunjukan gambar aliasing.

Gambar 2.3 Gambar Aliasing [6]

2.4.

Preprocessing

Prepocessing merupakan tahapan awal untuk mengkondisikan sinyal sebelum diproses dalam ektraksi ciri. Preprocessing dilakukan untuk membuang noise pada sinyal ucapan. Dalam preprocessing ada beberapa tahapan meliputi normalisasi, pemotongan sinyal, dan zeropadding.

2.4.1.

Pre

Emphasis

PreEmphasis adalah proses yang dirancang untuk mengurangi dampak buruk dari transmisi dan suara latar. Proses preemphasis sangat baik dalam mengurangi efek distorsi, atenuasi, dan saturasi dari media rekaman. Perhitungan pre emphasis dilakukan pada sinyal digital dalam domain waktu dan menggunakan persamaan berikut[7] :

s

'

(

n

)

s

(

n

)

*

s

(

n

1

)

(2.2) Dimana

 = 0.9< <1 biasanya yang sering digunakan bernilai 0,95 S(n) = sampel ke-n

Pada gambar 2.4. menunjukan sinyal masukan yang akan diproses dalam pre emphasis dan gambar 2.5. menunjukan sinyal masukan yang sudah melewati proses pre emphasis


(33)

Gambar 2.4. Sinyal Masukan

Gambar 2.5. Sinyal Hasil PreEmphasis.

2.4.2.

Normalisasi

Normalisasi adalah proses penskalaan amplitudo pada setiap sinyal untuk didapat amplitudo yang diharapkan. Normalisasi bertujuan untuk menyeragamkan nilai amplitudo dari sinyal sampel [8]. Proses normalisasi sangat diperlukan karena besarnya amplitudo suara manusia saat melakukan pengucapan selalu berbeda. Perhitungan matematis untuk mencari nilai normalisasi dirumuskan dengan persamaan sebagai berikut :

)) )

dengan keterangan sebagai berikut :

= hasil data sinyal normalisasi (1,2,3,…,N) = data masukan dari sampling(1,2,3,…,N)

0 1000 2000 3000 4000 5000 6000

-0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 Data tercuplik Am pli tu do

Sinyal Masukan Balok

0 1000 2000 3000 4000 5000 6000

-0.1 -0.05 0 0.05 0.1 0.15 Data tercuplik Am pli tud o


(34)

N merupakan banyaknya data sinyal.

Pada gambar 2.6. menunjukan sinyal masukan yang akan diproses dalam normalisasi dan gambar 2.7. menunjukan sinyal masukan yang sudah melewati proses normalisasi.

Gambar 2.6. Sinyal Hasil PreEmphasis

Gambar 2.7. Sinya Hasil Normalisasi

2.4.3.

Pemotongan Sinyal

Pemotongan sinyal dilakukan dengan tujuan untuk memotong beberapa bagian sinyal yang dianggap noise. Dalam proses perekaman, pemotongan sinyal dilakukan pada bagian awal dan akhir sinyal. Pemotongan sinyal suara dimaksudkan untuk menghilangkan bagian yang dianggap bukan bagian dari sinyal ucapan dan mengurangi noise atau gangguan sinyal yang diakibatkan dari derau ruangan atau suara pernapasan yang ikut terekam. Gambar 2.8. menunjukan sinyal data ucapan.

0 1000 2000 3000 4000 5000 6000

-0.1 -0.05 0 0.05 0.1 0.15 Data tercuplik Am pli tud o

Sinyal Hasil Pre Emphasis

0 1000 2000 3000 4000 5000 6000

-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Data tercuplik Am pli tud o


(35)

Gambar 2.8. Posisi Sinyal Data Ucapan

Sinyal data yang dibagian kiri dan kanan pada sinyal data ucapan pada gambar 2.8. menunjukan keberadaan noise atau gangguan suara lain. Noise atau gangguan terjadi dikarenakan faktor lingkungan yang tidak kondusif sehingga mengakibatkan terjadinya noise. Sinyal data ucapan yang memiliki noise dapat diminimalisir dengan cara menghilangkan noise disebelah kanan dan kiri dari sinyal data ucapan. Gambar 2.9 menunjukan pemotongan sinyal dengan batas potong 0,3. Pemotongan dilakukan dengan tahapan hasil normalisasi sinyal data ucapan di potong bagian kiri , lalu di balikan sinyal data dari kiri ke kanan , potong bagian kiri , lalu diakhiri dengan tahapan kembalikan sinyal pada kondisi awal .

Gambar 2.9. Proses Pemotongan Sinyal

0 500 1000 1500 2000 2500 -1 -0.5 0 0.5 1 Data tercuplik A m pl itu do

Potong Sinyal Kiri

0 500 1000 1500 2000 2500 -1 -0.5 0 0.5 1 Data tercuplik A m pl itu do

Balikan Sinyal dari Kiri ke Kanan

0 500 1000 1500 2000 2500 -1 -0.5 0 0.5 1 Data tercuplik A m pl itu do

Potong Sinyal Kiri

0 500 1000 1500 2000 2500 -1 -0.5 0 0.5 1 Data tercuplik A m pl itu do


(36)

2.4.4.

Zero

Padding

Zeropadding merupakan tahapan akhir dari preprocessing dimana pada tahapan ini terdapat proses pemberian deretan data bernilai zero(0) pada data sinyal .Zero padding proses setelah hasil windowing. Akibat dari proses pemotongan sinyal memungkinkan adanya efek pada ketidaksempurnaan panjang gelombang tiap data sinyal suara. Tahapan zero padding ini yang membantu agar panjang gelombang tiap data sinyal suara dapat disetarakan. Pemberian nilai zero(0) pada data sinyal suara menyesuaikan ukuran frekuensi sinyal. Gambar 2.10 menunjukan proses ZeroPadiing

Gambar 2.10 Proses ZeroPadding

2.5.

Framing

dan

Windowing

Framing merupakan proses dmana sinyal data masukan akan dibentuk dalam frame-frame. Dalam bentuk frame ini data akan lebih mudah untuk diketahui, sehingga tidak perlu memeriksa sinyal data secara keseluruhan secara langsung. Data akan dicek setiap frame sebesar nilai panjang frame yang telah ditentukan. Jika dalam pemeriksaan

0 200 400 600 800 1000 1200 1400 1600 1800 2000

-1 -0.5 0 0.5 1 Data tercuplik A m p lit u d o

Hasil Pemotongan Sinyal

0 200 400 600 800 1000 1200 1400 1600 1800 2000

-1 -0.5 0 0.5 1 Data tercuplik A m p lit u d o


(37)

tersebut sinyal data melebihi maka akan mengalami overlap, dimana akan sinyal data yang berlebihan tersebut akan dipotong sebesar nilai overlap [9]

Gambar 2.11. Proses Framing [9]

Windowing merupakan tahapan untuk menetralisir diskontinuitas sinyal pada awalan dan akhir tiap bentuk data sinyal dengan melakukan proses dari fungsi window. Windowing berfungsi untuk membuat pola pola pada data sinyal sehingga data sinyal dapat diproses dalam tahapan selanjutnya. Pada proses ini jenis window yang dipakai adalah jenis Hamming Window. Digunakan Hamming window karena hamming window mempunyai side lobe yang paling kecil dan main lobe yang paling besar sehingga hasil windowing akan lebih halus dalam menghilangkan efek diskontinuitas[7]. Pada gambar 2.12.. menunjukan proses windowing.

Persamaan HammingWindow [7]:

         1 2 cos * 46 , 0 54 , 0 ) ( N n n

w  (2.4)

Dimana:

w(n) = windowing

N = jumlah data dari sinyal n = waktu diskrit ke


(38)

Gambar 2.12. Proses Framing dan Windowing

2.6.

Discrete Fourier Transform

(DFT)

DFT merupakan perluasan dari transformasi fourier yang berlaku untuk sinyal-sinyal diskrit dengan panjang yang terhingga. Semua sinyak periodik terbentuk dari gabungan sinyal-sinyal sinusoidal yang menjadi satu yang dirumuskan pada persamaan 2.5[10]. Gambar 2.13. menunjukan proses ektraksi ciri DFT.

Persamaan matematis DFT diuraikan pada persamaan 2.5 [28]:

) ∑ )

(2.5)

dengan, n=0, 1,…, N-1, dan k = 0, 1, 2, …, N-1

X(k) adalah keluaran dalam domain frekuensi, x adalah masukkan dalam domain waktu dan N adalah runtun masukkan diskrit.


(39)

e = natural number (2.7182818284…)

n = indeks dalam domainfrekuensi (0, 1, 2, …, N-1) k = indeks dalam domainwaktu (0,1,2, …, N-1) j = konstanta fourrier

Gambar 2.13. Proses Ektraksi Ciri

2.7.

Segment

Averaging

Segmentaveraging merupakan metode untuk mengurangi jumlah data dengan cara mengelompokannya dalam rentang segment tertentu yang kemudian dicari rata-ratanya pada tiap segment. Tujuan segment averaging ini untuk mengurangi jumlah data ektraksi ciri yang memiliki ukuran panjang menjadi ukuran kecil. Lebar segment ditentukan dari banyak data berdasarkan perhitungan 2n, ukuran banyaknya segment yang terbentuk didapat dari pembagian seluruh data terhadap lebar segment[9]. Gambar 2.14. menunjukan proses segment averaging dengan lebar segment 64 dan mengahasilkan pembagian 4 frame.

0 100 200 300 400 500 600

0 10 20 30 40 Data tercuplik A m pl itu do

Pencarian Nilai Absolut

0 50 100 150 200 250 300

0 10 20 30 40 Data tercuplik A m pl itu do


(40)

Gambar 2.14. Proses SegmentAveraging

2.8.

Klasifikasi k-NN

Algoritma yang disebut aturan tetangga terdekat atau biasanya di kenal dengan k- nearestneighbour(k-NN). Misal ada vektor x yang tidak diketahui, maka[9]:

 Dari vektor pelatihan N, identifikasi k tetangga terdekat, dengan mengabaikan label kelas. Untuk masalah 2 kelas dipilih nilai k yang ganjil. Secara umum nilai k ini bukan kelipatan dari jumlah kelas M.

 Dari sampel K tersebut, identifikasi jumlah vektor, ki, yang termasuk masuk dalam kelas

i

,i = 1,2,...,M. Dinyatakan dengan ikik.


(41)

2.9.

Template

Matching

Tahap perbandingan yaitu salah satu tahap dalam proses pengenalan ucapan. Proses template matching ini akan melakukan perbandingan antara pola data masukan dengan pola database. Metode yang dilakukan dalam proses template matching yaitu fungsi similaritas. Data masukan yang akan diproses akan dihitung nilai similaritas sehingga dapat dikenali kemiripan yang sesuai dengan database[11].

2.9.1.

Similaritas Kosinus

Similaritas kosinus merupakan salah satu algoritma perhitungan similaritas yang dipakai dalam perbandingan pola dengan melihat kesamaan atau kemiripan pola input terhadap pola database. Penggunaan algoritma ini dengan memasukan nilai-nilai pada data input dan database dalam perhitungan. Hasil dari algoritma ini merupakan nilai pendekatan atau similaritas antara data input dan database Rumus dari similaritas kosinus dapat ditulis sebagai berikut [12]:

√∑ √∑

(2.6)

dengan keterangan sebagai berikut : d = jumlah elemen

P&Q = vektor yang akan dicari similaritasnya i = indeks variabel

2.10.

Lengan Robot

Robot ini hanya memiliki satu tangan seperti tangan manusia yang fungsinya untuk memegang atau memindahkan barang. Robot manipulator merupakan sebuah

rangkaian benda kaku (rigidbodies) terbuka yang terdiri atas sendi dan terhubung dengan link dimana setiap posisi sendi ditentukan dengan variabel tunggal sehingga jumlah sendi sama dengan nilai derajat kebebasan. Robot manipulator yang sering dipakai sebagai robot industri pada dasarnya terdiri atas struktur mekanik, penggerak (aktuator), sensor dan sistem kontrol. Dasar (base) manipulator sering disebut kerangka dasar (base frame) dan ujung dari manipulator biasanya dilengkapi dengan end-efector yang salah satu jenisnya adalah gripper. Gambar 2.15. menuntukan bagian dari robot manipulator .


(42)

Gambar 2.15. Bagian robot manipulator

Untuk dapat disebut sebagai sistem robot modern, sebuah mesin sedikitnya terdiri dari tiga hal utama yaitu:

A. Manipulator

Manipulator yaitu merupakan bagian mekanik yang melakukan fungsi gerakan seperti lengan manusia. Pada robot manipulator biasanya terdiri dari bagian lengan (main frame) dan bagian pergelangan (wrist). Fungsi dari manipulator ini adalah untuk memungkinkan robot untuk mencapai suatu posisi tertentu dengan presisi [1].

B. Aktuator

Aktuator berfungsi sebagai sumber tenaga untuk menggerakkan manipulator.Biasanya aktuator diletakkan pada bagian lengan , pergelangan dan bagian gripper. Aktuator pada robot dapat memakai sistem hidrolik, sistem pneumatik, motor DC, motor AC, motor stepper dan berbagai jenis penggerak lainnya[1].

C. Prosesor

Prosesor merupakan otak dari robot, berfungsi untuk menyimpan dan memproses setiap urutan gerakan pada robot. Biasanya bagian prosesor ini memungkinkan robot untuk melakukan berbagai jenis tugas yang diprogramkan kepadanya[1].

2.11.

Mikrokontroler ATmega32

AVR (Alf and Vegard’sRiscProcessor) merupakan seri mikrokontroler CMOS 8-bit yang diproduksi oleh Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32. Hampir semua instruksi dieksekusi dalam satu siklus clock dan mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog Timer, dan power saving mode. AVR juga mempunyai


(43)

ADC, PWM internal dan In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang [13].

2.11.1.

Arsitektur AVR ATmega32

Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut [13]:

a. Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D b. ADC 10 bit sebanyak 8 Channel

c. Tiga buah timer/counter yaitu Timer 0, Timer 1, dan Timer 2 d. Watchdog Timer dengan osilator internal

e. SRAM sebanyak 512 byte f. MemoriFlash sebesar 8 kb

g. Sumber Interupsi internal dan eksternal h. Port SPI (Serial Pheriperal Interface) i. EEPROM onboard sebanyak 512 byte j. Komparator analog

k. Port USART (Universal Shynchronous Ashynchronous Receiver Transmitter).

2.11.2.

Konfigurasi PIN Mikrokontroler ATmega32

Konfigurasi Pin Mikrokontroller ATmega32 dengan kemasan 40 pin DIP (dual in-line package) dapat dilihat pada Gambar 2.16.. Untuk memaksimalkan performa dan paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data). Ketika sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil dari memori program [13].


(44)

Mikrokontroler ATmega32 memiliki konfigurasi Pin sebagai berikut[13]: 1. VCC (power supply) ,dan GND (ground).

2. Port A (PORTA7-0) merupakan pin I/O dua arah dan berfungsi khusus sebagai pin

masukan ADC.

3. Port B (PORTB7-0) merupakan pin I/O dua arah dan fungsi khusus sebagai pin

Timer/Counter, komparator analog dan SPI.

4. Port C (PORTC7-0) merupakan pin I/O dua arah dan fungsi khusus.

5. Port D (PORTD7-0) merupakan pin I/O dua arah dan fungsi khusus.

6. RESET (Reset input) adalah pin untuk me-reset mikrokontroler.

7. XTAL1 (Input Oscillator) dan XTAL2 (Output Oscillator) pin untuk exsternal clock.

8. AVCC adalah pin masukan untuk tegangan ADC.

9. AREF adalah pin masukan untuk tegangan referensi eksternal ADC.

2.11.3.

Peta Memori AVR ATmega32

ATmega8353 memiliki dua ruang memori utama, yaitu ruang memori data dan memori program. Selain dua memori utama, ATmega32 juga memiliki fitur EEPROM yang dapat digunakan sebagai penyimpan data[13].

Memori Program

ATmega32 memiliki flash memory sebesar 8 Kbytes untuk memori program. Karena semua intruksi AVR menggunakan 16 atau 32 bit, maka AVR memiliki organisasi memori 4 Kbyte x 16 bit dengan alamat dari $000 hingga $FFF. Untuk keamanan software, memori flash dibagi menjadi dua bagian, yaitu bagian Boot Program dan bagian Application Program. AVR tersebut memiliki 12 bit Program Counter (PC) sehingga mampu mengalamati isi flash memori[13].

Memori Data

ATmega32 memiliki 608 alamat memori data yang terbagi menjadi 3 bagian, yaitu 32 buah register file ,64 buah I/O register dan 512 byte internal SRAM. Register file adalah register khusus yang bertugas membantu proses dalam program yang dilakukan oleh ALU(Arithmatich Logic Unit). I/O register adalah register yang berfungsi khusus dalam mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin, port, timer/counter[13].


(45)

2.11.4.

Interupsi

Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai dikerjakan.

Tabel 2.1. Hubungan PIN dan Interupt [13]

Jenis interupt PIN

INT0 PORTD.2

INT1 PORTD.3

INT2 PORTB.2

ATmega32 menyediakan 3 interupsi eksternal yaitu, INT0, INT1, dan INT2. Tabel 2.1 menunjukan interupsi yang terhubung dengan pin ATmega32. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan logika (rissing edge dan falling edge) pada pin interupsi yang bersangkutan [13].

2.11.5.

Timer/Counter ATmega32

Mikrokontroler ATmega32 memiliki 3 jenis fitur timer/counter yaitu timer/counter 0 (8bit), timer/counter 1 (16bit) dan timer/counter 2 (8bit) . Timer/counter pada umumnya biasanya digunakan untuk generator gelombang/frekuensi, perhitungan waktu suara siklus, dan PWM (Pulse Width Modulation).

TIMER/COUNTER 0

Timer/Counter 0 adalah 8 bit Timer/Counter dengan fitur sebagai berikut : 1. 8 bit timer/counter 1 kanal.

2. Auto reload, yaitu timer akan di-nol-kan kembali saat match compare. 3. Daoat menghasilkan pulsa PWM dengan glitch-free.

4. Frequence generator.

5. Prescaler 10 bit untuk timer.

6. Membangkitkan interupsi saat timer overflow dan atau match compare.

Persamaan 2.7, 2.8, dan 2.9 menunjukan perhitungan overflow interrupt sebagai pembangkit [14].


(46)

(2.8)

(2.9) Keterangan :

f = frekuensi yang digunakan untuk eksekusi program T = periode

N = prescaller yang digunakan OCR = nilai cacahan pulsa

Pulse = lebar pulsa Mode-mode operasi timer :

a) Mode normal, timer berfungsi untuk menghitung selang waktu ,dan membuat delay [15].

b) Mode phase correct PWM (PCP), digunakan untuk menghasilkan sinyal PWM dimana nilai register counter (TCNT0) yang mencacah naik dan turun secara terus menerus akan selalu dibandingakan dengan register pembanding OCR0. Hasil perbandingan register TCNT0 dan OCR0 digunakan untuk membangkitkan sinyal PWM yang dikeluarkan pada OC0 .Gambar 2.17. menunjukan Mode Correct PWM [15].

Gambar 2.17. Mode Phase Correct PWM [14]

c) CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah naik selanjutnya di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama


(47)

dengan OCR0. Sebelumnya OCR diatur dulu, karena timer 0 dan 2 maksimumnya 255, maka range OCR 0-255 [15].

d) Fast PWM, mode ini hampir sama dengan mode phase correct PWM, hanya perbedaannya adalah register counter TCNT0 mencacah naik saja dan tidak pernah mencacah turun . Gambar 2.18. menunjukan Mode Fast PWM [15].

Gambar 2.18. Mode Fast PWM [14]

2.11.6.

Komunikasi Serial USART(

The

Universal

Synchronous

and

Asynchronous

serial

Receiver

and

Transmitter

)

Komunikasi data adalah perpindahan data antara dua atau lebih piranti, baik yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat dilaksanakan secara paralel atau seri. USART merupakan protokol komunikasi serial yang terdapat pada mikrokontroler AVR. Fitur ini berguna dalam pengiriman data secara serial antar mikrokontroler, selain itu fitur ini dapat juga melakukan komunikasi antara mikrokontroler dengan hardware lain, sebagai contohnya seperti komputer (PC). Komunikasi serial yang dapat dilakukan pada fitur USART dibedakan menjadi 2 cara yaitu sinkron dan asinkron. Pada penggunaan cara sinkron harus melakukan fase sinkronisasi data dari pengiriman data . Pada penggunaan cara asinkron tidak perlu melakukan pengiriman data terlebih dahulu,hanya saja sinkronisasikan terlebih dahulu dengan cara inisialisasi data pada program tersebut. Proses inisialisasi ini harus memiliki baudrate pada perangkat yang terhubung .

Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut[13]: a) Operasi full duplex

b) Mendukung komunikasi multiprosesor c) Kecepatan transmisi mencapai Mbps d) Operasi asinkron atau sinkron


(48)

e) Operasi master atau slave clock sinkron

f) Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi g) Komunikasi kecepatan ganda pada asinkron

Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengatur komunikasi dilakukan dengan cara mengaktifkan register yang digunakan untuk komunikasi USART. Register yang digunakan untuk komunikasi USART antara lain sebagai berikut[13]:

2.11.6.1.

USART

Control

and Status

Register

A (USCRA)

Gambar 2.19. Register UCSRA [13] Penjelasan bit penyusun UCSRA seperti pada gambar 2.19.[13]: a) RXC (USART Receive Complete)

RXC bernilai 1 jika ada data atau yang belum terbaca dan bernilai 0 jika tidak ada data.

b) TXC (USART Transmit Complete)

TXC bernilai 1 jika keseluruhannya data sudah terkirim. c) UDRE (USART Data Register Empty)

UDRE adalah interupt yang akan aktif jika UDRIE pada UCSRB di set 1. UDRE bernilai 1 jika buffer kosong.

d) FE (Frame Error)

FE bernilai 1 jika terjadi error pada proses penerimaan data. e) DOR (Data OverRun)

DOR bernilai 1 jika terjadi over run data, artinya ketika register penerimaan telah penuh dan terdapat data baru yang menunggu.

f) PE (Parity Error)

PE bernilai 1 jika terjadi error pada parity. g) U2X (Double the USART Transmission Speed)

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku untuk modus asinkron, untuk mode sinkron bit ini di set nol .

h) MPCM (Multi Processor Communication Mode) MPCM berkaitan pada proses multiprosesor.


(49)

2.11.6.2.

USART

Control

and Status

Register

B (USCRB)

Gambar 2.20. Register UCSRB [13] Penjelasan bit penyusun UCSRB seperti pada gambar 2.20. [13]: a) RXCIE (RX Complete Interrupt Enable)

RXCIE mengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan .

b) TXCIE (TX Complete Interrupt Enable)

TXCIE mengatur aktivasi interupsi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan .

c) UDRIE (USART Data Register Empty Interrupt Enable)

UDRIE berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika diaktifkan dan sebaliknya .

d) RXEN (Receiver Enable)

RXEN berfungsi untuk mengaktifkan pin RX.. e) TXEN (Transmitter Enable)

TXEN berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran pengirim USART .

f) UCSZ2 (Character Size)

UCXZ2 bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk memilih tipe lebar data bit yang digunakan seperti yang ditunjukan pada gambar 2.2.

Tabel 2.2. Penentuan Ukuran Karakter untuk UCSZ[2..0] [13] UCSZ[2..0] Ukuran Karakter dalam bit

000 5

001 6

010 7

011 8

100-110 Tidak digunakan


(50)

g) RXB8 (Receive Data Bit 8)

RXB8 adalah bit kesembilan jika digunakan ukuran karakter 9. Dibaca dahulu sebelum membaca register UDR .

h) TXB8 (Transmit Data Bit 8)

TXB8 adalah bit kesembilan jika digunakan ukuran karakter 9. Dikirim dahulu sebelum mengirim ke register UDR .

2.11.6.3.

USART

Control

and

Status

Register

C (USCRC)

Gambar 2.21. Register UCSRC [13] Penjelasan bit penyusun UCSRC: [13]

a) URSEL (Register Select) :

URSEL adalah bit untuk pemilihan akses UCSRC dan UBRR. Set 1 untuk akses UCSRC. Hal ini karena UBRRH dan UCSRC menggunakan lokasi I/O yang sama. b) UMSEL (USART Mode Select)

UMSEL adlaah bit pemilihan mode sinkron atau asinkron. Set 1 untuk mode sinkron

c) UPM0..1 (Parity Mode)

UPM0..1 merupakan bit pengaturan parity dengan setting seperti pada tabel 2.3:

Tabel 2.3. Setting UPM0..1 untuk setting parity[13]

UPM0..1 Parity

00 Tidak Aktif 01 Tidak digunakan 10 Genap 11 Ganjil d) USBS (Stop Bit Select)

USBS yang berfungsi untuk memilih jumlah stop bit yang akan digunakan . e). UCSZ1 dan UCSZ0

UCSZ1 dan UCSZ0 digunakan bersama dengan bit UCSZ2 untuk menentukan karakter yang dikirimkan.


(51)

UPCOL merupakan bit pengatur hubungan antara perubahan data keluaran dan data masukan serial dengan mode sinkron.

2.11.6.4.

USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca [13].

Gambar 2.22. Register UDR [12]

2.12.

Sound Card

Sound Card atau kartu suara adalah perangkat keras pada PC/laptop yang berguna untuk mengolah audio atau suara . Sound Card memiliki 4 fungsi utama , yaitu sebagai synthesizer, sebagai MIDI interface, pengkonversi data analog ke digital( misalnya merekam suara dari mikrofon), dan pengkonversi data digital ke analog ( misalnya saat memproduksi suara dari speaker ). Secara umum soundcard memiliki beberapa fungsi : 1. Digital Signal Processing

Berfungsi untuk mengolah sinyal audio baik analog maupun digital. Proses pengolahan dibagi dalam 2 bentuk yaitu Analog to Digital Converter (ADC) dan Digital to Analog Converter (DAC). Proses ADC biasa dilakukan saat menangkap sinyal listrik dari mikrofon, sedangkan proses DAC dilakukan saat mengeluarkan output sinyal analog ke speaker.

2. Synthesizer/sintesis

Melalui teknologi sintesis Frequency Modulation (FM) dapat menghasilkan suara yang jernih. Sinyal suara disimulasikan menggunakan algoritma tertentu sehingga menghasilkan sine wave. Hal tersebut menghasilkan suara yang mirip dengan suara sumber aslinya.

3. MIDI (Musical Instrument Digital Interface)

MIDI adalah standar protokol yang memungkinkan perangkat elektronik dapat melakukan sinkronisasi sehingga dapat saling berkomunikasi [17].


(52)

Ada 3 jenis sound card berdasarkan kondisi pemasangan yaitu Sound Card On Board, Sound Card Off Board, dan Sound Card External. Sound card pada perangkat PC/laptop biasanya sudah terpasang langsung pada motherboard atau biasa disebut Sound Card On Board. Sound Card Off Board pemasangannya pada slot ISA/PCI pada motherboard. Sound Card External pemasangannya dihubungkan ke komputer melalui porteksternal seperti USB atau FireWire [17].

Gambar 2.23. Bentuk soundcard PC[17]

2.13.

Momen Gaya/Torsi

Momen Gaya (Torsi (τ)) adalah kemampuan gaya F memutar/merotasi benda

terhadap poros diam. Sehingga semakin besar torsi (τ) maka gaya F memutar benda pun

semakin besar [18]. Rumus :

τ = F r sin ϴ (2.10)

keterangan :

τ = Torsi (N-m) r = Jarak dari titik pangakal gaya sampai sumbu putar

F = Gaya (N), F = m x g ϴ = Derajat sumbu putar

2.14.

Motor Servo

Motor servo merupakan motor DC yang seudah dilengkapi dengan sistem kontrol didalamnya. Pada aplikasinya, motor servo sering digunakan sebagai kontrol loop tertutup, sehingga dapat menangani perubahan posisi secara tepat dan akurat [27].


(53)

Bentuk fisik motor servo dapat dilihat pada gambar 2.3. sistem pengkabelan motor servo terdiri dari 3 bagian, yaitu VCC, GND, dan Kontrol (PWM). Penggunaan PWM pada motor servo berbeda dengan penggunaan PWM pada motor DC. Pada motor servo, pemberian nilai PWM akan membuat motor servo bergerak pada posisi tertentu lalu berhenti (kontrol posisi) [27].

Motor servo terdiri dari 2 macam, yaitu motor servo standar dan motor servo continuous. Motor servo standar yaitu motor servo yang hanya bergerak mulai dari 0o sampai dengan 180o, sedangkan motor servo continuous merupakan motor servo yang dapat berputar 360o sehingga memungkinka untuk bergerak rotasi seperti pada motor DC pada umumnya.

Gambar 2.25. Cara pengontrolan motor servo [19]

Prinsip utama pengontrolan motor servo yaitu dengan memberikan nilai PWM pada kontrolnya. Perubahan duty cycle akan menentukan perubahan posisi dari motor servo. Motor servo memiliki frekuensi sebesar 50 Hz sehingga pulsa yang dihasilkan yaitu setiap 20 ms. Lebar pulsa akan menentukan posisi motor servo yang dikehendaki [27].

Motor servo yang digunakan untuk servo 1,2,dan 3 adalah Towerpro 996R. Motor servo yang dipakai untuk gripper pada lengan robot adalah Towerpro SG90. Towerpro MG996R memiliki torsi yang kuat mencapai 12 kg-cm sehingga cocok digunakan pada servo 1,2, dan 3. Sedangkan motor servo Towerpro SG90 memiliki torsi yang relatif kecil mencapai 1,8 kg-cm sehingga dapat digunakan sebagai penggerak gripper pada lengan robot. Tabel 2.4. menunjukan spesifikasi motor servo Towerpro MG996R dan tabel 2.5. menunjukan spesifikasi motor servo Towerpro SG90 .


(54)

Gambar 2.26. Towerpro 996R [19]

Tabel 2.4. Spesifikasi servo Towerpro 996R [19]

Spesifikasi servo Towerpro MG996R

Operating Voltage 4.8V to 7.2V

Operating Temperature Range 0oC to 55oC

Operating Speed 60/0.17 degree/second (no load @4.8V) Operating Speed 60/0.14 degree/second (no load @6V)

Stall Torque 9.4 kg-cm @4.8V

Stall Torque 12 kg-cm @6V

Running Current 500mA - 900mA @6V

Stall Current 2.5A @6V

Gear Type all metal gear

Size 40mm x 19mm x 43mm


(55)

Gambar 2.27. Towerpro SG90 [19]

Tabel 2.5. Spesifikasi servo Towerpro SG90 [19]

Spesifikasi servo Towerpro SG90

Torsi 1.8 kg-cm @4.8V

Kecepatan 60/0.1 degree/second (no load @4.8V)

Tegangan 4V - 7.2V

Running Current ±50mA

Stall Ccurrent ±80mA

Idle Current ±10mA

Dimensi 23mm x 12.2mm x 29mm

Berat 9 gram

Dead Bandwidth 10µs

Suhu Kerja -30oC – 60oC

2.15.

LCD 16x2

LCD merupakan perangkat keras (hardware) yang berfungsi untuk penampil yang sekarang ini banyak digunakan. Teknologi bahan yang digunakan LCD yakni memanfaatkan silikan atau galium dalam bentuk kristal cair sebagai penampil cahaya. LCD terdapat dot matrix yang mampu menampilkan 16x2 karakter, membutuhkan daya kecil dan dilengkapi panel LCD dengan tingkat kontras yang cukup tinggi serta kontroler LCCD CMOS yang telah terpasang dalam modul tersebut. Kontroler ini memiliki


(56)

ROM/RAM dan display data RAM, semua fungsi display dikontrol dengan intruksi dan modul ini dapat mudah dihubungkan dengan unit Mikrokontroler. Kelebihan LCD 16x2 yaitu [20]:

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan .

2. Mudah dihubungkan dengan port I/O karena hanya menggunakan 8 bit data dan 3 bit kontrol .

3. Ukuran modul yang proporsional . 4. Daya yang digunaka relatif kecil .

Operasi dasar pada LCD 16x2 terdiri dari empat, yaitu instruksi mengakses proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data [20]. Operasi dasar LCD 16x2 dapat dilihat pada tabel 2.7.

Gambar 2.28. Gambar fisik LCD 16x2[5]

Tabel 2.6. Operasi baca/tulis LCD 16x2 [5]

RS R/W Operasi

0 0 Input instruksi ke LCD

0 1 Membaca status flag (DB7) dan alamat counter (DB0-DB6)

1 0 Menulis data ke DDRAM atau CGRAM 1 1 Membaca data dari DDRAM atau CGRAM


(57)

Tabel 2.7. Operasi dasar LCD 16x2 [5] Pin No. Keterangan Konfigurasi hubung

1 GND Ground

2 VCC Tegangan +5Vdc

3 VEE Ground

4 RS Kendali RS

5 RW Ground

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3 11 D4 Bit 4 12 D5 Bit 5 13 D6 Bit 6 14 D7 Bit 7 15 Anoda Anoda (+5Vdc) 16 Katoda Katoda (Ground)


(58)

Tabel 2.8. Konfigurasi pin LCD 16x2 [5] Pin Bilangan biner Keterangan

RS

0 Inisialisasi

1 Data

RW

0 Tulis LCD/W (Write) 1 Baca LCD/R (Read)

E

0 Pintu data terbuka 1 Pintu data tertutup

2.16.

IC Regulator

Pengatur tegangan (voltage regulator) berfungsi menyediakan suatu tegangan keluaran dc tetap yang tidak dipengaruhi oleh perubahan tegangan masukan. Salah satu tipe regulator tegangan tetap adalah 78xx. Regulator tegangan tipe 78xx adalah salah satu regulator tegangan tetap dengan tiga terminal, yaitu terminal Vin, GND dan Vout. Regulator tegangan 78xx dirancang sebagai regulator tegangan tetap, meskipun demikian keluaran dari regulator ini dapat diatur tegangan dan arusnya melalui tambahan komponen eksternal. Spesifikasi ic regulator seri 78xx dapat dilihat pada tabel 2.9.

Tabel 2.9. Karakteristik Regulator Tegangan ic 78xx [21] Type VOUT (Volt)

VIN (Volt)

Min Maks 7805 5 7,3 20 7806 6 8,3 21 7808 8 10,5 23 7810 10 12,5 25 7812 12 14,6 27 7815 15 17,7 30 7818 18 21 33 7824 24 27,1 38


(59)

Gambar 2.29. Rangkaian umum regulator 78xx [21]

Nilai komponen c1 dan c2 difungsikan sebagai filter capasitor yang bertujuan untuk menghilangkan tegangan ripple agar tegangan keluaran menjadi lebih stabil. Untuk mendapatkan nilai kapasitor yang sesuai, dapat mengacu pada persamaan 2.11 dan 2.12 [21].

) (2.11)

) (2.12) Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan arus maksimal adalah 15 A [21]. Untuk gambar rangkaian lengkap dengan ic regulator dapat ditunjukan gambar 2.30.

Gambar 2.30. Rangkaian catu daya dengan penguat [22] Dari gambar 2.30, maka diperleh persamaan-persamaan sebagai berikut [22] :

VB = Vreg + VD (2.13)


(60)

Vo = Vreg – VBE (2.14)

Jika VD VBE, maka

Vo = Vreg (2.15) Tegangan diantara kolektor dan emittor transistor 2N3055 adalah,

VCE = VIN– VR1 (2.16)

Disipasi daya transistor NPN 2N3055 adalah,

PD = VCE x IC (2.17)

Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini :

Ic = β IB (2.18)

Ie = (β+1) IB (2.19)

2.17.

Benda 3 Dimensi

Benda 3 dimensi merupakan benda yang memiliki panjang , lebar dan tinggi. Benda 3 dimensi juga memiliki ruang atau volume yang sesuai denga bentuk. Bentuk dari benda 3 dimensi meliputi balok, kerucut,limas, kubus, balok, prisma, bola, dan tabung[23]. Gambar 2.31. menunjukan contoh benda tiga dimensi.

Gambar 2.31. Benda 3 Dimensi[23]

2.18.

Mikrofon

Mikrofon adalah suatu alat atau komponen elektronika yang dapat mengubah atau mengkonversikan energi akustik (gelombang suara) ke energi listrik (sinyal audio).


(61)

Mikrofon merupakan keluarga transduser yang berfungsi sebagai komponen atau alat pengubah satu bentuk energi ke bentuk energi lainnya. Semua jenis mikrofon memiliki suatu bagian utama yang disebut dengan diafragma (diaphragm). Mikrofon banyak digunakan dalam bidang komunikasi meliputi pengeras suara, telepon, alat bantu pendengaran, dan perekam suara.

Mikrofon yang digunakan dalam penelitian ini untuk pengambilan suara adalah mikrofon pada headset SADES. Mikrofon ini memiliki spesefikasi sebagai berikut :

Tabel 2.10. Spesifikasi mikrofon pada headset SADES [24] Loudhailer diameter 40mm

Cable length 2.0m

Frequency range 20 to 20kHz Sensitivity 117db at 1kHz Impedance 32 Ohm at 1kHz Plug 3.5mm nickel-plating

Headset SADES memiliki mikrofon yang elastis yang bisa diatur sesuai keinginan . Gambar 2.32. menunjukan bentuk headset SADES.


(62)

38

BAB III

RANCANGAN PENELITIAN

3.1. Konsep Dasar

Sistem kerja ini dirancang untuk mengenali kata yang akan diucapkan manusia sebagai perintah gerakan pada lengan robot untuk mengambil benda. Ucapan diperintah dari 3 manusia yang berbeda yang sudah ditetapkan oleh peneliti. Perancangan sistem kerja ini ditunjukan pada gambar 3.1 . Kata yang akan diucapkan oleh user akan diproses oleh mikrofon pada headset. Ucapan tersebut kemudian akan mengalami digitalisasi oleh soudcard yang terdapat pada motherboard laptop menjadi sinyal diskrit. Data sinyal ucapan yang diperintah oleh user akan digunakan sebagai input yang akan dikenai dalam sistem didalam laptop. Semua perintah ucapan diproses dengan software Matlab. Hasil data yang keluar dari Matlab akan dikirim kepada mikrokontroler secara serial. Proses pengiriman dengan menggunakan USB to TTL menuju mikrokontroler. Data yang diterima oleh mikrokontroler akan diproses dan diolah untuk menjalankan aksi pada lengan robot untuk mengambil benda. Aksi yang akan dilakukan oleh lengan robot berupa pergerakan dan pengambilan benda yang sudah diletakan pada tempat yang sudah ditentukan. Lengan robot memiliki tiga buah sendi yang masing–masing sendi dipasangkan motor servo yang terhubung dengan mikrokontroler. Lengan robot akan bergerak sesuai perintah dari mikrokontroler berdasarkan inputan yang diterima dari user untuk mengambil benda meliputi balok ,kubus, tabung, dan bola.


(1)

}; for (data4=89;data4<=122;data4++) { delay_ms(50); }; ambilbola(); delay_ms(1000); for (data2=58;data2>=53;data2--) { delay_ms(50); }; for (data1=111;data1>=70;data1--) { delay_ms(50); }; for (data3=89;data3>=85;data3--) { delay_ms(50); }; siaga_grip(); delay_ms(1000); for (data3=85;data3>=78;data3--) { delay_ms(50); }; for (data2=53;data2<=74;data2++) { delay_ms(50); }; for (data4=122;data4>=89;data4--) { delay_ms(50); }; letak_benda(); delay_ms(1000); for (data2=74;data2>=53;data2--) { delay_ms(50); }; for (data3=78;data3<=85;data3++) { delay_ms(50); }; siaga(); delay_ms(1000); } void main(void) {


(2)

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0xFF;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0xFF;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 11059,200 kHz // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x01;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00;


(3)

OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00;

UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00; // ADC initialization

// ADC Clock frequency: 691,200 kHz // ADC Voltage Reference: AVCC pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei")

siaga();

delay_ms(1000); while (1)

{

// Place your code here delay_ms(10);


(4)

putchar('a');delay_ms(1000); komunikasi();delay_ms(30); if(a==97)

{

lcd_gotoxy(0,1);lcd_putsf("BENDA BALOK");delay_ms(2000); gerak_balok();delay_ms(10);

lcd_clear();delay_ms(10); }

else if(a==98) {

lcd_gotoxy(0,1);lcd_putsf("BENDA BOLA");delay_ms(2000); gerak_bola();delay_ms(10);

lcd_clear();delay_ms(10); }

else if(a==99) {

lcd_gotoxy(0,1);lcd_putsf("BENDA KUBUS");delay_ms(2000); gerak_kubus();delay_ms(10);

lcd_clear();delay_ms(10); }

else if(a==100) {

lcd_gotoxy(0,1);lcd_putsf("BENDA TABUNG");delay_ms(2000); gerak_tabung();delay_ms(10);

lcd_clear();delay_ms(10); }

}; }


(5)

LAMPIRAN I

PENGUJIAN SUDUT SERVO DENGAN MENGGUNAKAN BUSUR DERAJAT

Sudut 0o Sudut 10o Sudut 20o

Sudut 30o Sudut 40o Sudut 50o


(6)

Sudut 90o Sudut 100o Sudut 110o

Sudut 120o Sudut 130o Sudut 140o

Sudut 150o Sudut 160o Sudut 170o