INTISARI
Kehidupan manusia tidak jauh dengan teknologi. Teknologi sangat membantu dalam menyelesaikan tugas dan pekerjaan manusia. Menggunakan ucapan manusia sebagai pengganti tombol untuk sebuah alat akan menjadi lebih efisien dibandingkan dengan hanya menggunkan tombol saja. Atas dasar tersebut penulis membuat sistem pengenalan suara untuk lengan robot. Secara khusus lagi, penulis membuat sistem pengenalan ucapan angka 0 – 9 untuk lengan robot menulis.
Sistem pengenalan ucapan angka ini menggunakan mikrofon untuk merekam ucapan. Ucapan yang terekam diproses menggunakan laptop untuk menjalankan proses pengenalan dan mengenali ucapan yang terekam. Proses pengenalan ucapan meliputi beberapa subproses diantaranya merekam, pre-emphasis, normalisasi, pemotongan sinyal, framing dan windowing, ekstraksi ciri, fungsi korelasi, k-NN, dan penentuan hasil ucapan pengenalan. Lengan robot sebagai lengan untuk menulis menggunakan minimum sistem dengan ATMEGA32 untuk mengatur pergerakan motor servo pada lengan robot.
Pengenalan ucapan untuk menjalankan lengan robot penulis angka berjalan dengan baik untuk 3 user. Program pengenalan ucapan angka mampu mengenali 10 jenis angka (satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, nol). Sistem pengenalan ucapan menggunakan fungsi korelasi. Program pengenalan sudah berhasil dibuat dan dapat bekerja sesuai dengan yang diharapkan. Pada program pengenalan ini menampilkan gelombang ucapan terekam, ekstraksi ciri DFT, dan keluaran berupa tulisan angka yang berhasil dikenali. Pada program ini didapatkan parameter terbaik pada nilai segmen averaging 8 dan nilai k pada k-NN 1. Hasil pengenalan secara real time dengan menggunakan nilai thresholding mampu mengenali semua user dengan sebesar 85,33%.
ABSTRACT
Human life is not far form technology. Technology is very helpful in completing human tasks and work. Using human speech instead of a button for an appliance would be more efficient than just using the buttons itself. Based on this the author make a voice recognition system for the robot arm. In particular, the authors made a speech recognition system of numbers 0-9 for the robot arm to write.
This number speech recognition systems use a microphone for recording speech. Recorded speech processed using a laptop to run the recognition process and recognize the recorded speech. The Speech recognition process includes several subprocesses such as : recording, pre-emphasis, normalization, cutting signal, framing and windowing, feature extraction, correlation function, k-NN, and the determination of speech recognition results. As the arm of the robot arm to write it is used the ATMEGA32, minimum system with servo motors to regulate the movement of the robot arm
Speech recognition usage to movement robot,s arm for writing have gone well for 3 user. The speech recognition program is able to recognize 10 types of numbers (one, two, three, four, five, six, seven, eight, nine, zero). Speech recognition system used correlation function. Introduction program has been created and it could work as expected. At the introduction of the program showing the recorded speech wave, DFT feature extraction, and output a successful writing recognizable number. In this program, parameter best in the value segment averaging 8 and the value of k at k-NN number 1. The result with thresholding able to recognize 85.33% for all users.
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK
LENGAN ROBOT PENULIS ANGKA
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh :
YOHANNES CHRYSOSTOMOS HENDRO YUWONO
NIM : 115114024
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
i
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK
LENGAN ROBOT PENULIS ANGKA
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh :
YOHANNES CHRYSOSTOMOS HENDRO YUWONO
NIM : 115114024
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
FINAL PROJECT
SPEECH RECOGNITION APPLICATION FOR
ROBOTIC ARM NUMBERS WRITER
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree In Electrical Engineering Study Program
YOHANNES CHRYSOSTOMOS HENDRO YUWONO
NIM : 115114024
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
iii
HALAMAN PERSETUJUAN
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK LENGAN
ROBOT PENULIS ANGKA
( SPEECH RECOGNITION APPLICATION FOR ROBOTIC
ARM NUMBERS WRITER )
Oleh
:YOHANNES CHRYSOSTOMOS HENDRO YUWONO
NIM : 115114024
Telah disetujui oleh :
Pembimbing
iv
HALAMAN PENGESAHAN
TUGAS AKHIR
APLIKASI PENGENALAN UCAPAN UNTUK LENGAN
ROBOT PENULIS ANGKA
( SPEECH RECOGNITION APPLICATION FOR ROBOTIC
ARM NUMBERS WRITER )
Oleh :
YOHANNES CHRYSOSTOMOS HENDRO YUWONO
NIM : 115114024
Telah dipertahankan di depan panitia penguji
pada tanggal_____________
dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : Dr. Iswanjono _____________
Sekretaris : Dr. Linggo Sumarno _____________
Anggota : Wiwien Widyastuti, S.T.,M.T. _____________
Yogyakarta,
Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana
layaknya karya ilmiah.
Yogyakarta,
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
“
Mintalah, maka akan diberikan kepadamu; carilah,
maka kamu akan mendapat; ketuklah, maka pintu
akan dibukakan bagimu
”
(Mat 7:7)
Dengan ini kupersembah karyaku untuk
…..
Yesus Kristus dan Bunda Maria yang selalu mendampingiku dalam
keadaan apapun
Orang tua yang selalu kucintai
Teman-temanku yang selalu saling menyemangati
vii
LEMBAR PERNYATAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Yohannes Chrysostomos Hendro Yuwono
Nomor Mahasiswa : 115114024
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
APLIKASI PENGENALAN UCAPAN UNTUK LENGAN
ROBOT PENULIS ANGKA
beserta perangkat yang diperlukan ( bila ada ). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara
terbatas dan mempublikasikannya di internet atau media lain untuk kepentingan akademis
tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama
tetapmencatumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta,
viii
INTISARI
Kehidupan manusia tidak jauh dengan teknologi. Teknologi sangat membantu dalam menyelesaikan tugas dan pekerjaan manusia. Menggunakan ucapan manusia sebagai pengganti tombol untuk sebuah alat akan menjadi lebih efisien dibandingkan dengan hanya menggunkan tombol saja. Atas dasar tersebut penulis membuat sistem pengenalan suara untuk lengan robot. Secara khusus lagi, penulis membuat sistem pengenalan ucapan angka 0 – 9 untuk lengan robot menulis.
Sistem pengenalan ucapan angka ini menggunakan mikrofon untuk merekam ucapan. Ucapan yang terekam diproses menggunakan laptop untuk menjalankan proses pengenalan dan mengenali ucapan yang terekam. Proses pengenalan ucapan meliputi beberapa subproses diantaranya merekam, pre-emphasis, normalisasi, pemotongan sinyal, framing dan windowing, ekstraksi ciri, fungsi korelasi, k-NN, dan penentuan hasil ucapan pengenalan. Lengan robot sebagai lengan untuk menulis menggunakan minimum sistem dengan ATMEGA32 untuk mengatur pergerakan motor servo pada lengan robot.
Pengenalan ucapan untuk menjalankan lengan robot penulis angka berjalan dengan baik untuk 3 user. Program pengenalan ucapan angka mampu mengenali 10 jenis angka (satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, nol). Sistem pengenalan ucapan menggunakan fungsi korelasi. Program pengenalan sudah berhasil dibuat dan dapat bekerja sesuai dengan yang diharapkan. Pada program pengenalan ini menampilkan gelombang ucapan terekam, ekstraksi ciri DFT, dan keluaran berupa tulisan angka yang berhasil dikenali. Pada program ini didapatkan parameter terbaik pada nilai segmen averaging 8 dan nilai k pada k-NN 1. Hasil pengenalan secara real time dengan menggunakan nilai thresholding mampu mengenali semua user dengan sebesar 85,33%.
ix
ABSTRACT
Human life is not far form technology. Technology is very helpful in completing human tasks and work. Using human speech instead of a button for an appliance would be more efficient than just using the buttons itself. Based on this the author make a voice recognition system for the robot arm. In particular, the authors made a speech recognition system of numbers 0-9 for the robot arm to write.
This number speech recognition systems use a microphone for recording speech. Recorded speech processed using a laptop to run the recognition process and recognize the recorded speech. The Speech recognition process includes several subprocesses such as : recording, pre-emphasis, normalization, cutting signal, framing and windowing, feature extraction, correlation function, k-NN, and the determination of speech recognition results. As the arm of the robot arm to write it is used the ATMEGA32, minimum system with servo motors to regulate the movement of the robot arm
Speech recognition usage to movement robot,s arm for writing have gone well for 3 user. The speech recognition program is able to recognize 10 types of numbers (one, two, three, four, five, six, seven, eight, nine, zero). Speech recognition system used correlation function. Introduction program has been created and it could work as expected. At the introduction of the program showing the recorded speech wave, DFT feature extraction, and output a successful writing recognizable number. In this program, parameter best in the value segment averaging 8 and the value of k at k-NN number 1. The result with thresholding able to recognize 85.33% for all users.
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah
memberikan 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 ada begitu banyak
pihak yang telah memberikan bantuan baik bantuan materi, moral maupun dukungan. Oleh
karena itu penulis ingin mengucapkan terimakasih kepada :
1. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma.
2. Dr.Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran
dan pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini..
3. Bapak Dr. Iswanjono dan ibu Wiwien Widyastutu, S.T.,M.T selaku dosen
penguji yang telah member masukan dan kritik dalam penulisan Tugas Akhir
ini
4. Bapak dan Ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat
selama menempuh pendidikan di Universitas Sanata Dharma.
5. Segenap laboran dan karyawan Fakultas Sains dan Teknologi yang telah
memberikan dukungan secara tidak langsung dalam kelancaran penulis
mengerjakan penulisan tulisan tugas akhir ini.
6. Kedua orang tua penulis yang telah banyak memberikan dukungan doa, kasih
sayang dan motivasi selama menempuh pendidikan di Universitas Sanata
Dharma.
7. Teman – teman seperjuangan Teknik Elektro 2011 yang telah menemani di pada saat menempuh pendidikan di Universitas Sanata Dhama.
8. Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak
memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir
xi
Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih
mengalami kesulitan dan tidak lepas dari kesalahan.Oleh karena itu, penulis mengharapkan
masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik.Dan
semoga skripsi ini dapat bermanfaat sebagaimana mestinya.
Yogyakarta,
Penulis,
xii
DAFTAR ISI
Halaman
HALAMAN JUDUL
. ... iHALAMAN PERSETUJUAN
.. ... iiiHALAMAN PENGESAHAN
. ... ivPERNYATAAN KEASLIAN KARYA
. ... vHALAMAN PERSEMBAHAN DAN MOTTO HIDUP
... viLEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
. ... viiINTISARI
. ... viiiABSTRACT
. ... ixKATA PENGANTAR
. ... xDAFTAR ISI
. ... xiiDAFTAR GAMBAR
. ... xviDAFTAR TABEL. ...
xixBAB I PENDAHULUAN
1.1. Latar Belakang. ... 11.2. Tujuan dan Manfaat Penelitian ... 2
1.3. Batasan Masalah ... 2
1.4. Metodologi Penelitian ... 3
BAB II DASAR TEORI
2.1. Lengan Robot ... 32.2. Mikrokontroler AVR ATMEGA32 ... 5
2.2.1. Arsitektur AVR ATMEGA32 ... 5
2.2.2. Deskripsi Mikrokontroler AVR ATMEGA32 ... 6
2.2.3. Interupsi ... 7
2.2.4. Timer/Counter 0 ... 7
2.2.5. Komunikasi Serial USART ... 9
2.3. LCD(Liquid Crystal Display) ... 13
xiii
2.5. Torsi/momen gaya ... 16
2.6. Sinyal suara Manusia... 16
2.7. Sampling ... 16
2.8. Preprocessing ... 17
2.8.1. Pre Emphasis ... 17
2.8.2. Normalisasi ... 17
2.8.3. Pemotongan SInyal... 19
2.8.1 Zero Padding ... 20
2.9 Framing ... 21
2.10. Windowing ... 21
2.10.1. Hamming ... 22
2.11. Ektraksi Ciri DFT ... 22
2.11.1. Pengertian DFT ... 22
2.11.1. Segment Averaging ... 23
2.12. Template Maching ... 24
2.12.1. Korelasi ... 24
2.13. K - nearest neighbor ... 25
2.14. Mikrofon ... 25
2.15. SoundCard... ... 26
2.16. Motor Servo………………... 27
BAB III PERANCANGAN
3.1. Proses Kerja ... 293.2. Perancangan Mekanik Lengan Robot... 30
3.3. Perancangan Perangkat Keras ... 32
3.3.1. Minimum sistem Atmega8535 + LCD 16x2 ... 32
3.3.1.1. Minimum sistem Atmega8535 ... 32
3.3.1.2. Rangkaian Konfigurasi LCD 16x2 ... 33
3.3.2. Motor Servo ... 34
3.3.3. Regulator IC 7805dan Transistor Penguat Arus ... 36
3.3.4. Soundcard ... 36
3.3.5. Headset ... 36
3.4. Perhitungan Torsi Motor Servo ... 37
xiv
3.5.1. Antarmuka Program ... 38
3.5.2. Proses Pengenalan Suara Pada Matlab ... 39
3.5.2.1. Sampling ... 40
3.5.2.2. Pre-emphasis ... 41
3.5.2.3. Normalisasi ... 41
3.5.2.4. Pemotongan sinyal ... 42
3.5.2.5. Framing dan Windowing ... 43
3.5.2.6. Ekstraksi ciri DFT ... 44
3.5.2.7. Korelasi ... 45
3.5.2.8. Klasifikasi K-nn dan penentuan keluaran ... 46
3.5.2.9. Proses pengiriman Serial ... 47
3.5.4. Perancangan Pembentukan Database Ucapan ... 48
3.5.5. Bentuk Angka Digital ... 48
3.5.6. Proses Flowchart Program Lengan robot ... 49
BAB IV HASIL DAN PEMBAHASAN
4.1. Implementasi Lengan Robot ... 614.1.1. Bentuk Fisik Hardware ... 61
4.1.2. Sistem Elektronik ... 61
4.1.3.
Pengaturan Lengan Robot
... 624.1.4. Pengendalian Komunikasi USART... ... 63
4.1.5. Pengendalian Motor Servo... ... 63
4.2. Implementasi GUI Matlab dan Program Pengenalan Ucapan ... 65
4.2.1. Pop Up Menu... ... 66
4.2.2. Tombol Rekam... ... 68
4.2.3. Tombol Reset... ... 76
4.2.3. Tombol Keluar... ... 77
4.3. Pengujian Sudut Motor Servo... ... 77
4.4. Pengujian Untuk Tingkat Pengenalan Ucapan... ... 79
4.4.1. Pengujian Pengenalan Ucapan Secara Tidak Real Time... ... 79
4.4.2. Pengujian Pengenalan Secara RealTime... ... 83
4.4.3. Pengujian Real Time Tanpa Nilai Thresholding Untuk penentuan Database... ... 84
xv
4.5. Hasil Pengujian Tulisan dari Lengan Robot... ... 93
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ... 955.2. Saran ... . 95
DAFTAR PUSTAKA
... 96xvi
DAFTAR GAMBAR
Halaman
Gambar 2.1. Manipulator pada robot lengan ... 4
Gambar 2.2. Konfigurasi Pin Mikrokontroler ATmega32 ... 6
Gambar 2.3. Mode Phase Correct PWM ... 8
Gambar 2.4. Mode Fast PWM ... 9
Gambar 2.5. Register UDR ... 10
Gambar 2.6. Register UCSRA ... 10
Gambar 2.7. Register UCSRB ... 11
Gambar 2.8. Register UCSRB ... 12
Gambar 2.9. Konfigurasi kaki pin LCD ... 13
Gambar 2.10. Rangkaian umum regulator 78xx ... 15
Gambar 2.11. Rangkaian catu daya dengan penguat. ... 15
Gambar 2.12. Tampilan Proses Sampling ... 17
Gambar 2.13. Contoh hasil proses sampling ... 18
Gambar 2.14. Contoh hasil proses normalisasi ... 18
Gambar 2.15. Proses Pemotongan Sinyal ... 19
Gambar 2.16. Proses zero padding. ... 20
Gambar 2.17. Proses framing... ... 21
Gambar 2.18. Proses Windowing... ... 21
Gambar 2.19. Contoh Hasil DFT... 23
Gambar 2.20. contoh segmen averaging dengan 16 segmen... ... 24
Gambar 2.21. Headset INTOPIC JAZZ 660.. ... 26
Gambar 2.22 Bentuk Sound Card PC/Laptop ... 26
Gambar 2.23 Model fisik motor servo... 27
Gambar 2.22 Cara pengontrolan motor servo ... 28
Gambar 3.1. Arsitektur Sistem.. ... 29
Gambar 3.2. Design lengan robot secara keseluruhan... 30
Gambar 3.3. komponen bagian 1 ... 30
Gambar 3.4. komponen bagian 2 ... 30
xvii
Gambar 3.6. design awal ujung lengan robot ... 31
Gambar 3.7. Rangkaian Osilator ATmega32 ... 32
Gambar 3.8. Rangkaian Reset ATmega32 ... 33
Gambar 3.9. Skematik LCD 16x2 ... 33
Gambar 3.10. SettingPort LCD ... 34
Gambar 3.11. Rangkaian pin motor servo ... 34
Gambar 3.12. Lebar pulsa motor servo ... 35
Gambar 3.13. Rangkaian regulator 7805 dengan penguatan arus ... 36
Gambar 3.14. konstruksi lengan robot ... 37
Gambar 3.15. Tampilan Program Utama ... 39
Gambar 3.16. Blok Diagram Pengenalan Ucapan ... 40
Gambar 3.17. Diagram Blok sampling ... 40
Gambar 3.18. proses Pre-emphasis ... 41
Gambar 3.19. Diagram Blok Normalisasi ... 42
Gambar 3.20. Diagram Pemotongan Sinyal... 42
Gambar 3.21. Diagram proses framing... 44
Gambar 3.22. Diagram Blok ekstraksi ciri DFT …... 45
Gambar 3.23. Diagram Alir Proses Pembandingan Korelasi... 45
Gambar 3.24. Diagram alur K-NN dan penentuan suara hasil pengenalan ... 46
Gambar 3.25. Flowchart program komunikasi serial dengan MATLAB ... 47
Gambar 3.26. Alur Pembentukan Database…….…... 48
Gambar 3.27. Bentuk angka digital ………..…... 49
Gambar 3.28. Flowchart Program Lengan Robot Saat Posisi Siaga... 53
Gambar 3.29. Flowchart Program Lengan Robot saat menulis angka 0... 53
Gambar 3.30. Flowchart Program Lengan Robot saat menulis angka 1... 54
Gambar 3.31. Flowchart Program Lengan Robot saat menulis angka 2... 54
Gambar 3.32. Flowchart Program Lengan Robot saat menulis angka 3... 55
Gambar 3.33. Flowchart Program Lengan Robot saat menulis angka 4... 55
Gambar 3.34. Flowchart Program Lengan Robot saat menulis angka 5... 56
Gambar 3.35. Flowchart Program Lengan Robot saat menulis angka 6... 56
Gambar 3.36. Flowchart Program Lengan Robot saat menulis angka 7... 57
Gambar 3.37. Flowchart Program Lengan Robot saat menulis angka 8... 57
xviii
Gambar 3.39. Fowchart penulisan angka keseluruhan ... 59
Gambar 3.40. (lanjutan) Flowchart penulisan angka ... 60
Gambar 4.1. Lengan Robot Tampak Atas ... 61
Gambar 4.2. Lengan Robot Tampak Samping... 61
Gambar 4.3 Minimum System……….... 62
Gambar 4.4. Regulator... 62
Gambar 4.5. Tampilan GUI Program Pengenalan. ... 66
Gambar 4.25a. Bentuk hasil penulisan angka ... 93
xix
DAFTAR TABEL
Halaman
Tabel 2.1. Hubungan PIN dan Interupsi ... 7
Tabel 2.2. Penentuan Ukuran Karakter ... 12
Tabel 2.3. Operasi Dasar LCD 16x2 ... 13
Tabel 2.4. Karakteristik Regulator Tegangan ic 78xx ... 14
Tabel 2.5. Tabel spesifikasi mikrofon pada headset INTOPIC JAZZ 660 ... 25 Tabel 2.6. Spesifikasi servo Towerpro MG946R ... 27
Tabel 3.1. ukuran bagian-bagian lengan robot ... 31
Tabel 3.2. Perhitungan nilai overflow interrupt ... 35 Tabel 3.3. berat yang ditanggung servo ... 38
Tabel 3.4. Keterangan Tampilan User... ... 39
Tabel 3.5. Pengucapan kata dan data yang dikirim... ... 48
Tabel 3.6. Gerak sudut motor servo... 49
Tabel 4.1. Tabel Fungsi Saluran Mikrokontroler. ... 62
Tabel 4.2. Nilai OCR pada pergerakan 10 derajat motor servo ... 78
Tabel 4.3. Perhitungan Lebar Pulsa Motor Servo Towerpro MG946R ... 78
Tabel 4.4. Tabel Pengenalan (%) dengan Database 1 Suara Secara Tidak RealTime 80 Tabel 4.5. Tabel Pengenalan (%) dengan Database 5 Suara Secara Tidak RealTime 80 Tabel 4.6. Tabel Pengenalan (%) dengan Database 10 Suara Secara Tidak RealTime 80 Tabel 4.7. Tabel Pengenalan (%) dengan Database 1 Suara Secara Tidak RealTime 80 Tabel 4.8. Tabel Pengenalan (%) dengan Database 5 Suara Secara Tidak RealTime 81 Tabel 4.9. Tabel Pengenalan (%) dengan Database 10 Suara Secara Tidak RealTime 81 Tabel 4.10. Tabel Pengenalan (%) dengan Database 1 Suara Secara Tidak RealTime 81 Tabel 4.11. Tabel Pengenalan (%) dengan Database 5 Suara Secara Tidak RealTime. 82 Tabel 4.12. Tabel Pengenalan (%) dengan Database 10 Suara Secara Tidak RealTime. 82 Tabel 4.13. Hasil Nilai batas bawah Yang Masih Dikenali Pada Setiap Ucapan... 83
Tabel 4.14 Confusion Matrix Pengujian secara realtime dengan database 1 untuk user 1… ... 84
xx
Tabel 4.16. Confusion Matrix Pengujian secara realtime dengan database 10 untuk user 1 ... ... 85
Tabel 4.17. Confusion Matrix Pengujian secara realtime dengan database 1 untuk user 2 . ... 86
Tabel 4.18. Confusion Matrix Pengujian secara realtime dengan database 5 untuk user 2 ... . 86
Tabel 4.19. Confusion Matrix Pengujian secara realtime dengan database 10 untuk user 2 ... 87
Tabel 4.20. Confusion Matrix Pengujian secara realtime dengan database 1 untuk user
3………. 87
Tabel 4.21. Confusion Matrix Pengujian secara realtime dengan database 5 untuk user
3…….……… 88
Tabel 4.22. Confusion Matrix Pengujian secara realtime dengan database 10 untuk user
3…….……… 88
Tabel 4.23. Data Hasil Pengujian Secara Real Time dengan Nilai Thresholding un untuk User 1 ……….. 89 Tabel 4.24. Data Hasil Pengujian Secara Real Time dengan Nilai Thresholding untuk User
2. ... ……….. 90
Tabel 4.25. Data Hasil Pengujian Secara Real Time dengan Nilai Thresholding untuk User Ketiga.……….. 90
Tabel 4.26. Data Hasil Pengujian Pengucapan dengan Ucapan Lain pada User 1…… 91
Tabel 4.27. Data Hasil Pengujian Pengucapan dengan Ucapan Lain pada User 2…… 92
1
BAB I
PENDAHULUAN
1.1.
Latar Belakang
Pada masa sekarang, aktivitas manusia tidak jauh dengan teknologi. Teknologi tidak
hanya berkembang pada bidang sains, tetapi sudah menjangkau dibidang lainnya, seperti kedokteran, pertanian bahkan militer. Karena itu teknologi terus berkembang, sehingga
penggunaannya menjadi lebih mudah dari pada teknologi sebelumnya.
Lengan robot termasuk kedalam teknologi yang terus berkembang dalam
pemakaiannya[1]. Kegunaan lengan robot yang selain sebagai pengganti lengan pada
manusia untuk memindahkan barang tetapi bisa digunakan untuk aktivitas yang sering
dilakukan manusia ketika menggunakan tangannya yaitu menulis. Selain teknologi lengan
robot berkembang juga teknologi speech recognition, dimana menggunakan suara manusia sebagai perintah untuk alat melakukan suatu fungsi[2].
Dengan gagasan diatas peneliti berkeinginan untuk membuat lengan robot yang bisa
beraktivitas untuk menulis dengan suara sebagai perintahnya. Sehingga tidak diperlukan
lagi remote control untuk menggunakan lengan robot. Dalam mencari ide peneliti menemukan dalam penelitian sebelumnya mengenai Rancang Bangun Lengan Robot
Menulis Kata yang Dikendalikan oleh Aplikasi Android[3] dan penelitian lain mengenai
Pengenalan Ucapan Angka Secara Real Time Menggunakan Ekstraksi Ciri FFT dan Fungsi Similaritas Kosinus[4].
Peneliti ingin merancang dan membuat lengan robot untuk menulis angka secara real time dengan memanfaatkan suara manusia sebagai inputan. Oleh sebab itu peneliti memakai ekstraksi ciri DFT dan fungsi korelasi, hal ini membedakan dengan penelitian proses pengolah suara yang lainya. Dalam pembuatan lengan robot ini peneliti merancang
lengan robot dengan ujung yang terdapat spidol untuk menulis dengan 3 derajat kebebasan
1.2.
Tujuan dan Manfaat
Tujuan dari penelitian ini :
1. Tujuan penelitian ini membuat dan merancang lengan robot penulis angka dari 0
sampai dengan 9 yang dapat bekerja dengan perintah suara.
Manfaat dari penelitian ini :
1. Manfaat dari penelitian sebagai perkembangan teknologi pada bidang kontrol
dalam bentuk perintah suara. Kemudian perkembangan teknologi lengan robot
sebagai alat untuk membantu pekerjaan manusia pada industri.
1.3.
Batasan Masalah
Penulis menetapkan beberapa batasan masalah pada perancangan sebagai berikut :
1) Masukan suara berupa suara penyebutan angka 0 sampai dengan 9, pengucapan
selain kata-kata yang sudah ditentukan akan dikenali secara salah.
2) Suara yang dikenali dari 3 user, peneliti dan 2 orang yang ditentukan oleh
peneliti dengan intonasi pengucapan secara normal.
3) Database suara terdiri dari 3 orang yang sesuai dengan user yang memberi perintah suara.
4) Menggunakan Matlab untuk mengolah suara yang akan dikenali.
5) Pengenalan suara menggunakan ektraksi ciri DFT dan perhitungan korelasi.
6) Lengan robot menulis angka dengan style kotak berdasarkan suara yang dikenali.
7) Lengan robot yang menggunakan bahan akrilik 3 mm.
8) Menggunakan 3 buah servo yang diprogram menggunakan codevision AVR. 9) Ujung lengan robot terdapat spidol untuk menulis di whiteboard.
10) Menggunakan minimum sistem dengan Atmega32.
11) Komunikasi antara Laptop dengan Atmega32 menggunakan komunikasi serial
USART yang dihubungkan dengan modul USB to TTL konverter yang telah
tersedia.
12) Lengan robot akan menulis pada sebuah papan tulis yang diletakan secara
vertikal.
1.4.
Metodologi Penelitian
Langkah-langkah yang dilakukan dalam pengerjaan yaitu ;
1) Mengumpukan bahan-bahan referensi baik buku dan jurnal ilmiah yang
membahas mengenai pengenalan suara pada Matlab, membahas mengenai
lengan robot, pemograman pada codevision AVR.
2) Perancangan hardware dan software untuk perancangan desain lengan robot
dan alur jalan pada program.
3) Pembuatan hardware dan software berdasarkan desain yang telah dirancang
dan membuat berdasarkan alur program kerja.
4) Pengambilan data dengan melihat hasil pengamatan pengolahan suara dan hasil
keluarannya, dan pengamatan pada sudut pada servo yang memungkin menulis
angka secara digital.
5) Analisa dan penyimpulan hasil percobaan dilakukan dengan melihat persentase
4
BAB II
DASAR TEORI
2.1.
Lengan Robot
Lengan robot merupakan gabungan dari beberapa segmen dan sendi yang
secaraumum dibagi menjadi tiga bagian, yaitu:arm, wirst, dan gripper. Robotic Industries Association (RIA) mendefinisikan lengan robot sebagai lengan yang didesain untuk memindahkan material, benda, alat tertentu lewat pergerakan yang terprogram untuk
melakukan berbagai macam tugas [1]. Sistem lengan robot memiliki empat komponen
dasar, yaitu: manipulator, end effector, aktuator, dan kontroler.
Manipulator pada robot lengan memiliki 3 bagian, yaitu bagian dasar (base), bagian lengan (arm), dan bagian pergelangan (wrist). Bagian-bagian manipulator pada robot lengan dapat dilihat pada gambar 2.1.
Gambar 2.1. Manipulator pada robot lengan
Bagian dasar (base) manipulator bisa secara paten terpasang pada dasar area kerja. Bagian lengan (arm) berfungsi untuk memposisikan end effector, dan bagian pergelangan (wrist) berfungsi untuk mengatur arah gerak dari end effector. Bagian ujung pada robot lengan terpasang end effector atau yang sering disebut dengan gripper yang berfungsi sebagai bagian terakhir yang menghubungkan antara manipulator dengan objek. Sebagai
contoh gripper dapat berupa peralatan las, penyemprot cat ataupun hanya berupa pencengkram objek[6].
Kontroler merupakan otak dari sistem robot sehingga keberadaannya sangat
penting. Kontroler menyimpan informasi yang berkaitan dengan data-data robot, dalam hal
ini data gerakan robot yang telah diprogram sebelumnya.Kontroler berfungsi untuk
atau program yang diisikan dengan menggunakan bahasa pemrograman tertentu. Informasi
tersebut kemudian disimpan didalam memori. Data dalam memori dapat di keluarkan atau
di edit sesuai dengan yang dibutuhkan.
Aktuator adalah komponen penggerak yang jika dilihat dari prinsip penghasil
geraknya dapat dibagi menjadi tiga bagian yaitu penggerak berbasis motor listrik (motor
servo, motor steper, motor DC dan sebagainya), penggerak pneumatik (berbasis
kompresi:udara, nitrogen) dan penggerak hidrolik (berbasis benda cair: minyak pelumas).
2.2.
Mikrokontroler AVR 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 ADC, PWM internal dan In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang [8].
2.2.1.
Arsitektur AVR ATmega32
Mikrokontroler ATmega32 memiliki arsitektur sebagai berikut :
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. Memori Flash sebesar 8 kb
g. Sumber Interupsi internal dan eksternal
h. Port SPI (Serial Pheriperal Interface) i. EEPROM on board sebanyak 512 byte
j. Komparator analog
2.2.2.
Deskripsi Mikrokontroler ATmega32
Konfigurasi Pin Mikrokontroller ATmega32 dengan kemasan 40 pin DIP (dual in-line package) dapat dilihat pada Gambar 2.2. 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[8].
Gambar 2.2. Konfigurasi Pin Mikrokontroler ATmega32[8]
Mikrokontroler Atmega 32 memiliki konfigurasi Pin sebagai berikut:
a. VCC (power supply) b. GND (ground)
c. Port A (PA7…PA0) Port A berfungsi sebagai input analog pada ADC (analog digital converter). Port A juga berfungsi sebagai suatu Port I/O 8-bit dua arah. d. Port B (PB7…PB0) Port B adalah suatu Port I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit).
e. Port C (PC7…PC0) Port C adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).
f. Port D (PD7...PD0) Port D adalah suatu Port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).
g. RESET (Reset input) h. XTAL1 (Input Oscillator) i. XTAL2 (Output Oscillator)
2.2.3.
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.
Table 2.1 Hubungan PIN dan Interupsi
Jenis interupt PIN pada Atemega 32
INT0 PORTD.2
INT1 PORTD.3
INT2 PORTB.2
ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2.
Masing-masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada Tabel
2.1. Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan logika
(rissing edge dan falling edge) pada pin interupsi yang bersangkutan[8].
2.2.4.
Timer/Counter
Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan
pencacahan waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM
(Pulse Width Modulation) yakni sinyal kotak dengan frekuensi dan duty cycle yang
nilainya bisa diatur. Atmega32 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8
bit), Timer/Counter 1 (16 bit), dan Timer/Counter 2 (8 bit)[9].
TIMER/COUNTER 0
Fitur-fitur yang dimiliki:
a) Satu buah unit Compare Counter (Unit ini akan meng-count dan meng-compare)
b) Clear timer pada saat compare match (Auto reload)
c) Phase Correct PWM yang bebas glitch
d) Frequency generator
e) External event counter
f) Prescaler clock hingga 10 bit
g) Membangkitkan interupsi saat timer overflow dan atau compare match
(2.1)
(2.2)
(2.3)
Keterangan :
f = frekuensi yang digunakan untuk eksekusi program T = periode
N = prescaller yang digunakan
OCR = nilai cacahan pulsa
Pulse = lebar pulsa
Berikut merupakan mode-mode operasi timer :
[image:31.595.78.532.69.513.2]a. Mode normal, timer digunakan untuk menghitung saja, membuat delay, dan mengitung selang waktu[8].
Gambar 2.3.Mode Phase Correct PWM [8]
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 seperti ditunjukan Gambar 2.4[9].
c. CTC (Clear timer on compare match), register counter (TCNT0) akan mencacah naik kemudian di-reset atau kembali menjadi 0x00 pada saat nilai TCNT0 sama dengan OCR0. Sebelumnya OCR diset dulu, karena timer 0 dan 2 maksimumnya 255, maka range OCR 0-255[9].
Gambar 2.4.Mode Fast PWM [8]
2.2.5.
Komunikasi Serial USART
Komunikasi USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) adalah fasilitas komunikasi serial yang disediakan oleh mikrokontroler Atmega32, baik secara sinkron maupun asinkron.Komunikasi seri dapat dibedakan
menjadi 2 macam, yaitu komunikasi data seri sinkron dan komunikasi data asinkron.
Dikatakan sinkron jika sisi pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber penabuh, data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi penerima ditabuh oleh penabuh yang terpisah dengan
frekuensi yang hampir sama, data dikirim disertai informasi sinkronisasi[8]. Pada proses
inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:
a. Operasi full duplex (mempunyai register receive dan transmit yang terpisah) b. Mendukung kecepatan multiprosesor
c. Mode kecepatan berorde Mbps
d. Operasi asinkron atau sinkron
e. Operasi master atau slave clock sinkron
f. Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi g. Modus komunikasi kecepatan ganda pada asinkron
2.2.5.1. Inisialisasi USART
Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART. Register-register yang digunakan untuk komunikasi USART antara lain[8]:
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.
Gambar 2.5. Register UDR [8]
USART Control and Status Register A (UCSRA)
Gambar 2.6. Register UCSRA [8] Penjelasan bit penyusun UCSRA[8]:
a. RXC (USART Receive Complete)
Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan
akan berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk
membangkitkan interupsi RX jika diaktifkan dan akan berlogika nol secara
otomatis bersamaan dengan eksekusi vektorinterupsi yang bersangkutan.
b. TXC (USART Transmit Complete)
Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.
c. UDRE (USART Data Register Empty)
Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti
sebaliknya.
d. FE (Frame Error)
Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika stop bit pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika stop bit data yang diterima berlogika nol.
[image:33.595.97.522.132.604.2]Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan bernilai satu ketika terjadi tumpang tindih data.
f. PE (Parity Error)
Bit yang menentukan apakah terjadi kesalahan paritas. Bit ini berfungsi jika
ada kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas digunakan.
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 diset nol.
h. MPCM (Multi Processor Communication Mode)
Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh USART tidak mengandung informasi alamat akan diabaikan.
USART CONTROL AND STATUS REGISTER B (UCSRB)
Gambar 2.7. Register UCSRB [8] Penjelasan bit penyusun UCSRB[8]:
a. RXCIE (RX Complete Interrupt Enable)
Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.
b. TXCIE (TX Complete Interrupt Enable)
Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika tidak diaktifkan.
c. UDRIE (USART Data Register Empty Interrupt Enable)
Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika diaktifkan dan sebaliknya.
d. RXEN (Receiver Enable)
Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin
diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena
e. TXEN (Transmitter Enable)
Bit ini 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)
[image:35.595.99.525.224.640.2]Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk memilih tipe lebar data bit yang digunakan.
Tabel 2.2. Penentuan Ukuran Karakter
UCSZ[2..0] Ukuran Karakter dalam bit
0 5
1 6
10 7
11 8
100-110 Tidak dipergunakan
111 9
g. RXB8 (Receive Data Bit 8)
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10
bit, dan bit ini harus dibaca dahulu sebelum membaca UDR.
h. TXB8 (Transmit Data Bit 8)
Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10
bit, dan bit ini harus ditulis dahulu sebelum membaca UDR.
USART CONTROL AND STATUS REGISTER C (UCSRC)
Gambar 2.8. Register UCSRC [8] Penjelasan bit penyusun UCSRC[8]:
a. URSEL (Register Select) :
Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk menulis atau membaca register UCSRC maka bit harus berlogika satu.
b. UMSEL (USART Mode Select)
c. UPM[1…0] (Parity Mode)
Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan.
Transmittter USART akan membuat paritas yang akan digunakan secara otomatis. d. USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan. e. UCSZ1 dan UCSZ0
Merupakan bit pengatur jumlah karakter serial Bit yang berfungsi untuk
memilih lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam
register UCSRB.
f. UCPOL (Clock Parity)
Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan
perubahan data keluaran dan sampel masukkan, dan clock sinkron (XCK)[6].
2.3.
LCD (Liquid Crystal Display)
LCD adalah salah satu komponen elektronika yang berfungsi sebagai tampilan
suata data, baik karakter dan huruf[10] agar dapat mengendalikan LCD karakter dengan
baik, tentu diperlukan koneksi yangbenar.Untuk itu perlu diketahui pin-pin antarmuka
[image:36.595.85.518.235.736.2]yang dimiliki oleh LCD karakterseperti yang ditunjukan pada Gambar 2.11[10].
Gambar 2.9. Konfigurasi kaki pin LCD 16x2
Konfigurasi setting LCD 16x2 dapat dilihat pada tabel 2.3 Tabel 2.3. Operasi Dasar LCD 16x2[26]
No. Nama Fungsi
1 GND Ground
2 VCC 5V
3 VEE Ground
4 RS Register Select; H: Data Input; L: Instruction Input
Tabel 2.3.(lanjutan) Operasi Dasar LCD 16x2[26]
No. Nama Fungsi
6 EN Enable Signal
7 D0 Data Bus
8 D1 Data Bus
9 D2 Data Bus
10 D3 Data Bus
11 D4 Data Bus
12 D5 Data Bus
13 D6 Data Bus
14 D7 Data Bus
15 V+BL Positif backlight voltage
16 V–BL Negative backlight voltage
2.4.
Regulator IC 78xx dan Transistor Penguat Arus
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 karakteristik IC regulator seri 78xx dapat dilihat pada tabel 2.4.
Tabel 2.4. Karakteristik Regulator Tegangan ic 78xx [11]
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
Gambar 2.10. Rangkaian umum regulator 78xx [11]
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.4 dan 2.5 [11].
√ (2.4)
(2.5)
Komponen eksternal yang digunakan yaitu transistor 2N3055 karena kemampuan
arus maksimal adalah 15 A [12].Untuk gambar rangkaian lengkap dengan IC regulator
dapat ditunjukan gambar 2.11.
Gambar 2.11. Rangkaian catu daya dengan penguat[12]
Dari gambar 2.11, maka diperleh persamaan-persamaan sebagai berikut[12]:
VB = Vreg + VD (2.6)
Tegangan keluaran rangkaian menjadi,
Vo = Vreg – VBE (2.7)
Jika VD VBE, maka
Vo = Vreg (2.8)
VCE = VIN – VR1(2.9)
Disipasi daya transistor NPN 2N3055 adalah,
PD = VCE x IC(2.10)
Untuk nilai penguatan arus diperoleh dengan persamaan dibawah ini :
Ic = β IB (2.11) Ie = (β+1) IB (2.12)
2.5.
Torsi / Momen Gaya
Momen Gaya adalah kemampuan gaya F memutar/merotasi benda terhadap poros diam. Sehingga semakin besar torsi (τ) maka gaya F memutar benda pun semakin besar [7].
Rumus :
τ = F r sin ϴ (2.13)
keterangan : τ = Torsi (N-m)
r = Jarak dari titik pangakal gaya sampai sumbu putar
F = Gaya (N), F = m x g ϴ = Derajat sumbu putar
2.6.
Sinyal Suara Manusia
Suara termasuk sebagai suatu sinyal, seperti sinyal pada umumnya maka suara
manusia dapat merambat melalui media perantara. Suara dapat dihantarkan melalui
berbagai macam media, seperti media cair, gas ataupun media padat. Dengan mengambil
arti bahwa suara termasuk sebagai sinyal, maka suara manusia mempunyai frekuensi dan
amplitudo tertentu. Suara yang dapat didengar oleh manusia berkisar antara 20 Hz sampai
dengan 20 KHz dan suara manusia mempunyai frekuensi 300 – 3000 Hz, dimana Hz
adalah satuan frekuensi yang berarti banyak getaran per detik [13].
2.7.
Sampling
Sampling merupakan proses pencuplikan sinyal kontinyu atau analog pada periode-periode tertentu. Dalam proses ini sinyal suara akan dicuplik menjadi gelombang diskrit.
[14]. Dalam proses pencuplikan, ada yang disebut dengan frekuensi sampling.
frekuensisamplingmenandakan berapa banyak pencuplikan gelombang analog dalam satu
Gambar 2.12. Tampilan Proses Sampling
Didalam kriteria Nyquist dituliskan bahwa frekuensi samplingminimal harus lebih
besar sama dengan 2 kali nilai frekuensi sinyal analog yang akan dicuplik .Kriteria Nyquist perlu diperhatikan dalam melakukan pencuplikan.Lebih jelasnya kriteria Nyquist menyatakan sebuah sinyal harus memiliki pencuplikan rate yang lebih besar dari 2 dengan adalah frekuensi paling tinggi yang muncul di sebuah sinyal.
2.8.
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 pre-emphasis,normalisasi,
pemotongan sinyal, dan zero padding.
2.8.1.
Pre Emphasis
Pada proses pre emphasis sinyal denganfrekuensi tinggi diloloskan dan sinyal
denganfrekuensi rendah difilter hal ini dilakukan dengantujuan untuk meratakan bentuk
sinyal untukfrekuensi tinggi maupun rendah suara. Filter pre emphasis dinyatakan dalam persamaan seperti berikut[15]:
s’(n) = s(n) –α*s(n−1) (2.14)
dimana:
s(n) =sampel sinyal masukan ke-n α= konstanta dimana 0,9 <α < 1,0
2.8.2.
Normalisasi
Normalisasi adalah proses dimana membuat penskalaan pada nilai amplitudo tiap
data sinyal sesuai skala yang diinginkan. Proses ini dilakukan agar nilai amplitudo pada
manusia saat melakukan pengucapan selalu berbeda-beda, sehingga penskalaan nilai
amplitudo sinyal terhadap acuan skala yang diinginkan sangat diperlukan [16].
(2.15)
dengan keterangan sebagai berikut :
= hasil data sinyal normalisasi (1,2,3,…,N)
= data masukan dari sampling (1,2,3,…,N)
N merupakan banyaknya data sinyal.
Proses normalisasi sinyal suara diperlihatkan pada gambar 2.13. Gambar pada sisi
atas memperlihatkan sinyal yang akan dinormalisasi dan gambar pada sisi bawah
memperlihatkan hasil normalisasinya. Dari gambar tersebut diperlihatkan berubahnya nilai
amplitudo setelah skalanya diperbesar.
Gambar 2.13. Contoh hasil proses sampling
2.8.3.
Pemotongan Sinyal
Gambar 2.15. Proses Pemotongan Sinyal
0 1000 2000 3000 4000 5000 6000 7000 8000
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Pemotongan data sinyal sebelah kiri
Data
ke-Am
pli
tu
de
0 1000 2000 3000 4000 5000 6000 7000 8000
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
pembalik urutan data sinyal
Data
ke-Am
pli
tud
e
0 500 1000 1500 2000 2500 3000
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
pemotongan data sinyal sebelah kanan
Data
ke-Am
pl
itu
de
0 500 1000 1500 2000 2500 3000 3500 4000
Pemotongan sinyal merupakan proses yang berkaitan dengan ekstraksi ciri. Proses
ini bertujuan untuk memotong beberapa bagian sinyal. Dalam proses perekaman,
pemotongan sering terjadi untuk bagian awal dan akhir sinyal. Pemotongan bagian awal
dan akhir sinyal suara dimaksudkan untuk menghilangkan bagian yang tidak termasuk
bagian dari sinyal ucapan serta untuk mengurangi cacat sinyal akibat derau ruangan yang
ikut terekam.Sinyal yang dianggap sebagi noise tersebut berasal dari suara lingkungan sekitar atau derau pernapasan. Keberadaan sinyal tersebut akan lebih baik jika
diminimalisir dengan cara dihilangkan.
Pada grafikpertama dari gambar 2.15 dengan batas potong 0.3data sinyal hasil
normalisasi ditinjau kembali untuk mencari urutan data yang nilai amplitudonya di atas
nilai positif batas potong dan di bawah nilai negatif batas potong. Pada grafik kedua data
sinyal akan dihilangkan dari awal hingga data pertama dari hasil pencarian. Setelah
dihilangkan kemudian urutan data sinyal dibalik dari belakang ke depan seperti pada
grafikketiga. Kemudian proses diulang kembali dengan peninjauan data sinyal dan
menghapus data dari awal hingga data pertama dari hasil pencarian. Pada grafik kelima
urutan data sinyal diurutkan kembali dari belakang ke depan agar urutan datanya kembali
pada aslinya.
2.8.4.
Zero padding
Zeropadding merupakan proses pemberian deretan data bernilai 0 pada data sinyal. Efek dari pemotongan sinyal memungkinkan adanya dampak ketidaksamaan banyak data
sinyal. Proses zeropadding dilakukan agar panjang gelombang tiap data sinyal ucapan dapat disetarakan. Jumlah data 0 yang diberikan menyesuaikan ukuran banyak data yang
Gambar 2.16. Proses zero padding
2.9.
Framing
Framing adalah proses dimana 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 tersebut
sinyal data melebihi maka akan mengalami overlap, dimana akan sinyal data yang berlebih
tersebut akan dipotong sebesar nilai overlap. Nilai dari lebar frame (tf) adalah 512 [15] dan
nilai overlap (to) adalah 25% [20]dari nilai lebar segmen yaitu 128.
Gambar 2.17. Proses framing [15]
2.10.
Windowing
Windowing adalah proses dimana meminimalkan terjadinya diskontinuitas sinyal yang muncul akibat pemotongan sinyal. Biasanya diskontinuitas muncul pada bagian tepi awal dan akhir data sinyal suara. Proses windowing dilakukan agar dapat menghilangkan sinyal yang tidak diingikan sebelum ke proses selanjutnya[16].
Pada grafik pertama dari gambar 2.18 merupakan data sinyal hasil pemotongan
yang akan diolah pada proses windowing. Grafik kedua merupakan pola jendela yang akan digunakan dalam proses windowing. Jumlah titik-titik data pada pembentukan pola jendela tersebut harus sama terhadap banyak data pada data sinyal. Pada grafik ketiga merupakan
hasil windowing. Hasil tersebut diperoleh dari perkalian elemen dari gambar pertama dengan gambar kedua.
2.10.1.
Hamming
Hamming window adalah salah satu dari berbagai macam jenis windowing. Hamming windowmerupakan window yang mempunyai sidelobe yang paling kecil dan mainlobe yang paling besar sehingga hasildari hamming windowakan lebih halus dalam menghilangkan efek diskontunitas. Persamaan hamming window adalah [18]:
(2.15)
Di mana :
w(n) = Hasil windowing
N= Jumlah data dari sinyal
n= waktu distrik ke
2.11.
Ekstraksi Ciri DFT
2.11.1.
Pengertian 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
persamaansebagai berikut [19]:
∑
(2.16)
Dengan:e = natural number (2.7182818284…)
k = indeks dalam domain frekuensi (0, 1, 2, …,N-1)
n = indeks dalam domain waktu (0,1,2, …, N-1)
Gambar 2.19.ContohHasil DFT
2.11.2.
Segment Averaging
Gambar 2.20.contohsegmen averaging dengan 16 segmen
2.12.
Template Maching
Template maching merupakan tahap pendekatan pengenalan pola dalam proses pengenalan ucapan. Proses template maching digunakan untuk menentukan kesamaan pola antara data masukan dengan pola database yang telah tersedia[17].
2.12.1.
Korelasi
Korelasi digunakan untuk menghitung besarnya perubahan antara dua
variabel.Korelasi ini membagi dua variabel yang satu dengan yang lainnya yang saling
berhubungan. Korelasi dirumuskan sebagai berikut [25] :
∑ ̅ ̅
√∑ ̅ ∑ ̅ (2.17)
Denganketerangansebagaiberikut :
̅= rata-rata variable data referensi = data masukan
= data referensi
= hasilkorelasi antara x dan y
2.13.
K- Nearest Neighbor
Alogarima yang disebut aturan tetangga terdekat atau biasa dikenal k - nearest neighbor(k-NN) diringkas sebagai berikut [15]. Sebuah fitur yang tidak diketahui vector x dan jarak mengukur, kemudian:
a. Diluar vektor N(jarak),identifikasi nilai k tetangga terdekat, terlepas dari label
kelas,untuk masalah 2 kelas dipilih dari nilai k yang ganjil, dan biasanyabukan
merupakan kelipatan dari banyaknya kelas M.
b. Dari sampel k tersebut, identifikasi jumlah vektor kiyang termasuk dalam kelas ωi,I = 1,2,…, M . Dengan∑
c. Tetapkan x untuk kelas ωi dengan jumlah ki terbanyak dari sampel.
2.14.
Mikrofon
Mikrofon dengan adalah perangkat yang mengubah gelombang suara menjadi
sinyal listrik. Mikrofon banyak digunakan untuk berbagai hal yang berhubungan dengan
komunikasi. Alat ini akan mengubah sinyal suara menjadi sinyal listrik yang kemudian
dapat diaplikasikan sebagai input. Mikrofon yang akan digunakan untuk pengambilan suara adalah headset INTOPIC JAZZ 660. Mikrofon tersebut mempunyai spesifikasi sebagi berikut :
Tabel 2.5 Tabel spesifikasi mikrofon pada headset INTOPIC JAZZ 660[22]
No Spesifikasi Nilai
1 Frequency Range 30 – 10.000 Hz
2 Microphone Sensitivity -54 3 dB
3 Impedance .2 k
4 Standard OperatingVoltage 3 V
Gambar 2.21.Headset INTOPIC JAZZ 660
2.15.
Sound Card
SoundCard atau kartu suara adalah perangkat keras pada PC/laptop yang berguna untuk mengolah audio atau suara [23].Perangkat ini dapat mengkonversi sinyal audio, mengeluarkan sinyal audio, merekam sinyal audio, dan menyimpan sinyal audio. Kemampuan pengolahan audio sangat banyak sehingga banyak perangkat lain dari PC/laptop yang terhubung pada soundcard. Secara umum sound card memiliki beberapa fungsi :
a. DSP (Digital Signal Processor) menangani jenis komputasi. b. DAC (Digital to Analog Converter) memproses output audio. c. ADC (Analog to Digital Converter) memproses inputan audio. d. ROM (Read Only Memory) menyimpan data sementara.
e. MIDI (Musical Instrument Digital Interface) untuk koneksi peralatan musik eksternal.
f. Jack digunakan untuk menyambung speaker dan mikrophone sebagai line out
dan line in.
Ada 3 jenis Sound Card berdasarkan kondisi pemasangan yaitu Sound Card OnBoard, Sound Card Off Board, dan SoundCardExternal. 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. SoundCardExternal pemasangannya dihubungkan ke komputer melalui port eksternal seperti USB atauFireWire.
2.16. 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 [1].
Gambar 2.23. Model fisik motor servo
Tabel 2.6 Spesifikasi servo Towerpro MG946R [24]
Spesifikasi servo Towerpro MG946R operating voltage 4.8V to 7.2V
operating speed 4.8v : 0.20sec/60o operating speed 6.0v : 0.17sec/60o
stall torque 10.50 kg-cm @4.8V stall torque 13 kg-cm @6V
gear type all metal gear
size 40.7 mm x 19.7 mm x 42.9 mm
weight 55 gram
Bentuk fisik motor servo dapat dilihat pada gambar 2.23. 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) [1].
Pengaruh dari lebar pulsa membuat posisi motor servo akan berubah. Perubahan ini
agar terus berada pada posisi tetap misal dengan pulsa 2 ms akan memutar posisi servo
pada 180o maka perlu diberikan nilai pulsa secara konstan agar posisi servo tetap pada
Gambar 2.24. Cara pengontrolan motor servo [5]
Prinsip utama pengontrolan motor servo yaitu dengan memberikan nilai PWM
pada kontrolnya. Perubahan duty cycleakan menentukan perubahan posisi dari motor servo. Motor servo memiliki frekuensi sebesar 50 Hz sehingga pulsa yang dihasilkan yaitu
29
BAB III
RANCANGAN PENELITIAN
Dalam bab III ini akan dibahas mengenai perancangan perangkat keras dan
perancangan perangkat lunak. Pembahasan mengenai proses kerja, perancangan mekanik
untuk lengan robot, perancangan hardware untuk komponen-komponen lengan lengan
robot, dan perancangan software untuk program lengan robot dan program suara.
3.1. Proses Kerja
Kerja sistem dirancang untuk mengenali suara yang diucapkan oleh user secara real
time untuk sebagai perintah dalam mengerakan lengan robot untuk menuliskan angka.
Ucapan berupa angka dari 0 sampai dengan 9 dari 3 user. Ucapan tersebut ditangkap
melalui mikrofon pada headset dan disalurkan menuju sound card untuk diubah menjadi sinyal. Data sinyal akan diproses sebagai input oleh Matlab. Hasil dari proses oleh Matlab
dikirimkan ke mikrokontroler melalui USB to TTL. Data yang diterima kemudian diproses
mikrokontroler untuk mengoprasikan lengan robot. Lengan robot akan menuliskan angka
[image:52.595.87.524.301.711.2]dari 0 – 9 sesuai dengan input yang diterima.
3.2.
Perancangan Mekanik Lengan Robot
Perancangan lengan robot berupa desain lengan robot, bahan pembuatan lengan
robot yaitu akrilik setebal 3 mm. Desain lengan robot menggunakan software Google sketchup utuk model 3 dimensi dan Corel Draw untuk model 2 dimensi. Lengan robot dirancang terdiri dari link 1, link 2, base sebagai poros. Lengan robot dirancang dengan 3
derajat kebebasan, dengan spidol berada di ujung lengan robot.
Gambar 3.2. Design lengan robot secara keseluruhan
[image:53.595.85.528.198.737.2]Gambar 3.3.komponen bagian 1
Gambar 3.5. Komponen bagian 3
Gambar 3.2 merupakan gambar design lengan robot secara 3D. Link merupakan penghubung antar bagian dari lengan robot dan joint merupakan bagian penggerak pada
[image:54.595.88.526.240.493.2]sendi di lengan robot.
Gambar 3.6 design awal ujung lengan robot
Gambar 3.6 merupakan design kasar dari ujung pada lengan robot dimana pada
bagian belakang spidol terdapat suspense yang akan membuat spidol dapat maju dan
mundur. Fungsi dari suspensi ini berguna saat menulis, lengan robot tidak terkena tekanan,
tekanan akan teredam pada suspensi tersebut.
Tabel 3.1. ukuran bagian-bagian lengan robot
Bagian Lengan Robot Panjang lengan
Bagian 1 14 cm
Bagian 2 dan spidol 27 cm
3.3.
Perancangan Perangkat Keras (hardware)
Ada beberapa komponen dalam perancangan subsistem perangkat keras lengan
robot pemisah benda, diantaranya yaitu :
a) Minimum Sistem Atmega32 + LCD 16x2
b) Motor servo
c) Regulator IC 7805 + penguat arus
d) Headset
e) Soundcard
3.3.1.
Minimum Sistem Atmega32 + LCD 16x2
3.3.1.1. Minimum Sistem Atmega32
Rangkaian minimum sistem merupakan sistem utama dalam mengontrol
pergerakan lengan robot yang telah diprogram dalam mikrokontroler ATmega32 sesuai
dengan kebutuhan. Penggunaan mikrokontroler dapat diatur sebagai input dan output
mengontrol motor servo serta mengolah data serial yang dikirimkan dari komputer melalui
USB to TTL converter.
Untuk perancangan minimum sistem terdiri dari rangkaian eksternal yaitu
rangkaian osilator dan rangkaian reset. Rangkaian osilator menggunakan crystal dengan frekuensi sebesar 11,0592 MHz dan menggunakan kapasitor 22 pf pada pin XTAL1 dan
XTAL2 di mikrokontroler sesuai dengan datasheet. Rangkaian osilator ini berfungsi sebagai sumber clock bagi mikrokontroler. Pemberian kapasitor bertujuan untuk memperbaiki kestabilan frekuensi yang diberikan oleh osilator eksternal. Gambar 3.7
menunjukan rangkaian osilator.
Rangkaian resetbertujuan untuk memaksa proses kerja pada mikrokontroler dapat
diulang dari awal. Saat tombol reset ditekan maka mikrokontroler mendapat input logika
rendah, sehingga akan seluruh proses yang sedang dilakukan mikrokontroler akan ter-reset.
Gambar 3.8. adalah rangkaian reset untuk ATmega32.
Gambar 3.8. Rangkaian Reset ATmega32[8]
Pada gambar 3.8 terdapat resistor yang memiliki resistansi sebesar 4,7 KΩ yang
difungsikan sebagai pull up. Resistor pull-up eksternal dapat digunakan untuk menjaga
agar pin RESET tidak berlogika 0 secara tidak disengaja.Kapasitor 10nF digunakan untuk
menghilangkan noise yang disusun seri dengan resistor. Rangkaian reset minimum system Atmega32 merupakan gabungan dari rangkaian push-button dan low-pass filter.
3.3.1.2. Rangkaian Konfigurasi LCD 16x2
Rangkaian LCD digunakan untuk menampilkan angka yang diucapkan oleh user