-
TUGAS AKHIR
KONTROL MODEL PESAWAT SEDERHANA
MENGGUNAKAN PEMBACAAN SENSOR PADA
SARUNG TANGAN
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Sharma
Disusun oleh :
WAHYU PRAWISESA NUGROHO
NIM : 155114030
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
FINAL PROJECT
CONTROL FOR MODEL AIRCRAFT USING
SENSOR READING ON GLOVE
In a partial fulfilment of the requirements
for the degree of Sarjana Teknik
Departement of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
WAHYU PRAWISESA NUGROHO
NIM : 155114030
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
vi
HALAMAN PERSEMBAHAN
MOTTO :
“JANGAN ADA RENCANA B, KARNA JIKA ADA
RENCANA B, BERARTI ANDA SEPENUHNYA TIDAK
PERCAYA PADA RENCANA A”
Persembahan
Tugas Akhir ini kupersembahkan untuk
Tuhan Yang Maha Esa yang selalu memimpin setiap langkahku
Kedua orang tua, kakak, dan keluarga yang selalu mendoakan
yang terbaik
Dosen-dosen dan teman-teman yang sudah berdinamika bersama
selama masa perkuliahan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
viii
INTISARI
Teknologi robot dibidang industri mainan berkembang cukup pesat.
Banyak mainan
canggih yang dapat dikontrol melalui remote control. Teknologi
remote control ini dapat
dikembangkan menjadi lebih variative dan lebih menarik dengan
menggantikan remote
control menggunakan sarung tangan yang dapat menggerakan
mainan-mainan tersebut.
Namun dalam penerapannya banyak yang harus diperhitungkan untuk
membuat pesawat
kontrol yang dikontrol menggunakan sarung tangan, sehingga
dibuatlah model pesawat yang
dapat dikontrol melalui sarung tangan. Model pesawat adalah
tiruan fisik dari sebuah
pesawat, namun model pesawat tidak dapat terbang.
Penelitian ini bertujuan untuk membuat sarung tangan yang dapat
mengontrol
pergerakan robot model pesawat secara wireless melalui arduino
yang terhubung dengan
modul nrf24l01 yang terdapat pada sarung tangan dan model
pesawat. Model pesawat
digerakan oleh beberapa servo yang membuatnya dapat bergerak
naik, turun, miring kekanan
dan miring kekiri layaknya pesawat saat sedang terbang yang
disesuaikan dengan kondisi
sensor MPU-6050 yang terdapat pada sarung tangan. Kecepatan
putaran baling-baling pada
model pesawat diatur agar sesuai dengan kondisi sensor flex yang
terdapat pada sarung
tangan.
Berdasarkan hasil penelitian, sensor flex dapat mengatur
kecepatan putaran motor dc
berdasarkan kelengkungannya, semakin lengkung sensor flex maka
semakin cepat putaran
motor dc. Sensor MPU-6050 dapat mengatur gerakan servo roll,
pitch, dan yaw dengan baik,
namun masih terjadi error. Persentase total error dari gerakan
servo roll adalah sebesar
1,73%, total error dari gerakan servo pitch adalah sebesar
9,34%, dan total error dari gerakan
servo yaw adalah sebesar 11,97%. Kedua arduino dapat
berkomunikasi dengan baik hingga
jarak 5 meter.
Kata kunci: pesawat, sarung tangan, sensor MPU-6050, sensor
flex, wireless
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
ix
ABSTRACT
Robotics technology in the toy industry is growing rapidly. Many
high technology
toys that can be controlled by remote control. This remote
control technology can be
developed to be more varied and more interesting by replacing
the remote control using
gloves that can move the toys. However, many things are needed
to make a control airplane
using gloves, finally we made airplane model that can be
controlled using gloves. The
airplane model is an imitation airplane model, but the airplane
model cannot fly.
The purpose of this study is to create a gloves that can control
the movement of
wireless airplane model with arduino that connected with
nrf24l01 module in the gloves and
the airplane model. The aircraft model is moved by several servo
which makes it able to
move up, down, tilt to the right and tilt to the left like an
airplane that follows the MPU-6050
sensor on the glove. The rotation speed of the propeller on the
model airplane rotates
following the flex sensor on the glove.
Based on the results of the study, the flex sensor can adjust
the rotation speed of the
dc motor based on it’s curvature, if the flex sensor is
increasingly curved then the dc motor
rotation is getting more faster. The MPU-6050 sensor can adjust
servo roll, pitch and yaw
movements well, but errors still occur. The percentage of the
total error from the servo roll
movement is 1,73%, the total error from the servo pitch movement
is 9,34%, and the total
error from the servo yaw movement is 11,97%. Both Arduino can
communicate well up to a
distance of 5 meters.
Keywords: airplane, gloves, MPU-6050 sensor, flex sensor,
wireless
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
x
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan
penyertaan-Nya, sehingga
penulis dapat menyelesaikan pembuatan tugas akhir dan laporan
tugas akhir ini dengan
lancar. Tujuan dari tugas akhir ini adalah sebagai salah satu
syarat untuk mencapai derajat
sarjana Program Studi Teknik Elektro Fakultas Sains dan
Teknologi Universitas Sanata
Dharma Yogyakarta. Pada kesempatan ini penulis ingin mengucapkan
terima kasih kepada:
1. Tuhan Yang Maha Esa yang selalu setia mendampingi dan
memberikan berkat, serta
penyertaan kepada penulis.
2. Bapak Sudi Mungkasi, S.Si., M.Math.Sc.,Ph.D., selaku Dekan
Fakultas Sains dan
Teknologi Universitas Sanata Dharma.
3. Bapak Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program
Studi Teknik
Elektro, Fakultas Sains dan Teknologi, Universitas Sanata
Dharma.
4. Bapak Djoko Untoro Suwarno, S.Si., M.T., selaku Dosen
Pembimbing Tugas Akhir
yang selalu memberikan masukan dan dorongan, kepada penulis
untuk berkembang
dan berproses, selalu sabar dan meluangkan waktunya untuk
bimbingan sehingga
tugas akhir dapat diselesaikan dengan hasil yang memuaskan.
5. Bapak Dr. Ir. Linggo Sumarno, M.T., selaku Dosen Pembimbing
Akademik yang
selalu memberikan masukan dan dorongan, kepada penulis untuk
berkembang dan
berproses selama berkuliah sehingga bisa sampai ditahap sekarang
ini.
6. Bapak Martanto, M.T., selaku dosen penguji tugas akhir yang
telah memberi
masukan, bimbingan serta saran untuk menyempurnakan penulisan
tugas akhir ini.
7. Bapak Ir. Tjendro, M.Kom., selaku dosen penguji tugas akhir
yang telah memberi
masukan, bimbingan serta saran untuk menyempurnakan penulisan
tugas akhir ini.
8. Bapak dan Ibu dosen yang mengajarkan banyak hal dan
memberikan pengalaman
dalam proses pembelajaran selama penulis menempuh pendidikan di
Program Studi
Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata
Dharma.
9. Orang Tua dan kakak, dan seluruh keluarga yang memberikan
semangat, dorongan
dan doa untuk dapat menyelesaikan tugas akhir ini.
10. Seluruh teman-teman yang sudah memberikan dukungannya selama
penulisan tugas
akhir ini, khususnya untuk teman-teman Teknik Elektro angkatan
2015, teman-
teman grup Offline, Horsemen, EndTA serta teman-teman semasa
sekolah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xii
DAFTAR ISI
HALAMAN SAMPUL(BAHASA INDONESIA)
..............................................................
i
HALAMAN SAMPUL(BAHASA INGGRIS)
..................................................................
ii
HALAMAN PERSETUJUAN
.........................................................................................
iii
HALAMAN PENGESAHAN
...........................................................................................iv
LEMBAR PERNYATAAN KEASLIAN KARYA
............................................................ v
HALAMAN PERSEMBAHAN
........................................................................................vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS
.......................................................................................
vii
INTISARI
......................................................................................................................
viii
ABSTRACT
.....................................................................................................................ix
KATA PENGANTAR
.......................................................................................................
x
DAFTAR ISI
..................................................................................................................
xii
DAFTAR GAMBAR
.......................................................................................................
xv
DAFTAR TABEL
.........................................................................................................xvii
BAB I PENDAHULUAN
......................................................................................
1
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
.........................................................................................
5
2.1. Gerakan Pesawat
.........................................................................................5
2.1.1. Yaw
.......................................................................................................5
2.1.2. Pitch
.....................................................................................................5
2.1.3. Roll
.......................................................................................................6
2.2. Arduino Nano
.............................................................................................6
2.2.1. Konfigurasi Pin Arduino Nano
..............................................................7
2.3. Arduino Uno
...............................................................................................8
2.4. Sensor Flex
.................................................................................................9
2.5. Modul nRF24L01
.....................................................................................
11
2.6. Motor DC
.................................................................................................
13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiii
2.7. Motor Servo
..............................................................................................
13
2.7.1. Pengendalian Motor Servo
..................................................................
14
2.8. Sensor MPU-6050
....................................................................................
15
2.9. Driver Motor
L298N.................................................................................
18
2.10. Pengaturan Kecepatan Motor DC
..............................................................
19
2.11. Software Arduino IDE
..............................................................................
21
2.11.1. Pengertian Arduino Software (IDE)
..................................................... 21
2.11.2. Menulis Sketch
....................................................................................
22
2.12. Komunikasi I2C (Inter Integrated Circuit)
................................................ 23
2.13. Komunikasi SPI (Serial Peripheral Interface)
........................................... 26
BAB III PERANCANGAN PENELITIAN
.............................................................
30
3.1. Diagram Blok
...........................................................................................
30
3.2. Perancangan Perangkat Keras
...................................................................
31
3.2.1. Perancangan Bagian Penggerak Model Pesawat
.................................. 31
3.2.2. Perancangan Bagian Sarung Tangan
.................................................... 32
3.2.3. Perancangan Gerakan Yaw Pesawat
..................................................... 32
3.2.4. Perancangan Gerakan Pitch Pesawat
................................................... 33
3.2.5. Perancangan Gerakan Roll Pesawat
..................................................... 34
3.2.6. Perancangan Rangkaian Sensor Flex
................................................... 36
3.2.7. Perancangan Sensor MPU-6050
.......................................................... 37
3.2.8. Perancangan Rangkaian Motor
DC...................................................... 38
3.2.9. Perancangan Rangkaian Servo
............................................................ 39
3.2.10. Perancangan Rangkaian Modul
nRF24L01.......................................... 41
3.3. Perancangan Perangkat Lunak
..................................................................
42
BAB IV HASIL DAN PEMBAHASAN
.................................................................
45
4.1. Sistem Perangkat Keras
............................................................................
45
4.1.1. Implementasi Alat
...............................................................................
45
4.1.2. Perubahan Rancangan Letak
Servo...................................................... 46
4.1.3. Rangkaian Sarung Tangan
...................................................................
47
4.1.4. Rangkaian Penggerak Model Pesawat
................................................. 48
4.2. Sistem Penggerak Motor
Dc.....................................................................
48
4.2.1 Pengujian Posisi Sensor Flex Terhadap Nilai PWM Motor Dc
............ 49
4.3. Sistem Penggerak Motor Servo
.................................................................
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xiv
4.3.1. Pengujian Posisi Sensor MPU-6050 Terhadap Nilai Sudut
Servo ........ 50
4.4. Sistem Komunikasi NRF24L01
................................................................
54
4.4.1. Pengujian Jarak Komunikasi Antar Mikrokontroler
............................. 55
4.5. Sistem Perangkat
Lunak............................................................................
59
4.5.1. Program Pembacaan Sensor MPU-6050
.............................................. 59
4.5.2. Program Pembacaan Sensor
Flex.........................................................
63
4.5.3. Sistem Pengiriman & Penerimaan Data
............................................... 64
BAB V KESIMPULAN DAN SARAN
.................................................................
67
5.1.
Kesimpulan...............................................................................................
67
5.2. Saran
........................................................................................................
67
DAFTAR PUSTAKA
......................................................................................................
68
LAMPIRAN
....................................................................................................................
60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xv
DAFTAR GAMBAR
Gambar 1.1. Perancangan Blok Diagram
............................................................................3
Gambar 2.1. Gerakan Pada Pesawat[3]
...............................................................................6
Gambar 2.2. Arduino Nano
................................................................................................7
Gambar 2.3. Konfigurasi Pin Arduino Uno [5]
...................................................................8
Gambar 2.4. Rangkaian Pembagi Tegangan Sensor Flex
.................................................. 10
Gambar 2.5. Sensor Flex
[7].............................................................................................
11
Gambar 2.6. Modul Wireless nRF24L01 [9]
.....................................................................
12
Gambar 2.7. Menunjukkan Prinsip Kerja Dari Motor DC
................................................. 13
Gambar 2.8. Bagian-Bagian Motor Servo
.........................................................................
14
Gambar 2.9. Gerakkan Motor Servo
.................................................................................
14
Gambar 2.10. Sensor MPU-6050 [11]
..............................................................................
15
Gambar 2.11. Konfigurasi Pin Pada Modul L298N
.......................................................... 19
Gambar 2.12. Pengaturan Duty Cycle [14]
.......................................................................
20
Gambar 2.13. Pengontrolan Tegangan Output Motor [14]
................................................ 21
Gambar 2.14. Tampilan Software Arduino IDE
................................................................
22
Gambar 2.15. Implementasi Jalur I2C
..............................................................................
23
Gambar 2.16. Gambar Untuk Sinyal Start & Stop
............................................................ 24
Gambar 2.17. Transfer Bit Pada Jalur I2C
........................................................................
24
Gambar 2.18. Data Transfer Pada Jalur I2C
.....................................................................
25
Gambar 2.19. Sinyal Alamat & Data
................................................................................
26
Gambar 2.20. Ilustrasi Kerja Protokol SPI
........................................................................
26
Gambar 2.21. Komunikasi Master-Slave
SPI....................................................................
28
Gambar 2.22. Transfer Format Dengan CPHA=0
............................................................ 28
Gambar 2.23. Transfer Format Dengan CPHA=1
.............................................................
29
Gambar 3.1. Blok Diagram
..............................................................................................
30
Gambar 3.2. Perancangan Penggerak Model Pesawat (Tampak Depan)
............................ 31
Gambar 3.3. Perancangan Penggerak Model Pesawat (Tampak Samping)
........................ 32
Gambar 3.4. Perancangan Sarung Tangan
........................................................................
32
Gambar 3.5. Perancangan Gerakan Yaw Pada Pesawat (Tampak
Samping) ...................... 33
Gambar 3.6. Perancangan Gerakan Yaw Pada Pesawat (Tampak Atas)
............................. 33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvi
Gambar 3.7. Perancangan Gerakan Pitch Pada Pesawat (Tampak
Samping) ..................... 34
Gambar 3.8. Perancangan Gerakan Pitch Pada Pesawat (tampak atas)
............................. 34
Gambar 3.9. Perancangan Gerakan Roll Pada Pesawat (Tampak Depan)
.......................... 35
Gambar 3.10. Perancangan Gerakan Roll Pada Pesawat (Tampak Atas)
........................... 35
Gambar 3.11. Rangkaian Skematik Sensor Flex Dengan Arduino Nano
........................... 36
Gambar 3.12. Rangkaian Skematik Sensor MPU-6050 Dengan Arduino
Nano ................. 38
Gambar 3.13. Rangkaian Skematik Motor DC Dengan Arduino Uno
& Driver Motor ..... 39
Gambar 3.14. Rangkaian Skematik Motor Servo Dengan Arduino Uno
............................ 40
Gambar 3.15. Rangkaian Skematik Modul nRF24L01 Dengan Arduino
Uno (Tx) ........... 41
Gambar 3.16. Rangkaian Skematik Modul nRF24L01 Dengan Arduino
Nano (Rx) ......... 42
Gambar 3.17. Flowchart Keseluruhan Program Bagian Pengirim &
Bagian Penerima ..... 43
Gambar 4.1. Bentuk Fisik Bagian Model Pesawat
............................................................ 45
Gambar 4.2. Bentuk Fisik Bagian Sarung Tangan
............................................................ 46
Gambar 4.3. Rancangan Letak Servo
...............................................................................
46
Gambar 4.4. Rangkaian Sarung Tangan
...........................................................................
47
Gambar 4.5. Rangkaian Regulator
Tegangan....................................................................
47
Gambar 4.6. Rangkaian Penggerak Model Pesawat
.......................................................... 48
Gambar 4.7. Posisi Kotak Model Pesawat
........................................................................
56
Gambar 4.8. Program Pembacaan Accelerometer Pada Sensor MPU-6050
....................... 59
Gambar 4.9. Program Pembacaan Gyro Pada Sensor
MPU-6050...................................... 60
Gambar 4.10. Program Pembacaan Sensor MPU-6050 (roll, pitch,
yaw) .......................... 61
Gambar 4.11. Program Konversi Nilai Sensor MPU-6050 Menjadi
Nilai Servo ............... 62
Gambar 4.12. Program Pembacaan Sensor Flex
...............................................................
63
Gambar 4.13. Program Penginisialisasian Struct Data
...................................................... 64
Gambar 4.14. Deklarasi Alamat Node nRF24L01
............................................................ 65
Gambar 4.15. Pengaturan nRF24L01 Sebagai Pengirim
................................................... 65
Gambar 4.16. Pengaturan nRF24L01 Sebagai Penerima
................................................... 65
Gambar 4.17. Memasukkan Data Sudut Servo Ke Dalam Paket
....................................... 66
Gambar 4.18. Memasukkan Data Sensor Flex Ke Dalam Paket
........................................ 66
Gambar 4.19. Mengirim Paket Data
.................................................................................
66
Gambar 4.20. Menerima Paket Data
.................................................................................
66
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
xvii
DAFTAR TABEL
Tabel 2.1. Konfigurasi Pin Arduino Uno [5].
......................................................................9
Tabel 2.2. Pin-Pin Modul nRF24L01
...............................................................................
12
Tabel 2.3. Register Accelerometer Pada Sensor MPU-6050 [12]
...................................... 15
Tabel 2.4. Register Gyro Pada Sensor MPU-6050 [12]
..................................................... 16
Tabel 2.5. Pilihan Range Accelerometer Pada Sensor MPU-6050 [12]
............................. 16
Tabel 2.6. Pilihan Range Gyro Pada Sensor MPU-6050 [12]
............................................ 16
Tabel 2.7. Register Untuk Memilih Range Accelerometer Pada
Sensor MPU-6050 [12] ... 16
Tabel 2.8. Register Untuk Memilih Range Gyro Pada Sensor
MPU-6050 [12] ................. 16
Tabel 3.1. Tabel Pengukuran Nilai ADC Terhadap Posisi Sensor
Flex Pada Jari .............. 37
Tabel 3.2. Tabel Konfigurasi Hubungan Pin Arduino Nano Dengan
Sensor MPU-6050 ... 38
Tabel 3.3. Tabel Konfigurasi Hubungan Pin Arduino Uno Dengan
Driver Motor ............. 39
Tabel 3.4. Tabel Konfigurasi Hubungan Pin Arduino Uno Dengan
Motor Servo .............. 40
Tabel 3.5. Tabel Konfigurasi Hubungan Pin Arduino Uno (Tx)
Dengan nRF24L01 ......... 41
Tabel 3.6. Tabel Konfigurasi Hubungan Pin Arduino Nano (Rx)
Dengan nRF24L01 ....... 42
Tabel 4.1. Data Hasil Pengujian Posisi Sensor Flex Terhadap
Nilai PWM Motor DC ....... 50
Tabel 4.2. Pengujian Posisi Sensor MPU-6050 Terhadap Nilai Sudut
Servo Roll ............. 51
Tabel 4.2. (Lanjutan) Pengujian Posisi Sensor MPU-6050 Terhadap
Nilai Sudut Servo Roll
........................................................................................................................................
52
Tabel 4.3. Pengujian Posisi Sensor MPU-6050 Terhadap Nilai Sudut
Servo Pitch............ 52
Tabel 4.4. Pengujian Posisi Sensor MPU-6050 Terhadap Nilai Sudut
Servo Yaw ............. 53
Tabel 4.5. Pengujian Data Drift Yang Terjadi Pada Sensor
MPU-6050 ............................ 54
Tabel 4.5. (Lanjutan) Pengujian Data Drift Yang Terjadi Pada
Sensor MPU-6050 ........... 55
Tabel 4.6. Hasil Pengujian Pertama Jarak Komunikasi Antar
Mikrokontroler ................... 56
Tabel 4.7. Hasil Pengujian Kedua Jarak Komunikasi Antar
Mikrokontroler ..................... 58
Tabel 4.8. Nilai Roll, Pitch, & Yaw Sebelum Dikonversi Ke
Nilai Servo .......................... 63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Robot adalah sebuah alat mekanik yang dapat melakukan tugas
fisik baik
menggunakan pengawasan dan kontrol manusia, ataupun program yang
sudah tertanam
dalam sebuah prosesor. Istilah robot berasal dari bahasa Cheko
“robota” yang berarti kuli
atau pekerja yang tidak mengenal lelah dan bosan[1]. Robot
biasanya digunakan dalam
bidang industri untuk mempermudah pekerjaan dan meminimalisir
kesalahan yang
dilakukan oleh manusia. Namun, seiring perkembangan jaman, saat
ini robot telah
digunakan dibidang hiburan, pendidikan, kesehatan, alat pembantu
rumah tangga, bahkan
sebagai mainan.
Robot sebagai mainan sendiri telah mengalami perkembangan yang
pesat, contohnya
saja mobil atau pesawat remote control, line follower, dsb. Oleh
sebab itu dirancanglah
sebuah robot model pesawat yang dapat dikontrol melalui sarung
tangan. Akan tetapi,
sebelum benar-benar membuat robot pesawat yang dapat benar-benar
terbang dan dikontrol
oleh sarung tangan, ada baiknya membuat modelnya terlebih
dahulu. Berdasarkan hal
tersebut, maka dirancanglah robot model pesawat yang dapat
dikontrol menggunakan sarung
tangan.
Kontrol robot model pesawat sederhana menggunakan pembacaan
sensor pada
sarung tangan adalah alat yang berupa sarung tangan dan robot
model pesawat yang
digerakkan oleh kontroler menggunakan mikrokontroler. Sarung
tangan berfungsi sebagai
pengontrol robot model pesawat yang dapat mengatur pergerakan
robot model pesawat.
Digunakan dua buah mikrokontroler yang saling berkomunikasi
secara wireless agar alat ini
dapat bekerja. Sebuah mikrokontroler berada pada sarung tangan,
dan satunya lagi berada
pada robot model pesawat. Mikrokontroler adalah otak dalam
pengendalian alat ini yang
menggunakan bahasa pemrograman agar alat dapat bekerja sesuai
dengan kehendak
perancang.
Pada penelitian ini, akan digunakan dua arduino yang berfungsi
sebagai
mikrokontroler, sensor flex yang berfungsi untuk mengatur
kecepatan putaran baling-baling,
sensor MPU-6050 yang disesuaikan dengan beberapa servo yang
berfungsi untuk mengatur
kemiringan dan naik turunnya robot model pesawat, dan modul
nrf24l01 yang berfungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
2
sebagai modul komunikasi jarak jauh. Sensor MPU-6050 digunakan
untuk mendeteksi
besaran sudut rotasi pada sarung tangan yang kemudian akan
disesuaikan dengan servo-
servo yang menggerakan model pesawat. Sensor MPU-6050 dipilih
karena memiliki
kelebihan dibandingkan dengan sensor lain yaitu sensor ini tidak
bersentuhan langsung
secara fisik dengan lingkungan sekitar sehingga sangat cocok
digunakan pada benda
bergerak bebas[2].
1.2 Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah untuk menciptakan sarung
tangan yang dapat
mengontrol pergerakan robot model pesawat secara wireless.
Manfaat dari penelitian ini adalah:
1. Robot model pesawat ini diharapkan dapat memberikan sumbangan
pemikiran dan
menjadi acuan dalam penelitian selanjutnya mengenai robot
pesawat sehingga dapat
diciptakan robot pesawat yang benar-benar bisa terbang dan
dikendalikan
menggunakan kontrol pada sarung tangan.
2. Sebagai sarana pembelajaran mengenai komunikasi wireless
antara dua buah
mikrokontroler (arduino).
1.3 Batasan Masalah
Agar tugas akhir ini bisa sesuai pada tujuan dan untuk
menghindari kompleksnya
permasalahan yang muncul, maka diperlukan adanya batasan-batasan
masalah yang sesuai
dengan judul tugas akhir ini. Adapun batasan masalah adalah
:
1. Menggunakan satu buah arduino nano.
2. Menggunakan satu buah arduino uno.
3. Komunikasi wireless menggunakan dua buah modul nrf24l01.
4. Menggunakan sensor MPU-6050 yang berfungsi untuk mengatur
pergerakan servo.
5. Menggunakan servo yang berfungsi untuk mengatur pergerakan
robot model
pesawat berupa gerakan pitch, roll dan yaw.
6. Menggunakan sensor flex yang berfungsi untuk mengatur
kecepatan motor dc yang
berfungsi sebagai baling-baling pesawat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
3
1.4 Metodologi Penelitian
Berdasarkan tujuan yang ingin dicapai maka metode-metode yang
digunakan dalam
penyusunan tugas akhir ini adalah:
1. Studi literature dan referensi, yaitu dengan mempelajari dan
membaca tentang hal-
hal yang berkaitan dengan mikrokontroler (arduino), sensor
MPU-6050, sensor flex,
dan komunikasi wireless antar mikrokontroler (arduino) yang akan
digunakan dalam
pembuatan tugas akhir ini.
2. Studi kasus terhadap alat-alat yang memiliki fungsi mirip
seperti alat yang akan
dibuat pada tugas akhir ini. Tahap ini dilakukan untuk memahami
prinsip kerja alat-
alat yang memiliki fungsi mirip seperti alat yang akan dibuat
pada tugas akhir ini,
sehingga dapat diterapkan pada alat ini.
3. Perancangan sistem software dan hardware. Tahap ini bertujuan
untuk menentukan
komponen-komponen yang akan digunakan pada alat yang akan dibuat
dengan
mempertimbangkan faktor-faktor permasalahan dan kebutuhan yang
telah
ditentukan. Pada gambar 1.1 memperlihatkan blok model yang akan
dirancang.
Gambar 1.1. Perancangan Blok Diagram
4. Eksperimen, yaitu dengan melakukan pengujian karakteristik
sensor flex dan sensor
MPU-6050 yang akan digunakan.
5. Pembuatan sistem hardware, meliputi pembuatan dan perencanaan
tata letak
mikrokontroler (arduino), sensor, motor, dan servo, dan juga
perancangan bentuk
robot model pesawat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
4
6. Pembuatan sistem software, pembuatan ini bertujuan agar alat
dapat bekerja.
Pembuatan software menggunakan bahasa pemrograman arduino.
7. Proses pengujian dan pengambilan data. Pengambilan data
dilakukan dengan cara
menguji keseluruhan sistem apakah sudah sesuai dengan proses
yang diinginkan,
serta mengambil data kesesuaian gerakan (yaw, pitch dan roll)
antara sarung tangan
dengan robot model pesawat, dan pengujian komunikasi (jarak)
antar mikrokontroler
(arduino).
8. Analisis dan penyimpulan hasil percobaan. Analisis data
dilakukan untuk
menentukan apakah berhasil atau tidaknya penelitian, dan
memeriksa apakah alat
sudah bekerja sesuai dengan rancangan dan bisa sesuai bekerja
dengan kondisi yang
diinginkan, meliputi kesesuaian gerakan antara sarung tangan
dengan robot model
pesawat. Lalu menyimpulkan data-data yang telah didapat dari
percobaan-percobaan
yang dilakukan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
5
BAB II
DASAR TEORI
Bab ini menjelaskan tentang dasar-dasar teori dan informasi
mengenai komponen-
komponen yang akan digunakan dalam pembuatan instrumen seperti
sensor MPU-6050,
sensor flex, arduino, dan modul nRF24L01 serta hal-hal yang
berkaitan dengan instrumen
seperti gerakan pesawat.
2.1. Gerakan Pesawat
Pesawat terbang mempunyai gerak dasar pesawat yang berfungsi
agar pesawat dapat
bergerak stabil di udara pada saat terbang. Adapun
gerakan-gerakan dasar pesawat itu adalah
sebagai berikut, seperti ditunjukkan pada Gambar 2.1.
2.1.1. Yaw
Yaw merupakan gerakan ke kanan dan ke kirinya pesawat atau
gerakan menggeleng
pada pesawat. Gerakkan yaw dikendalikan oleh rudder pada
pesawat, untuk dapat
melakukan gerakan yaw, pilot menggerakkan rudder yang
dikendalikan oleh rudder pedal
yang berada pada cockpit. Apabila pedal rudder kanan diinjak,
maka rudder akan bergerak
kekanan dan pesawat akan mengarah ke kanan. Dan apabila pedal
kiri diinjak, maka rudder
akan bergerak kekiri dan pesawat akan mengarah ke kiri.
2.1.2. Pitch
Pitch merupakan gerakan keatas dan kebawahnya pesawat atau
gerakan
menggangguk pada pesawat. Gerakan pitch dilakukan ketika pesawat
akan melakukan take
off atau pada saat pesawat akan terbang naik atau turun. Gerakan
pitch dikendalikan oleh
elevator pada pesawat, untuk dapat melakukan gerakan pitch,
pilot menggerakkan elevator
yang berada pada bagian ekor pesawat yang dikendalikan oleh
stick control yang berada
pada cockpit. Pergerakan elevator dikendalikan dengan mengunakan
stick control yang
berada pada cockpit. Apabila stick control digerakkan
kebelakang, maka elevator akan
bergerak keatas dan menyebabkan pesawat bergerak keatas.
Begitupula sebaliknya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
6
2.1.3. Roll
Roll merupakan gerakan berputar pesawat, yaitu gerakan
kemiringan kekiri atau
kemiringan kekanannya pesawat. Gerakan roll dilakukan ketika
pesawat akan berbelok ke
arah kiri atau ke arah kanan. Gerakkan roll dikendalikan oleh
aileron pada pesawat, untuk
dapat melakukan gerakan roll, pilot mengerakkan aileron yang
berada pada sayap pesawat
yang dikendalikan oleh stick control yang berada pada cockpit.
Apabila stick control
digerakkan ke kanan, maka aileron bagian kanan sayap akan naik
keatas dan aileron bagian
kiri sayap akan turun kebawah dan menyebabkan pesawat melakukan
gerakan roll kesebelah
kanan. Begitupula sebaliknya.
Gambar 2.1. Gerakan Pada Pesawat[3]
2.2. Arduino Nano
Arduino merupakan sebuah platform dari physical computing yang
bersifat open
source. Arduino tidak hanya sekedar sebuah alat pengembangan,
tetapi kombinasi dari
hardware, bahasa pemrograman dan Integrated Development
Environment (IDE) yang
canggih. IDE adalah sebuah software yang sangat berperan untuk
menulis program,
mengcompile menjadi kode biner dan meng-upload ke dalam memory
mikrokontroler.
Arduino Nano adalah salah satu papan pengembangan mikrokontroler
yang berukuran kecil,
lengkap dan mendukung penggunaan breadboard. Arduino Nano
diciptakan dengan basis
mikrokontroler ATmega328 (untuk Arduino Nano versi 3.x) atau
ATmega 168 (untuk
Arduino versi 2.x). Arduino Nano tidak menyertakan colokan DC
berjenis Barrel Jack, dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
7
dihubungkan ke komputer menggunakan port USB Mini-B. Arduino
Nano dirancang dan
diproduksi oleh perusahaan Gravitech [4].
2.2.1. Konfigurasi Pin Arduino Nano [4]
Gambar 2.2. Arduino Nano
Arduino Nano memiliki 30 pin. Berikut adalah konfigurasi pin
Arduino Nano
berdasarkan Gambar 2.2. yaitu:
1 Serial TX (1) adalah pin yang berfungsi sebagai pengirim TTL
data serial.
2 Serial RX (0) adalah pin yang berfungsi sebagai penerima TTL
data serial.
3 RESET merupakan jalur LOW, untuk menghidupkan ulang
mikrokontroler.
4 GND adalah pin ground untuk catu daya digital.
5-15 D2-D12 adalah pin digital.
16 D13 pin digital yang terhubung dengan LED, akan menyala jika
HIGH value.
17 3V3 keluaran sebesar 3,3 Volt.
18 AREF merupakan referensi tegangan untuk input analog.
19-26 A0-A7 adalah pin analog yang setiap pin tersedia 1024
nilai yang berbeda,
dapat diukur/diatur dari 0-5V dan memungkinkan untuk mengubah
batas nilai
tertinggi/terendah.
27 External Power Supply sebesar 5V.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
8
28 RESET untuk menghidupkan ulang mikrokontroler.
29 GND adalah pin ground.
30 VIN merupakan pin yang berfungsi sebagai pin masukan catu
daya digital.
2.3. Arduino Uno
Arduino Uno adalah board berbasis mikrokontroler pada ATMega
328. Board
Arduino Uno seperti yang ditunjukan Gambar 2.3. memiliki 14
digital input / output pin
(dimana 6 pin dapat digunakan sebagai output PWM), 6 input
analog, 16 MHz oslilator
kristal, konektor USB, jack listrik dan tombol reset. Pin-pin
ini berisi semua yang diperlukan
untuk mendukung mikrokontroler, hanya terhubung ke komputer
dengan kabel USB atau
sumber tegangan bisa menggunakan adaptor AC – DC atau baterai.
Setiap digital pin pada
board Arduino Uno beroperasi pada tegangan 5 volt. Pin-pin
digital tersebut juga
memungkinkan dapat mengeluarkan atau menerima arus maksimal
sebesar 40 mA dan
memiliki internal pull-up resistor (yang terputus secara
default) antara 20-50 KΩ.
Spesifikasi Arduino Uno ditunjukan pada alokasi penempatan
pin-pin Arduino Uno pada
Tabel 2.1 [5].
Gambar 2.3. Konfigurasi Pin Arduino Uno [5]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
9
Tabel 2.1. Konfigurasi Pin Arduino Uno [5].
No. Parameter Keterangan
1. ATMega 328
IC mikrokontroler yang digunakan pada Arduino Uno. IC
ATMega 328 memiliki flash memory 32 KB (dengan 0,5 KB
digunakan untuk boatloader). ATMega 328 juga memiliki 2
KB SRAM dan 1 KB EEPROM yang dapat ditulis dan dibaca
dengan EEPROM library.
2. Jack USB Untuk komunikasi mikrokontroler dengan PC
3. Jack Adaptor Masukan power eksternal bila Arduino bekerja
mandiri (tanpa
komunikasi dengan PC melalui kabel serial USB.
4.. Tombol Reset Tombol reset internal yang digunakan untuk
mereset modul
Arduino.
5. SDA dan SCL Komunikasi Two Wire Interface (TWI) atau inter
integrated
circuit (12C) dengan menggunakan wire library.
6. GND dan AREF • GND = Pin ground dari regulator tegangan board
Arduino.
• AREF = Tegangan Referensi untuk input analong.
7. Pin Digital Pin yang digunakan untuk menerima input digital
dan
memberi output berbentuk digital (0 dan 1 atau low dan high)
8. Pin serial
Digunakan untuk menerima dan mengirimkan data serial TTL
(Receiver(Rx), Transmiter(Tx)). Pin 0 dan 1 sudah terhubung
kepada pin serial USB to TTL sesuai dengan pin ATMega.
9. Pin Power
• Vin = Masukan tegangan input bagi Arduino ketika menggunakan
sumber tegangan eksternal.
• 5 V = Sumber tegangan yang dihasilkan regulator internal board
Arduino
• 3,3 V = Sumber tegangan yang dihasilkan regulator internal
board Arduino. Arus maksimal pada pin ini adalah 50 mA.
• GND = Pin ground dari regulator tegangan board Arduino.
• IOREF = Tegangan Referensi
10. Pin Analogin Menerima input dari perangkat analog
lainya.
2.4. Sensor Flex
Sensor flex adalah sensor lengkung yang fleksibel secara fisik
sehingga dapat
mengikuti pergerakan jari manusia. Range resistansi sebuah
sensor flex berkisar 10 KΩ – 40
KΩ[6]. Sensor flex berfungsi untuk mendeteksi kelengkungan pada
sensor ketika ditekan.
Sensor flex memiliki prinsip kerja sama seperti potensiometer.
Sensor flex memiliki 2 kaki
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
10
pin, dengan bentuk fisik tipis memanjang dan lentur. Sensor ini
memiliki output berupa
resistansi. Dua pin kaki tersebut, jika salah satu pin diberikan
tegangan sebesar +5 V maka
pin yang lainnya sebagai output serta tegangan 0 Volt. Prinsip
kerja sensor flex ini mirip
dengan variabel resistor. Sensor flex memberikan resistansi
kepada mikrokontroler melalui
rangkaian pembagi tegangan. Output resistansi ini akan diberikan
tegangan yang nantinya
akan dibaca oleh mikrokontroler[7].
Mikrokontroler mengkonversi data menggunakan ADC (analog to
digital
converter), dimana data masukkannya didapat dari tegangan yang
sudah terkena resistansi
[7]. Rangkaian sensor flex menggunakan rangkaian pembagi
tegangan yang berfungsi untuk
membagi tegangan keluaran arduino (5V) dengan tegangan output
sensor flex ke data (pin
analog input arduino).
Gambar 2.4. Rangkaian Pembagi Tegangan Sensor Flex
Rumus menghitung tegangan sensor flex & nilai adc sensor
flex ditunjukkan pada
persamaan (2.1) dan (2.2).
Vsensorflex = (𝑅𝑓𝑙𝑒𝑥
𝑅1+𝑅𝑓𝑙𝑒𝑥) x Vcc (2.1)
Data ADC = Vsensor𝑓𝑙𝑒𝑥
5 𝑣𝑜𝑙𝑡 x 210 (2.2)
Keterangan:
Vsensorflex = Nilai tegangan sensor flex (Volt)
Vcc = Tegangan masukkan mikrokontroler (Volt)
Rflex = Nilai Resistansi sensor flex (Ω)
R1 = Nilai Resistansi pembagi tegangan (Ω)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
11
Perhitungan pada sensor flex mengacu pada persamaan pada
persamaan (2.1) adalah
sebagai berikut:
Vcc = 5 Volt
R2 = 10 K Ω
• Kondisi ketika sensor flex lurus, berdasarkan datasheet.
R1 = 10 KΩ (berdasarkan hambatan datar sensor flex pada
datasheet)
Vsensorflex = (10 K Ω
10 K Ω+10 K Ω) x 5 Volt
Vsensorflex = 2,5 Volt
Hambatan sensor fleksibel ini berubah ketika bantalan logam
berada diluar
tekukan. Spesifikasi:
• Cakupan suhu : -35ºC sampai +80ºC.
• Toleransi hambatan : ±30%.
• Cakupan hambatan tekukan : 60 KΩ..
• Nilai power : 0,5 Watt dst. 1 Watt sampai batas maksimal.
• Resistansi flat 10 KΩ ± 30%.
• Rentang lengkungan kontur antara 45 KΩ – 125 KΩ [7].
• Gambar sensor flex ditunjukkan seperti Gambar 2.5.
Gambar 2.5. Sensor Flex [7]
2.5. Modul nRF24L01
Modul Wireless nRF24L01 merupakan modul komunikasi jarak jauh
yang
menggunakan frekuensi pita gelombang radio 2.4-2.5 GHz ISM
(Industrial Scientific and
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
12
Medical). nRF24L01 memiliki kecepatan sampai 2Mbps dengan
pilihan opsi date rate 250
Kbps, 1 Mbps, dan 2 Mbps. Transceiver terdiri dari synthesizer
frekuensi terintegrasi,
kekuatan amplifier, osilator kristal, demodulator, modulator dan
Enhanced ShockBurst ™
mesin protokol. Output daya, saluran frekuensi, dan setup
protokol yang mudah diprogram
melalui antarmuka SPI. Konsumsi arus yang digunakan sangat
rendah, hanya 9.0mA pada
daya output -6dBm dan 12.3mA dalam mode RX. Built-in Power Down
dan mode standby
membuat penghematan daya dengan mudah realisasi[8]. Gambar modul
nRF24L01
ditunjukkan pada Gambar 2.6.
Gambar 2.6. Modul Wireless nRF24L01 [9]
Tabel 2.2. Pin-Pin Modul nRF24L01
Nama Pin Singkatan Keterangan
Ground Ground Koneksi system ke Ground
Vcc Daya Daya modul menggunakan 3.3V
CE Chip Enable Digunakan untuk mengaktifkan
komunikasi SPI
CSN Chip Select Not
Untuk menjaga agar pulsa clock tetap
tinggi, karena jika rendah akan
menonaktifkan SPI
SCK Serial Clock Menyediakan pulsa clock dengan
komunikasi SPI
MOSI Master Out Slave In
Terhubung dengan pin MOSI dari
mikrokontroller, untuk menerima data dari
mikrokontroller
MISO Master In Slave Out
Terhubung ke MISO dari pin
mikrokontroller, berfungsi sebagai modul
pengirim data dari mikrokontroller
IRQ Interrupt Pin rendah aktif, digunakan saat interupsi
diperlukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
13
2.6. Motor DC [10]
Motor DC atau motor arus searah adalah suatu alat yang berfungsi
mengubah tenaga
listrik arus searah menjadi tenaga gerak atau tenaga mekanik.
Prinsip kerja dari motor DC
hampir sama dengan generator AC. Prinsip dasarnya adalah apabila
suatu kawat berarus
diletakkan diantara kutub-kutub magnet (U-S), maka pada kawat
itu akan bekerja suatu gaya
yang menggerakkan kawat, hal itu ditunjukkan pada Gambar
2.7.
Gambar 2.7. Menunjukkan Prinsip Kerja Dari Motor DC
2.7. Motor Servo [1]
Motor servo adalah sebuah motor dengan sistem closed feedback
dimana posisi
dari motor akan diinformasikan kembali ke rangkaian kontrol yang
ada di dalam motor
servo. Motor terdiri dari sebuah motor, serangkaian gear,
potentiometer dan rangkaian
kontrol. Potentiometer berfungsi untuk menentukan batas sudut
dari putaran servo.
Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar
pulsa yang dikirim
melalui kaki sinyal kabel motor.
Motor servo biasanya hanya bergerak mencapai sudut tertentu saja
dan tidak
kontinyu seperti motor DC maupun motor stepper. Walau demikian,
untuk beberapa
keperluan tertentu, motor servo dapat dimodifikasi agar bergerak
kontinyu. Pada robot,
motor ini sering digunakan untuk bagian kaki, lengan atau
bagian-bagian lain yang
mempunyai gerakan terbatas. Motor servo adalah motor yang mampu
bekerja dua arah,
yaitu searah jarum jam atau clockwise (CW) dan berlawanan arah
jarum jam atau
counterclockwise (CCW) di mana arah dan sudut pergerakan
rotornya dapat
dikendalikan hanya dengan memberikan pengaturan duty cycle
sinyal Pulse Width
Modulation (PWM) pada bagian pin kontrolnya. Motor servo
merupakan sebuah motor
DC yang memiliki rangkaian kontrol elektronik dan internal gear
untuk mengendalikan
pergerakan dan sudut angularnya.
Sistem mekanik pada motor servo seperti yang ditunjukkan pada
gambar 2.8.
terdiri dari:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
14
a. 3 jalur kabel: power, ground, dan control.
b. Internal gear.
c. Potentiometer.
d. Feedback control.
Gambar 2.8. Bagian-Bagian Motor Servo
2.7.1. Pengendalian Motor Servo [1]
Kabel kontrol digunakan untuk mengatur sudut posisi dari batang
output. Sudut
posisi ditentukan oleh durasi pulsa yang diberikan oleh kabel
kontrol. Motor sevo
digerakkan dengan menggunakan PWM (Pulse Width Modulation).
Motor sevo akan
mengecek pulsa setiap 20 milisecond. Panjang pulsa akan
menentukan seberapa jauh
motor akan berputar. Contohnya, pada pulsa 1,5 milisecond akan
membuat motor
berputar sejauh 90° (lebih sering disebut posisi netral). Jika
pulsa lebih pendek dari 1,5
milisecond, maka motor akan berputar lebih dekat ke 0°. Jika
lebih panjang dari 1,5ms,
maka akan berputar mendekati 180°. Dari Gambar 2.9. di bawah,
durasi pulsa
menentukan sudut dari batang output. Gerakkan motor servo
ditunjukkan pada Gambar
2.9.
Gambar 2.9. Gerakkan Motor Servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
15
2.8. Sensor MPU-6050
MPU-6050 adalah chip IC inverse yang didalamnya terdapat sensor
Accelerometer
dan Gyroscope yang sudah terintergrasi. Accelerometer digunakan
untuk mengukur
percepatan, percepatan gerakan dan juga percepatan gravitasi.
Accelerometer sering
digunakan untuk menghitung sudut kemiringan, dan hanya dapat
melakukan dengan nyata
ketika statis dan tidak bergerak. Untuk mendapatkan sudut akurat
kemiringan, sering
dikombinasikan dengan satu atau lebih gyro dan kombinasi data
yang digunakan untuk
menghitung sudut. Gyroscope adalah perangkat untuk mengukur atau
mempertahankan
orientasi, yang berlandaskan pada prinsip-prinsip momentum sudut
[11]. Gambar sensor
MPU-6050 ditunjukkan pada Gambar 2.10.
Gambar 2.10. Sensor MPU-6050 [11]
Data accelerometer dan gyro hasil pembacaan dari sensor MPU-6050
akan masuk
kedalam register-register yang ditunjukkan pada Tabel 2.3. dan
Tabel 2.4.
Tabel 2.3. Register Accelerometer Pada Sensor MPU-6050 [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
16
Tabel 2.4. Register Gyro Pada Sensor MPU-6050 [12]
Pembacaan nilai accelerometer dan gyro pada sensor MPU-6050
memiliki pilhan
range yang dapat digunakan, pilihan range yang dapat digunakan
ditunjukkan pada Tabel
2.5. dan Tabel 2.6. Dan pengaturan register untuk pilihan range
dapat dilihat pada Tabel 2.7.
dan Tabel 2.8. Nilai reset untuk seluruh register adalah 0x00
kecuali untuk register 107: 0x40
dan register 117: 0x68[12].
Tabel 2.5. Pilihan Range Accelerometer Pada Sensor MPU-6050
[12]
Tabel 2.6. Pilihan Range Gyro Pada Sensor MPU-6050 [12]
Tabel 2.7. Register Untuk Memilih Range Accelerometer Pada
Sensor MPU-6050 [12]
Tabel 2.8. Register Untuk Memilih Range Gyro Pada Sensor
MPU-6050 [12]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
17
Perhitungan sudut berdasarkan data accelerometer ditunjukkan
pada persamaan (2.3)
dan (2.4).
𝐴𝜑 = atan(𝐴𝑐𝑐𝑌
√𝐴𝑐𝑐𝑋2 + 𝐴𝑐𝑐𝑍2) (2.3)
𝐴𝜃 = atan(−𝐴𝑐𝑐𝑋
√𝐴𝑐𝑐𝑌2 + 𝐴𝑐𝑐𝑍2) (2.4)
Perhitungan sudut berdasarkan data gyro ditunjukkan pada
persamaan (2.5) - (2.7).
Ө = ∫ 𝜔. 𝑑𝑡 = 𝜔. 𝑡 + Ө0 (2.5)
𝐺𝜑 = 𝐺𝜑 + 𝐺𝑋 . ∫ 𝑑𝑡 (2.6)
𝐺𝜃 = 𝐺𝜃 + 𝐺𝑌 . ∫ 𝑑𝑡 (2.7)
Perhitungan sudut yaw ditunjukkan pada persamaan (2.8).
Ψ = Ψ + 𝐺𝑍 . ∫ 𝑑𝑡 (2.8)
Perhitungan sudut roll dan pitch dengan kompensasi dari
perhitungan sudut dari
percepatan dan perhitungan sudut dari gyro dinamakan
Complementary Filter ditunjukkan
pada persamaan (2.9) dan (2.10), karena yaw tidak dapat dihitung
dari data accelerometer,
Complementary Filter tidak dapat digunakan untuk yaw.
𝜑 = 0.96 ∗ 𝐺𝜑 + 0.04 ∗ 𝐴𝜑 (2.9)
𝜃 = 0.96 ∗ 𝐺𝜃 + 0.04 ∗ 𝐴𝜃 (2.10)
Keterangan:
𝐴𝜑 = accelerometer angle X 𝐺𝑋 = gyro X Ψ = yaw
𝐴𝜃 = accelerometer angle Y 𝐺𝑌 = gyro Y 𝜑 = roll
𝐺𝜑 = gyro angle X 𝐺𝑍 = gyro Z 𝜃 = pitch
𝐺𝜃 = gyro angle Y
Spesifikasi dari Sensor MPU-6050 yang tertera pada Gambar 2.10
adalah:
1. Berbasis Chip MPU-6050.
2. Supply tegangan berkisar 3-5V.
3. Gyroscope range + 250 500 1000 2000°/s.
4. Acceleration range: ± 2 ± 4 ± 8 ± 16 g.
5. Communication standard I2C.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
18
6. Chip built-in 16 bit AD converter, 16 bits data output.
7. Jarak antar pin header 2.54 mm.
8. Dimensi modul 20.3mm x 15.6mm. [13]
2.9. Driver Motor L298N [7]
Driver motor L298N merupakan modul driver motor DC yang paling
banyak
digunakan untuk mengontrol kecepatan serta arah perputaran motor
DC. L298 adalah driver
motor berbasis H-Bridge, mampu menangani beban hingga 4A pada
tegangan 6 V–46 V.
Dalam chip terdapat dua rangkaian H-Bridge. IC L298 merupakan
sebuah IC tipe H-bridge
yang mampu mengendalikan beban-beban induktif seperti relay,
solenoid, motor DC dan
motor stepper. Mampu mengeluarkan output tegangan untuk motor DC
sebesar 50 Volt dan
dapat mengendalikan 2 untuk motor DC.
Pengaturan kecepatan motor digunakan teknik PWM (Pulse with
Modulation) yang
diinputkan dari mikrokontroler melalui pin enable. PWM untuk
kecepatan rotasi yang
bervariasi level high-nya.
Spesifikasi:
1. Tipe: Dual H-Bridge
2. Chip kontrol: ST L298N
3. Logic voltage: 5 V DC
4. Drive voltage: 5-35 V DC
5. Logical current: 0 mA-36 mA
6. Driving current: 2 A (Max. single bridge)
7. Temperatur: -20 C – 135 C
8. Power maksimum: 25 W
9. Berat: 30 g
10. Ukuran: 43 x 43 x 27 mm
Kelebihan L298N motor driver adalah:
1. Lebih presisi dalam mengontrol motor
2. Dapat mengendalikan motor yang besar (maksimal 2 A)
3. Dilengkapi dengan heatsink sehingga lebih tahan panas
4. Mudah untuk pemasangannya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
19
Untuk pemasangan driver L298N ini dibutuhkan 6 buah pin
mikrokontroler. Dua
buah untuk pin enable (masing-masing satu untuk tiap motor DC).
Empat buah untuk
mengatur kecepatan motor DC tersebut. Pada prinsipnya rangkaian
driver motor L298N ini
dapat mengatur tegangan dan arus sehingga kecepatan dan arah
motor dapat diatur.
Konfigurasi pin pada modul L298N ditunjukkan pada gambar
2.11.
Gambar 2.11. Konfigurasi Pin Pada Modul L298N
Driver motor ini pada prinsipnya sama dengan L293D. Cara
pengontrolannya pun
sama. Perbedaannya mendasar hanya terletak pada karakteristik
elektronikanya, yaitu
kemampuan L298N dalam melewatkan arus untuk motor DC lebih besar
yaitu sebesar 3 A.
Agar mampu bekerja dengan baik maka diperlukan beberapa komponen
dioda pendukung.
Fitur Modul L298N Driver Motor DC Dual H-Bridge:
1. Tegangan operasi 0-46 V.
2. Tegangan logic 4,5-7 V.
3. Arus 4 A.
4. Heatsink untuk membuang panas.
5. Regulator 7805 dengan keluaran 5 V.
6. Dioda proteksi.
7. Mampu mengontrol 2 motor DC.
2.10. Pengaturan Kecepatan Motor DC
Pengaturan kecepatan motor DC menggunakan prinsip kerja
pengaturan duty cycle
atau pewaktukan kondisi on-off tiap satuan waktu atau tiap
periode atau yang disebut dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
20
PWM (pulse width modulation). Apabila nilai duty cycle semakn
besar maka kecepatan
motor pun akan semakin cepat putarannya. Jadi, apabila nilai PWM
pada arduino bernilai 0
sampai dengan 255, atau besarnya nilai duty cycle dari 0% sampai
dengan 100%, maka
semakin besar nilai PWM atau duty cycle nya akan semakin cepat
pula putaran motornya.
Dan apabila kita ukur dengan voltmeter nilai pada tegangan yang
masuk pada motor, maka
nilai tegangan akan mengikuti nilai PWM, yaitu semakin besar PWM
nya maka akan
semakin besar pula tegangan yang masuk pada motor (semakin
mendekati tegangan sumber
dari driver).
Gambar 2.12. Pengaturan Duty Cycle [14]
Dengan cara mengatur lebar pulsa “on” dan “off” dalam satu
periode gelombang
melalui pemberian besar sinyal referensi output dari suatu PWM
akan didapat duty cycle
yang diinginkan. Duty cycle dari PWM dapat dinyatakan
sebagai:
Duty Cycle = Ton / (Ton+Toff) * 100% (2.11)
Keterangan :
Ton = Waktu Pulsa “HIGH”
Toff = Waktu Pulsa “LOW”
D = Duty Cycle yaitu lamanya pulsa high dalam satu periode
Duty cycle 100% berarti sinyal tegangan pengatur motor
dilewatkan seluruhnya. Jika
tegangan catu 100V, maka motor akan mendapat tegangan 100V. Pada
duty cycle 50%,
tegangan pada motor hanya akan diberikan 50% dari total tegangan
yang ada, begitu
seterusnya.
Untuk melakukan perhitungan pengontrolan tegangan output motor
dengan metode
PWM dapat dilihat pada ilustrasi Gambar 2.13. di bawah ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
21
Gambar 2.13. Pengontrolan Tegangan Output Motor [14]
Average output = (a / a+b) * Vfull (2.12)
Keterangan :
Average output = Tegangan output pada motor yang dikontrol oleh
PWM
a = Nilai duty cycle saat kondisi sinyal “on”
b = Nilai duty cycle saat kondisi sinyal “off”
Vfull = Tegangan maksimal pada motor
2.11. Software Arduino IDE [7]
2.11.1. Pengertian Arduino Software (IDE)
IDE itu merupakan kependekan dari Integrated Developtment
Enviroenment, atau
secara bahasa mudahnya merupakan lingkungan terintegrasi yang
digunakan untuk
melakukan pengembangan. Disebut sebagai lingkungan karena
melalui software inilah
arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang
dibenamkan melalui
sintaks pemrograman. Arduino menggunakan bahasa pemrograman
sendiri yang
menyerupai bahasa C. Bahasa pemrograman arduino (sketch) sudah
dilakukan perubahan
untuk memudahkan pemula dalam melakukan pemrograman dari bahasa
aslinya. Sebelum
dijual ke pasaran, IC mikrokontroler arduino telah ditanamkan
suatu program bernama
Bootlader yang berfungsi sebagai penengah antara compiler
arduino dengan mikrokontroler.
Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE
juga dilengkapi
dengan library C/C++ yang biasa disebut Wiring yang membuat
operasi input dan output
menjadi lebih mudah. Arduino IDE ini dikembangkan dari software
processing yang
dirombak menjadi arduino IDE khusus untuk pemrograman dengan
arduino.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
22
2.11.2. Menulis Sketch
Program yang ditulis dengan menggunaan arduino software (IDE)
disebut sebagai
sketch. Sketch ditulis dalam suatu editor teks dan disimpan
dalam file dengan ekstensi .ino.
Teks editor pada arduino software memiliki fitur seperti
cutting/paste dan searching /
replacing sehingga memudahkan kamu dalam menulis kode
program.
Pada software arduino IDE, terdapat semacam message box berwarna
hitam yang
berfungsi menampilkan status, seperti pesan error, compile, dan
upload program. Di bagian
bawah paling kanan sotware arduino IDE, menunjukan board yang
terkonfigurasi beserta
COM ports yang digunakan.
Beberapa fungsi dari arduino IDE yang sering digunakan terletak
pada toolbar.
Terdapat 6 buah tombol pada toolbar tersebut yang memiliki
fungsi sesuai dengan deskripsi
pada Gambar 2.14. adalah:
1. Verify: berfungsi untuk melakukan checking kode yang kamu
buat apakah sudah
sesuai dengan kaidah pemrograman yang ada atau belum
2. Upload: berfungsi untuk melakukan kompilasi program atau kode
yang kamu buat
menjadi bahasa yang dapat dipahami arduino
3. New: berfungsi untuk membuat sketch baru
4. Open: berfungsi untuk membuka sketch yang pernah kamu buat
dan membuka
kembali untuk dilakukan editing atau sekedar upload ulang ke
arduino.
5. Save: berfungsi untuk menyimpan sketch yang telah dibuat.
6. Serial Monitor: Serial monitor merupakan jendela yang
menampilkan data apa saja
yang dikirimkan atau dipertukarkan antara arduino dengan sketch
pada port serial-
nya.
Gambar 2.14. Tampilan Software Arduino IDE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
23
2.12. Komunikasi I2C (Inter Integrated Circuit) [15]
Konsep dasar komunikasi 2 arah antar IC dan/atau antar sistem
secara serial
menggunakan 2 kabel. Sistem bus Inter-IC, yang umumnya dikenal
sebagai bus I2C, adalah
sebuah control bus yang menyediakan jalur komunikasi antara
integrated circuits dalam
sebuah sistem dengan menggunakan pin yang sangat sedikit. Sistem
ini dikembangkan oleh
Philips pada awal tahun 1980-an, bus dua kabel sederhana ini
dengan bantuan sebuah
protokol software-defined telah menjadi standar di seluruh dunia
untuk sistem kontrol
mengenai berbagai macam hal mulai sensor temperatur sampai
dengan EEPROM, general-
purpose I/O, A/D & D/A converters, dan semua jenis
microprocessors.
Gambar 2.15. menunjukkan implementasi dari jalur I2C. Dengan I2C
hanya
membutuhkan dua jalur untuk berkomunikasi antar perangkat. Kita
tidak memerlukan
address decoder untuk mengimplementasi jalur I2C. Dua jalur
tersebut adalah SDA (Serial
Data) dan SCL (Serial Clock). SCL merupakan jalur yang digunakan
untuk mensinkronisasi
transfer data pada jalur I2C, sedangkan SDA merupakan jalur
untuk data. Beberapa
perangkat dapat terhubung ke dalam jalur I2C yang sama dimana
SCL dan SDA terhubung
ke semua perangkat tersebut, hanya ada satu perangkat yang
mengontrol SCL yaitu
perangkat master. Jalur dari SCL dan SDA ini terhubung dengan
pull-up resistor yang besar
resistansinya tidak menjadi masalah (bisa 1K, 1.8K,4.7K, 10K,
47K atau nilai diantara range
tersebut).
Gambar 2.15. Implementasi Jalur I2C
Dengan adanya pull-up disini, jalur SCL dan SDA menjadi open
drain, yang
maksudnya adalah perangkat hanya perlu memberikan output 0 (LOW)
untuk membuat jalur
menjadi LOW, dan dengan membiarkannya pull-up resistor sudah
membuatnya HIGH.
Umumnya dalam I2C ada satu perangkat yang berperan menjadi
master (meskipun
dimungkinkan beberapa perangkat, dalam jalur I2C yang sama,
menjadi master) dan satu
atau beberapa perangkat slave. Dalam jalur I2C, hanya perangkat
master yang dapat
mengontrol jalur SCL yang berarti transfer data harus
diinisialisasi terlebih dahulu oleh
perangkat master melalui serangkaian pulsa clock (slave tidak
bisa, tapi ada satu kasus yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
24
disebut clockstreching). Tugas perangkat slave hanya merespon
apa yang diminta master.
Slave dapat memberi data ke master dan menerima data dari master
setelah server
melakukan inisialisasi. Misalkan mikrokontroler (uC) adalah
perangkat master yang
terhubung dalam satu I2C dengan perangkat-perangkat slave
seperti modul pengendali
motor servo, modul kompas, sensor TPA81 dan sensor lainnya.
Gambar 2.16. menunjukkan sinyal untuk start dan stop.
Sebagaimana telah
dijelaskan sebelumnya, bahwa master terlebih dahulu
menginisialisasi sebelum memulai
transfer data antara slave-nya. Inisialisasi diawali dengan
sinyal START (transisi high ke low
pada jalur SDA dan kondisi high pada jalur SCL, lambang S pada
gambar 2.16.), lalu
transfer data dan sinyal STOP (transisi low ke high pada jalur
SDA dan kondisi high pada
jalur SCL, lambang P pada gambar 2.16.) untuk menandakan akhir
transfer data.
Gambar 2.16. Gambar Untuk Sinyal Start & Stop
Gambar 2.17. menunjukkan transfer bit pada jalur I2C. Banyaknya
byte yang dapat
dikirimkan dalam satu transfer data itu tidak ada aturannya.
Jika transfer data yang ingin
dilakukan sebesar 2 byte, maka pengiriman pertama adalah 1 byte
dan setelah itu 1 byte.
Setiap byte yang di transfer harus diikuti dengan bit
Acknowledge (ACK) dari si penerima,
menandakan data berhasil diterima. Byte yang dikirim dari
pengirim diawali dari bit MSB.
Saat bit dikirim, pulsa clock (SCL) di set ke HIGH lalu ke LOW.
Bit yang dikirim pada jalur
SDA tersebut harus stabil saat periode clock (SCL) HIGH. Kondisi
HIGH atau LOW dari
jalur data (SDA) hanya dapat berubah saat kondisi sinyal SCL itu
LOW.
Gambar 2.17. Transfer Bit Pada Jalur I2C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
25
Gambar 2.18. menunjukkan data transfer pada jalur I2C. Setiap
pulsa clock itu
dihasilkan (di jalur SCL) untuk setiap bit (di jalur SDA) yang
ditransfer. Jadi untuk
pengiriman 8 bit akan ada 9 pulsa clock yang harus dihasilkan (1
lagi untuk bit ACK).
Kronologi sebelum perangkat penerima memberikan sinyal ACK
adalah sebagai berikut:
saat pengirim selesai mengirimkan bit ke-8, pengirim melepaskan
jalur SDA ke pull-up
sehingga menjadi HIGH. Saat kondisi tersebut terjadi, penerima
harus memberikan kondisi
LOW ke SDA saat pulsa clock ke-9 berada dalam kondisi HIGH.
Gambar 2.18. Data Transfer Pada Jalur I2C
Jika SDA tetap dalam kondisi HIGH saat pulsa clock ke-9, maka
ini didefinisikan
sebagai sinyal Not Acknowledge (NACK). Master dapat menghasilkan
sinyal STOP untuk
menyudahi transfer, atau mengulang sinyal START untuk memulai
transfer data yang baru.
Ada 5 kondisi yang menyebabkan NACK:
1. Tidak adanya penerima dengan alamat yang diminta pada jalur,
sehingga tidak ada
perangkat yang merespon ACK.
2. Penerima tidak dapat menerima atau mengirim karena sedang
mengeksekusi fungsi
lain dan tidak siap untuk memulai komunikasi dengan master.
3. Pada saat transfer data, penerima mendapatkan data atau
perintah yang tidak
dimengerti oleh penerima.
4. Pada saat transfer data, penerima tidak dapat menerima lagi
byte data yang
dikirimkan.
5. Penerima-master perlu memberi sinyal pengakhiran transfer
data ke penerima-slave.
Gambar 2.19. menunjukkan sinyal alamat dan data. Pengalamatan
dalam I2C bisa 7
bit atau 10 bit. Pengalamatan 10 bit jarang digunakan dan juga
tidak dibahas di sini. Semua
perangkat (uC dan modul-modul) yang terhubung ke dalam jalur I2C
yang sama dapat
dialamati sebanyak 7 bit. Ini berarti sebuah jalur I2C dengan
pengalamatan 7 bit dapat
menampung 128 (2^7) perangkat. Saat mengirimkan data alamat
(yang 7 bit itu), kita tetap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
26
mengirim data 1 byte (8 bit). 1 bit lagi digunakan untuk
menginformasikan perangkat slave
apakah master menulis (write) data ke slave atau membaca (read)
data dari slave. Jika bit
tersebut 0, maka master menulis data ke slave. Jika bit tersebut
1, maka master membaca
data dari slave. Bit ini (untuk infomasi tulis/baca) merupakan
LSB, sedangkan sisanya
adalah data alamat 7 bit. Berikut adalah contoh sinyal yang
dimulai dengan data alamat lalu
data yang ingin ditransfer ke alamat tersebut:
Gambar 2.19. Sinyal Alamat & Data
2.13. Komunikasi SPI (Serial Peripheral Interface) [16]
Serial Peripheral Interface (SPI) merupakan salah satu mode
komunikasi serial
synchrounous kecepatan tinggi. Pada arduino, serial sinkron SPI
memiliki library khusus
yaitu library SPI.h. Serial sinkron adalah protokol komunikasi
data secara serial namun
membutuhkan jalur clock untuk sinkronisasi antara transmitter
dan receiver. Sedangkan
secara khusus istilah ‘serial sinkron SPI’ ditujukan untuk tipe
protokol komunikasi serial
sinkron yang memiliki 3 jalur kabel yakni MISO (Master In Slave
Out). MOSI (Master
Out Slave In) dan SCLK (Serial Clock). MOSI merupakan jalur
pengiriman data dari
master ke slave, sedangkan MISO merupakan kebalikannya. Biasanya
ada satu tambahan
pin yang digunakan untuk mengaktifkan/mematikan perangkat slave
SPI yang dinamakan
CS (Chip Select) atau SS (Slave Select). Pin CS/SS bersifat
spesifik untuk tiap perangkat
slave yang menggunakan komunikasi SPI sehingga bisa berbeda-beda
untuk masing-
masing perangkat. Ilustrasi cara kerja protokol SPI ini
ditunjukkan pada gambar 2.20.
Gambar 2.20. Ilustrasi Kerja Protokol SPI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
27
Dalam implementasinya, SPI banyak digunakan sebagai alternative
untuk
berkomunikasi dengan perangkat lain misalnya EEPROM (SPI
EEPROM), sensor
(barometer, tekanan, dll), komponen elektronika (SPI digital
potensiometer) atau controller
lain (Arduino, AVR, MCS51, ARM, dll). Komunikasi serial data
antara master dan slave
pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI,
MISO, dan SS. Keempat
pin tersebut dijelaskan sebagai berikut:
1. Serial Clock (SCLK) merupakan data biner yang keluar dari
master ke slave yang
berfungsi sebagai clock dengan frekuensi tertentu. Clock
merupakan salah satu
komponen prosedur komunikasi data SPI. Dalam beberapa perangkat,
istilah yang
digunakan untuk pin ini adalah SCK.
2. Master Output Slave Input (MOSI) merupakan pin yang berfungsi
sebagai jalur data
pada saat data keluar dari master dan masuk ke dalam slave.
Instilah lain untuk pin
ini antara lain Slave Input Master Output (SIMO), Serial Data In
(SDI), Data In
(DI), dan Serial In (SI).
3. Master Input Slave Output (MISO) merupakan pin yang berfungsi
sebagai jalur data
Slave Output Master Input (SOMI), Serial Data Out (OUT), Data
Out (OUT), dan
Serial Out (SO).
4. Slave Select (SS) merupakan pin yang berfungsi untuk
mengaktifkan slave sehingga
pengiriman data hanya dapat dilakukan jika slave dalam keadaan
aktif (actice low).
Istilah lain untuk SS antara lain chip select (CS), nCS, nSS,
dan Slave Transmit
Enable (STE).
Pin SCLK, MOSI, dan SS merupakan pin dengan arah pengiriman data
dari master
ke slave. Sebaliknya, MISO mempunyai arah komunikasi data dari
slave ke master.
Pengaturan hubungan dari pin MISO dan MOSI harus sesuai dengan
ketentuan. Ketentuan
tersebut adalah pin MISO pada master harus dihubungkan dengan
pin MOSI pada slave,
begitu sebaliknya. Hal ini dilakukan untuk menghindari
terjadinya kesalahah prosedur pada
pengiriman data. Istilah pin-pin SPI untuk berbagai perangkat
mungkin saja mempunyai
istilah yang berbeda dengan istilah diatas tergantung pada
produsen. Gambar di bawah ini
merupakan komunikasi master-slave pada SPI.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
28
Gambar 2.21. Komunikasi Master-Slave SPI
Komunikasi data SPI dimulai pada saat master mengirimkan clock
melalui SCK
dengan frekuensi lebih kecil atau sama dengan frekuensi maksimum
pada slave. Kemudian
master memberi logila low atau 0 pada SS untuk mengaktifkan
slave sehingga pengiriman
data (berupa siklus clock) siap untuk dilakukan. Pada saat
siklus clock terjadi transmisi data
full duplex. Terjadi dua keadaan sebagai berikut :
1. Master mengirim sebuah bit pada jalur MOSI dan slave
membacanya pada jalur yang
sama.
2. Slave mengirim sebuah bit pada jalur MISO dan master
membacanya pada jalur yang
sama.
Transmisi dapat menghasilkan beberapa siklus clock. Jika tidak
ada data yang
dikirim lagi maka master menghentikan clock tersebut dan
menonaktifkan slave.
Gambar 2.22. Transfer Format Dengan CPHA=0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
29
Gambar 2.23. Transfer Format Dengan CPHA=1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
30
BAB III
PERANCANGAN PENELITIAN
Bab ini menjelaskan tentang perancangan “Kontrol Model Pesawat
Sederhana
Menggunakan Pembacaan Sensor Pada Sarung Tangan”. Yang terdiri
dari blok diagram
seperti pada Gambar 3.1 dan perancangan perangkat keras maupun
perancangan perangkat
lunak dari alat tersebut.
3.1. Diagram Blok
Gambar 3.1. Blok Diagram
Bagian input yang dikendalikan oleh mikrokontroler arduino (Tx)
meliputi sensor
MPU-6050 dan sensor flex yang terdapat pada bagian sarung
tangan. Inputan data yang
diambil dari kedua sensor yang terdapat pada sarung tangan ini
diteruskan oleh
mikrokontroler arduino (Tx) ke modul wireless (modul nR24L01)
untuk dikirimkan ke
modul wireless (modul nR24L01) yang berada pada model pesawat
untuk kemudian
diterima oleh mikrokontroler arduino (Rx) dan diaplikasikan pada
keluarannya.
Bagian output yang dikendalikan oleh mikrokontroler arduino (Rx)
meliputi servo-
servo yang berfungsi untuk menggerakan posisi model pesawat, dan
motor dc yang berfungsi
sebagai baling-baling model pesawat. Diagram blok pada gambar
3.1 masih terbagi menjadi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
31
dua tahapan perancangan, yaitu perancangan perangkat keras dan
perancangan perangkat
lunak. Perancangan perangkat keras berisi tentang perkiraan
bentuk serta ukuran dari alat
yang akan dirancang, pemilihan komponen-komponen yang akan
digunakan disesuaikan
dengan kebutuhan alat tersebut, dan pengkabelan. Perancangan
perangkat lunak berisi
tentang pengaturan program dari alat yang akan dbuat. Program
dari alat yang akan dbuat
pertama-tama akan dibuat dalam bentuk diagram alir (flowchart)
yang bertujuan untuk
mempermudah pembuatan program karena diagram alir berisi tentang
urutan-urutan proses
dari alat yang akan dirancang.
3.2. Perancangan Perangkat Keras
Dalam perancangan perangkat keras ini terdiri dari beberapa
tahapan karena
perangkat keras ini terdiri dari beberapa bagain. Bagian yang
pertama adalah pembuatan
perancangan bagian model pesawat. Dan bagian kedua adalah
pembuatan perancangan
bagian sarung tangan.
3.2.1. Perancangan Bagian Penggerak Model Pesawat
Pada bagian penggerak model pesawat terdapat pesawat yang
terhubung ke tiang
penyangga, di dalam bagian penopang bawah akan terdapat arduino,
driver motor, dan
modul nrf24L01, dibagian dalam pesawat akan terdapat servo-servo
yang menggerakan
pesawat. Rencana alat pada bagian model pesawat dapat dilihat
pada Gambar 3.2 dan
Gambar 3.3.
Gambar 3.2. Perancangan Penggerak Model Pesawat (Tampak
Depan)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
32
Gambar 3.3. Perancangan Penggerak Model Pesawat (Tampak
Samping)
3.2.2. Perancangan Bagian Sarung Tangan
Pada bagian sarung tangan terdapat sarung tangan yang terpasang
oleh sensor MPU-
6050, sensor flex, modul nRF24L01 dan arduino nano, juga baterai
yang berada pada bagian
bawah telapak tangan. Rencana alat pada bagian sarung tangan
dapat dilihat pada Gambar
3.4.
Gambar 3.4. Perancangan Sarung Tangan
3.2.3. Perancangan Gerakan Yaw Pesawat
Gerakan yaw seperti yang telah dijelaskan pada bab II merupakan
gerakan ke kanan
dan ke kiri nya pesawat atau gerakan menggeleng pada pesawat
(panah biru). Gerakan ini
akan diatur oleh sebuah servo yang telah diatur letak
pemasangannya seperti Gambar 3.5
dan Gambar 3.6.
Sensor Flex
Sensor
MPU-6050
nRF24L01
Arduino
Nano
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
33
Gambar 3.5. Perancangan Gerakan Yaw Pada Pesawat (Tampak
Samping)
Gambar 3.6. Perancangan Gerakan Yaw Pada Pesawat (Tampak
Atas)
3.2.4. Perancangan Gerakan Pitch Pesawat
Gerakan pitch seperti yang telah dijelaskan pada bab II
merupakan gerakan keatas
dan kebawah nya pesawat atau gerakan menggangguk pada pesawat
(panah merah). Gerakan
ini akan diatur oleh sebuah servo yang telah diatur letak
pemasangannya seperti Gambar 3.7.
dan Gambar 3.8.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
34
Gambar 3.7. Perancangan Gerakan Pitch Pada Pesawat (Tampak
Samping)
Gambar 3.8. Perancangan Gerakan Pitch Pada Pesawat (tampak
atas)
3.2.5. Perancangan Gerakan Roll Pesawat
Gerakan roll seperti yang telah dijelaskan pada bab II merupakan
gerakan berputar
pesawat, yaitu gerakan kemiringan kekiri atau kemiringan
kekanannya pesawat (panah
hijau). Gerakan ini akan diatur oleh sebuah servo yang telah
diatur letak pemasangannya
seperti Gambar 3.9. dan Gambar 3.10.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
35
Gambar 3.9. Perancangan Gerakan Roll Pada Pesawat (Tampak
Depan)
Gambar 3.10. Perancangan Gerakan Roll Pada Pesawat (Tampak
Atas)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
36
3.2.6. Perancangan Rangkaian Sensor Flex
Rangkaian sensor flex memiliki dua kaki. Salah satu kaki pin
diberikan tegangan +5
Volt, sedangkan kaki pin lainnya terhubung pada output data yang
dihubungkan ke pin A0,
resistor 10KΩ, serta ground. Sensor flex memberikan resistansi
kepada mikrkontroler
melalui rangkaian pembagi tegangan.
Tegangan keluaran arduino yang digunakan sebesar 5 V akan
melewati rangkaian
pembagi tegangan sehingga tegangan keluaran arduino akan dibagi
menjadi tegangan output
yang sebanding dengan resistansi yang dihasilkan sensor flex.
Fungsinya adalah untuk
membagi tegangan keluaran arduino dengan tegangan output sensor
flex ke data (pin analog
input arduino). Tegangan output sensor flex ke data (pin analog
input arduino) dapat
bervariasi dengan menggunakan prinsip pembagi tegangan yaitu
besarnya resistansi sensor
flex yang terukur dibagi dengan resistor pembagi tegangan yang
dijumlahkan dengan
resistansi sensor flex yang terukur, lalu dikalikan tegangan
keluaran arduino sebesar 5 Volt.
Pembagi tegangan adalah resistor 10 KΩ karena menyesuaikan
dengan hambatan
datar sensor flex yang tertera di datasheet. Sensor flex
memiliki dua kaki pin yaitu resistor
pembagi tegangan yang terhubung dengan data masukan pin analog
arduino dan diberikan
tegangan vcc, sedangkan kaki pin yang lain sebagai tegangan
output yang terhubung dengan
ground. Rangkaian sensor flex dihubungkan dengan kabel yang akan
di hubungkan pada pin
analog arduino uno, ground dan vcc. Mikrokontroler mengkonversi
data menggunakan
ADC, dimana data masukannya didapat dari tegangan yang sudah
terkena resistansi.
Rangkaian sensor flex dan arduino nano dapat dilihat pada Gambar
3.11.
Gambar 3.11. Rangkaian Skematik Sensor Flex Dengan Arduino
Nano
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
37
Pada Gambar 3.11. adalah konfigurasi rangkaian untuk sensor flex
yang terhubung
ke mikrokontroler Tx (Arduino Nano). Keluaran sensor flex akan
masuk melalui pin A0 pada
mikrokontroler. Pengujian sensor flex dilakukan dengan cara
menekuk sensor agar
menghasilkan nilai output. Nilai output yang dihasilkan dari
proses menekuk sensor flex
tersebut adalah nilai analog yang kemudian akan diubah menjadi
nilai ADC.
Saat dilakukan percobaan, didapatkan nilai ADC dari sensor flex
yang diperlihatkan
pada Tabel 3.1.
Tabel 3.1. Tabel Pengukuran Nilai ADC Terhadap Posisi Sensor
Flex Pada Jari
Posisi Sensor Flex
(posisi 1)
(posisi 2)
(posisi 3)
ADC (sensor flex) 640-680 700-760 770-900
Nilai-nilai ADC yang didapatkan dari hasil percobaan di atas
akan digunakan
sebagai nilai pembanding dengan nilai PWM pada putaran motor
agar diperoleh kesesuaian
gerakan sensor flex dan kecepatan putaran motor. Apabila sensor
flex dalam keadaan datar
dan tidak ditekuk maka memiliki nilai ADC ±640 yang berarti
motor dalam kedaan diam
atau tidak berputar. Apabila sensor flex dalam keadaan agak
ditekuk dan memiliki nilai ADC
±700 maka motor akan berputar dengan kecepatan yang tidak
terlalu kencang. Dan apabila
sensor flex dalam keadaan ditekuk dan memiliki nilai ADC ±900
maka motor akan berputar
dengan kecepatan maksimal.
3.2.7. Perancangan Sensor MPU-6050
Sensor MPU-6050 pada perancangan ini digunakan untuk pendeteksi
gerakan dari
tangan yang akan menentukan gerakan pesawat apakah akan bergerak
yaw, pitch atau roll.
Sensor MPU-6050 ini memiliki 3 keluaran yang sesuai dengan
sumbunya yaitu sumbu X,
sumbu Y dan sumbu Z. Nilai keluaran yang dihasilkan dari sensor
MPU-6050 akan diproses
oleh mikrokontroler Tx lalu dikonversi menjadi nilai sudut
gerakan servo yaw, servo pitch
dan servo roll yang kemudian akan kirim ke mikrokontroler Rx dan
dikeluarkan menjadi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
38
gerakan servo yaw, servo pitch dan servo roll. Rangkaian
skematik sensor MPU-6050
dengan arduino nano dapat dilihat pada Gambar 3.12.
Gambar 3.12. Rangkaian Skematik Sensor MPU-6050 Dengan Arduino
Nano
Tabel 3.2. Tabel Konfigurasi Hubungan Pin Arduino Nano Dengan
Sensor MPU-6050
No. Pin Arduino Nano Pin Sensor MPU-6050
1. 5 Volt VCC
2. GND GND
3. A4 SDA
4. A5 SCL
3.2.8. Perancangan Rangkaian Motor DC
Motor dc pada perancangan ini digunakan sebagai keluaran dari
sensor flex.
Kecepatan motor dc akan diatur keluarannya sesuai dengan
kelengkungan sensor flex. Motor
dc dihubungkan ke Driver motor L298N yang berfungsi untuk
mengatur kecepatan dan arah
putaran motor dc. Driver motor L298N disuplai oleh baterai 9
Volt.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
39
Gambar 3.13. Rangkaian Skematik Motor DC Dengan Arduino Uno
& Driver Motor
Tabel 3.3. Tabel Konfigurasi Hubungan Pin Arduino Uno Dengan
Driver Motor
No. Pin Arduino Uno Pin Driver Motor
1. 5 Volt 5 Volt
2. D6 Enable
3. D4 IN1
4. D2 IN2
3.2.9. Perancangan Rangkaian Servo
Motor servo pada perancangan ini digunakan sebagai keluaran dari
sensor MPU-
6050. Perputaran servo 1, servo 2, dan servo 3 akan diatur
sesuai dengan gerakan dari sensor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
40
MPU-6050. Setiap motor servo dihubungkan ke arduino uno yang
konfigurasi pinnya sesuai
dengan Tabel 3.4. dibawah.
Gambar 3.14. Rangkaian Skematik Motor Servo Dengan Arduino
Uno
Tabel 3.4. Tabel Konfigurasi Hubungan Pin Arduino Uno Dengan
Motor Servo
No. Pin Arduino Uno Pin Servo Motor
1. 5 Volt 5 Volt
2. GND GND
3. D9 Servo 1
4. D5 Servo 2
5. D3 Servo 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
41
3.2.10. Perancangan Rangkaian Modul nRF24L01
Modul nRF24L01 berfungsi sebagai modul komunikasi yang berfungsi
untuk
mengirim dan menerima data dari mikrokontroler Tx ke
mikrokontroler Rx. Modul
nRF24L01 ini terpasang di masing-masing arduino, yaitu pada
arduino uno dan arduino
nano. Konfigurasi pemasangan pin modul nRF24L01 pada arduino uno
dapat dilihat pada
Tabel 3.5. Sedangkan konfigurasi pemasangan pin modul nRF24L01
pada arduino nano
dapat dilihat pada Tabel 3.6.
Gambar 3.15. Rangkaian Skematik Modul nRF24L01 Dengan Arduino
Uno (Tx)
Tabel 3.5. Tabel Konfigurasi Hubungan Pin Arduino Uno (Tx)
Dengan nRF24L01
No. Pin Arduino Uno Pin Modul nRF24L01
1. 3,3 Volt VCC
2. GND GND
3. 7 CE
4. 8 CS
5. 13 SCK
6. 11 MOSI
7. 12 MISO
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
42
Gambar 3.16. Rangkaian Skematik Modul nRF24L01 Dengan Arduino
Nano (Rx)
Tabel 3.6. Tabel Konfigurasi Hubungan Pin Arduino Nano (Rx)
Dengan nRF24L01
No. Pin Arduino Nano Pin Modul nRF24L01
1. 3,3 Volt VCC
2. GND GND
3. D7 CE
4. D8 CS
5. D13 SCK
6. D11 MOSI
7. D12 MISO
3.3. Perancangan Perangkat Lunak
Dalam perancangan perangkat lunak ini dijelaskan bagaimana
flowchart atau
diagram alir dari keseluruhan program pengendali yang akan
dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
43
Gambar 3.17. Flowchart Keseluruhan Program Bagian Pengirim &
Bagian Penerima
Instrument akan menerima masukkan dari sensor MPU-6050 dan
sensor flex yang
kemudian akan dibaca dan diproses sehingga diperoleh data sensor
MPU-6050 dan data
sensor flex. Data-data dari sensor MPU-6050 akan dihitung
terlebih dahulu rata-rata error
yang terjadi. Rata-rata error tersebut kemudian digunakan dalam
perhitungan data
accelerometer dan data gyro untuk mengurangi persen error yang
terjadi pada sensor MPU-
6050. Setelah data-data MPU-6050 dikurangkan dengan rata-rata
error yang terjadi,
dihitung nilai roll, pitch, dan yaw. Nilai roll, pitch, dan yaw
tersebut kemudian dikonversi
menjadi nilai sudut servo roll, pitch, dan yaw. Sedangkan
masukkan dari sensor flex
mendapatkan data berupa nilai adc sensor flex. Nilai adc sensor
flex tersebut kemudian di
konversikan menjadi nilai PWM kecepatan motor dc. Data-data dari
kedua sensor ini (sensor
flex dan sensor MPU-6050) ini kemudian akan dikirimkan oleh
mikrokontroler transmitter
ke mikrokontroler receiver. Data sensor MPU-6050 yang dikirim
berupa data sudut servo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
44
roll, servo pitch, dan servo yaw. Data sensor flex yang dikirim
berupa data PWM kecepatan
motor dc. Mikrokontroler receiver kemudian akan menerima
data-data dari mikrokontroler
transmitter yang kemudian akan dproses oleh mikrokontroler
receiver. Mikrokontroler
receiver akan memproses data-data tersebut, data dari sensor
MPU-6050 dan data dari sensor
flex akan dikeluarkan ke output. Keluaran dari instrumen berupa
gerakan pada motor servo
roll, motor servo pitch, dan motor servo yaw yang telah sesuai
dengan gerakan pada sensor
MPU-6050, serta kecepatan putaran motor dc yang telah sesuai
dengan gerakan
kelengkungan sensor flex.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
-
45
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini akan dijelaskan implementasi perancangan penelitian
dan hasil uji coba
alat beserta pembahasannya untuk mengetahui kesesuaian antara
perancangan dengan
penelitian. Hasil dan pembahasan meliputi data hasil pengujian
nilai keluaran sensor flex
terhadap kecepatan motor dc, data hasil pengujian nilai keluaran
sensor MPU-6050 terhadap
servo-servo yang berada pada model pesawat, dan data hasil
pengujian jarak komunikasi
antar mikrokontroler.
4.1. Sistem Perangkat Keras
4.1.1. Implementasi Alat
Gambar 4.1. Bentuk Fisik Bagian Model Pesawat
Gambar 4.1 menunjukkan bentuk fisik dari bagian model pesawat
atau bagian
penerima dari alat yang sudah dibuat. Bagian model pesawat ini
memiliki dua bagian yaitu
bagian kotak tiang penyangga dan bagian pesawat. Bagian kotak
penyangga pesawat
memiliki ukuran 25cm x 20cm x 7,5cm (panjang x lebar x tinggi)
dengan tinggi penyangga
30cm dengan lebar 4cm x 4cm (panjang x lebar), dan bagian