Anda di halaman 1dari 72

IMPLEMENTASI ROBOT BERODA MENGGUNAKAN DRIVER

L298N MELALUI MPU-6050 SEBAGAI KENDALI GESTUR


TANGAN

TUGAS AKHIR

PARIS FAHDZ ABDUL AZIS


172408047

PROGRAM STUDI D-III FISIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATRA UTARA
MEDAN
2020

Universitas Sumatera Utara


TUGAS AKHIR

IMPLEMENTASI ROBOT BERODA MENGGUNAKAN DRIVER


L298N MELALUI MPU-6050 SEBAGAI KENDALI GESTUR
TANGAN

Diselesaikan sebagai salah satu syarat


untuk menyelesaikan Program Pendidikan Diploma 3

Oleh :

PARIS FAHDZ ABDUL AZIS 172408047

PROGRAM STUDI D-III FISIKA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATRA UTARA
MEDAN
2020

Universitas Sumatera Utara


PERNYATAAN ORISINALITAS

IMPLEMENTASI ROBOT BERODA MENGGUNAKAN DRIVER


L298N MELALUI MPU-6050 SEBAGAI KENDALI GESTUR
TANGAN

LAPORAN TUGAS AKHIR

Saya menyatakan bahwa laporan tugas akhir ini adalah hasil karya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 19 Agustus 2020

Paris Fahdz Abdul Azis


172408047

Universitas Sumatera Utara


IMPLEMENTASI ROBOT BERODA MENGGUNAKAN DRIVER
L298N DENGAN MPU-6050 MELALUI KENDALI GESTUR
TANGAN

ABSTRAK

Telah dirancang sebuah robot beroda melalui kendali gestur tangan. Robot telah
didesain untuk bergerak maju,mundur,kanan dan kiri dengan menggunakan perintah
gestur tangan. Agar gestur tangan dapat mengtrol pergerakan robot dibutuhkan
sebuah Modul MPU6050 yang dapat membaca sinyal analog pada sudut X dan Y.
Pada perancangan ini robot dapat melaju dengan kecepatan rata-rata 0.457m/s pada
sudut Y dengan jarak terbatas yaitu 30 meter. Modul MPU6050 memiliki sumbu X
dengan nilai error 0,32% dan Y dengan nilai error 0,48%

Kata Kunci : Robot, MPU6050, Arduino, Gestur Tangan

Universitas Sumatera Utara


IMPLEMENTATION OF WHEEL ROBOTS
USING L298N DRIVER THROUGH MPU-6050
AS A HAND GESTURE

ABSTRACT

A wheeled robot through hand gesture control has been designed. The robot has been
designed to move forward, backward, right and left using the hand gesture command.
In order for the hand gesture to control the movement of the robot, a MPU6050
Module that can read analog signals at X and Y angles is needed. In this design the
robot can go with an average speed of 0.457m / s at an angle Y with a limited
distance of 30 meters. The MPU6050 module has an X axis with an error value of
0.32% and Y with an error value of 0.48%

Keywords: Robots, MPU6050, Arduino, Hand Gesture

Universitas Sumatera Utara


KATA PENGHARGAAN

Assalamu’alaikum Wr. Wb.

Puji syukur kehadirat Allah SWT yang telah memberikan rahmat serta
hidayah-Nya, sehingga penulis dapat menyelesaikan tugas akhir ini, yang berjudul
“IMPLEMENTASI ROBOT MELALUI KENDALI GESTUR TANGAN
MENGGUNAKAN MPU6050 DAN NRF24L01 BERBASIS ARDUINO NANO”
dengan lancar.

Tugas akhir ini tidak mungkin tersusun dengan baik dan benar tanpa adanya
bimbingan dan dukungan dari berbagai pihak. Untuk itu pada kesempatan ini penulis
mengucapkan terima kasih kepada:

1. Allah SWT dengan segala Rahmat serta karunianya yang memberikan


kekuatan pada penulis dalam menyelesaikan Tugas Proyek ini.
2. Bapak Dr. Kerista Sebayang, MS selaku Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Sumatera Utara.
3. Bapak Drs.Takdir Tamba,M.Eng.Sc selaku Ketua Program Studi D-III Fisika
Fakultas MIPA Universitas Sumatra Utara.
4. Bapak Azhari, S.pd., M.si selaku Pembimbing yang telah membimbing dan
mengarahkan Kepada Penulis dalam menyelesaikan Laporan Proyek.
5. Babah dan Mamak yang saya sayangi yang selalu berjuang agar anak-anak nya
tetap menjalankan pendidikan hingga saat ini dan saudari saya Kak Dira, Ica,
Filza, icin dan Kak Ana
6. Seluruh Staf Pengajar/Pegawai Fakultas Matematika dan Ilmu Pengetahuan
Alam Universitas Sumatra Utara.
7. Teman yang selalu menjadi tempat saya mengeluh dan selalu ada dikala susah
dan senang, Khairun Nisa somoga kita akan tetap selalu bersama, amiin
8. The Secret Sahabat seperjuangan gang.cipto Naufal, Ilham, Ade Yaksa,
Farhan, Juanda, Andiko, dan Bobi sebagai sahabat yang selalu menjadi curahan
hati saya, semoga kita dipertemukan dalam keadaan sukses.

Universitas Sumatera Utara


9. Team Micro Solar Matic tempat saya mengasah ilmu dan skill baik individu
maupun Team terkhusunya kepada Bang Armansyah Putra, Kak Dara, Ade
Yaksa, Novia, Rika, Pindi dan kepada senior senior lainnya yang tidak bisa
saya sebutkan namanya satu persatu
10. Serta masih banyak lagi pihak-pihak yang sangat berpengaruh dalam proses
penyelesaian laporan proyek yang tidak bisa penulis sebutkan satu persatu.
Semoga Tuhan Yang Maha Esa senantiasa membalas semua kebaikan yang
telah diberikan kepada Penulis. Semoga laporan proyek ini dapat bermanfaat bagi
penulis umumnya kepada para pembaca.

Medan, 22 Juni 2020

Paris Fahdz Abdul Azis

Universitas Sumatera Utara


DAFTAR ISI

Halaman
HALAMAN SAMPUL i
LEMBAR
PENGESAHAN ii
PERNYATAAN iii
PENGHARGAAN v
ABSTRAK vi
ABSTRAKS vii
DAFTAR ISI ix
DAFTAR TABEL x
DAFTAR GAMBAR

BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 2
1.4 Batasan Masalah 2
1.5 Manfaat 3
1.6 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 5


2.1 Robotika 5
2.1.1Peran Robot Bagi Kehidupan Manusia Dan Industri 6
2.1.2 Jenis Jenis Robot 8
2.2 Arduino Nano 10
2.3 Downloader 12
2.4 NRF24L01 13
2.5 Driver L298N 14
2.6 Baterai Li-Ion (Lithium-Ion) 17
2.7 Motor DC 17
2.7.1 Prinsip Kerja Motor DC 18
2.7.2 Bagian Atau Komponen Utama Motor DC 20
2.7.3 Kelebihan Motor DC 21
2.8 Gyroscope MPU-6050 21

BAB 3 PERANCANGAN ALAT DAN PEMBUATAN SISTEM 25


3.1 Metodologi Perancangan 25
3.2 Tahap Persiapan 25
3.2.1 Diagram Blok Sistem 26
3.2.2 Perancangan Rangkaian 27
3.2.2.1 Rangkaian Mikrokontroler ATMega328 27
3.4.2.2 Rangkaian Transmitter Dan Receiver 27
3.4.2.3 Rangkain MPU-6050 28
3.2.2.4 Rangkaian Driver Motor 28
3.2.3 Perancangan Perangkat Lunak Sistem
29

Universitas Sumatera Utara


3.2.3.1 Flowchart Sistem
30
3.3 Pengujian Rangkaian Dan Pengukuran Hasil Sistem 33
3.3.1 Pengujian Rangkaian Mikrokontroler 33
3.3.2 Pengujian Modul 2,4GHz nRF24L01 33
3.3.3 Pengujian MPU-6050 36
3.3.4 Pengujian Motor Driver 39
3.3.5 Pengujian Gestur Tangan 39
3.3.6 Pengujian Mikrokontroler Arduino Pada Robot 44
3.4 Perancangan dan Pembuatan Sistem Gestur Tangan (RX) 50
3.5 Perancangan dan Pembuatan Sistem Robot (TX) 51
BAB 4 PENGUJIAN DAN ANALISA DATA
53
4.1 Pengujian Kecepatan Laju Pada Robot 53
Perbandingan Sudut Pembacaan Modul MPU-6050 Dengan
4.2 Sudut Sebenarnya Pada Sumbu X dan Y 54
Perbandingan Sudut Y Pada Modul MPU-6050 Dengan
4.3 Sudut Sebenarnya 55
BAB 5 KESIMPULAN DAN SARAN 56
5.1 Kesimpulan 56
5.2 Saran 56

DAFTAR PUSTAKA 56
LAMPIRAN

Universitas Sumatera Utara


DAFTAR GAMBAR

Nomor Judul Halaman


Gambar
2.1 Robot Avoider 8
2.2 Robot Jaringan 8
2.3 Arduino Nano 10
2.4 Downloader 12
2.5 NRF24L01 13
2.6 Driver L298L 16
2.7 Baterai Li-Ion 17
2.8 Motor DC 18
2.9 Prinsip Kerja Motor DC 19
2.10 MPU6050 21
2.11 Data Sheet MPU6050 23
3.1 Diagram Blok 25
3.2 Rangkaian ATMega328 26
3.3 Rangkaian RX Dan TX 27
3.4 Rangkaian MPU6050 28
3.5 Driver Motor 28
3.6 Tampilan Arduino 29
3.7 Pengujian nRF24L01 34
3.8 Pengujian Sistem Gestur Tangan 41
3.9 Pengujian Sistem Robot 48
3.10 Sistem RX 50
3.11 Sistem TX 51
4.1 Grafik Sudut X Pada MPU6050 53
4.2 Grafik Sudut Y Pada MPU6050 54

Universitas Sumatera Utara


DAFTAR TABEL

Nomor Judul Halaman


Tabel
3.1 Pengujian NRF24L01 35
3.2 Pengujian Sistem Gestur Tangan 41
3.3 Pengujian Sistem Robot 48
3.4 MPU6050 Ke Arduino 49
3.5 NRF24L01 Ke Arduino 49
3.6 Motor Driver L298N Ke Arduino 50
4.1 Data Pengujian Pada Laju Kecepatan Robot 52
4.2 Perbandingan Sudut X Pada Modul MPU6050 53
4.3 Perbandingan Sudut Y Pada Modul MPU6050 54

Universitas Sumatera Utara


1

BAB 1
PENDAHULUAN

1.1 Latar Belakang


Perkembangan teknologi saat ini sangat pesat, demikian pula dengan
perkembangan teknologi elektronika. Robotika merupakan bukti peradaban manusia
yang semakin maju dari waktu ke waktu. Wujud robot bukan hanya sebuah bentuk
yang menyerupai manusia atau binatang tertentu yang bergerak menyerupai bentuk
yang ditirunya. Robot pada dasarnya merupakan suatu sistem terintegrasi yang
membuat sebuah sistem mampu mengerjakan suatu tindakan berdasarkan masukan
yang diterimanya.
Pada dasarnya manusia lebih terbiasa berinteraksi menggunakan suara, posisi
tubuh dan gestur (gerakan) tangan. Penerapan gestur tangan mudah dilakukan karena
proses pembelajaran relatif lebih singkat serta lebih alami dan interaktif. Untuk
menggantikan peran perangkat kendali input seperti mouse, keyboard dan joystick
yang digunakan untuk interaksi manusia dengan komputer. Namun, perangkat
tersebut memerlukan pengontrolan yang cukup dekat serta tidak alami bagi manusia.
Berbagai macam jenis robot telah dikembangkan dan dibuat untuk memenuhi
keinginan penggunaannya. Seiring dengan perkembangan dalam pembuatan robot
membuat beberapa mahasiswa ingin mempelajari dan mengembangkan ilmunya
mengenai pengetahuan robot, mulai dari prototype sampai sistem yang sebenarnya.
Untuk memenuhi keinginan tersebut dibuatlah suatu tugas akhir dengan judul
“Implementasi Robot Beroda dengan Kendali Gestur Tangan Menggunakan
Sensor MPU-6050 Berbasis Arduino Nano” Seperti pada judul tersebut, sistem
kendali robot menggunakan accelerometer. Gerakan gestur tangan untuk
mengendalikan robot dapat berupa gerakan ke atas, bawah, kiri dan kanan.
Kecepatan robot juga dikendalikan selama gerakan oleh gestur tangan
Implementasi Robot Dengan Kendali Gestur Tangan Menggunakan MPU6050
Berbasis Arduino Nano ini menggunakan Accelerometer (MPU6050) sebagai
variabel nya.
Modul MPU-6050 digunakan untuk mengubah perbedaan gestur tangan menjadi
sinyal data. Kontrol navigasi robot menggunakan media komunikasi wireless.

Universitas Sumatera Utara


2

Sebuah sarung tangan berbasis mikrokontroller yang dilengkapi dengan sensor


MPU6050 dibangun untuk dapat mendeteksi setiap gestur tangan yang dihasilkan.
Hasil pengimplementasian ini diharapkan dapat menunjukan bahwa sebuah sistem
pengontrolan navigasi robot berdasarkan gerakan tangan dapat diimplementasikan
dan diaplikasikan dengan secara nyata, sehingga dapat memberikan pengalaman baru
dalam berinteraksi dengan robot.

1.2 Rumusan Masalah


Berdasarkan uraian diatas, untuk merancang sebuah robot yang dapat
dikendalikan oleh gerakan non-verbal yaitu gerakan dari tangan manusia berbasis
mikrokontroller Atmega 328p pada Arduino Nano. Dimana pada perancangan ini
akan dirumuskan masalah sebagai berikut :
1. Bagaimana mengimplementasikan sistem kontrol menggunakan gerakan non-
verbal sebagai pengontrolan pada sistem pergerakan robot .
2. Bagaimana mengimplementasikan mikrokontroller Arduino Nano sebagai
pengontrol pada sistem elektronika robot.
3. Bagaimana mengimplementasikan sensor MPU-6050 sebagai media komunikasi
antara gerakan gestur tangan dan Driver L298N sebagai pergerakan Pada sistem
Robot .

1.3 Tujuan
Adapun tujuan dalam tugas akhir ini adalah :
1. Memanfaatkan gestur tangan sebagai sistem pengendali gerakan robot.
2. Mengaplikasikan Mikrokontroler Arduino Nano sebagai pusat kontrol dalam
sistem elektronika.
3. Mengaplikasikan Sensor MPU-6050 sebagai media pergerakan robot antara gestur
tangan dengan sistem elektronika robot.

1.4 Batasan Masalah


Perancangan yang dilakukan dibatasi pada ruang lingkup yang lebih rinci agar
sesuai dengan topik. Adapun batasan masalah pada tugas akhir ini adalah:
1. Rangakaian mikrokontroller yang di gunakan adalah Arduino Nano

Universitas Sumatera Utara


3

2. Sistem berbasis Arduino Nano yang bertugas mengatur seluruh kegiatan sistem
yang dirakit.
3. Sensor MPU-6050 berfungsi sebagai media Pergerakan antara sistem robot
dengan sistem pengendali gerakan non-verbal pada robot.
4. Gerakan non-verbal yaitu gerakan gestur tangan yang digunakan sebagai
pengontrol gerakan robot.

1.5 Manfaat
1. Implementasian penggunaan robot berperan penting untuk membantu
mengurangi resiko kegiatan manusia seperti bidang kesehatan, misalnya robot
dapat mengantar suatu barang ke tempat yang rentan terhadap infeksi virus.
2. Robot juga dapat mengantar suatu barang yang sulit dijangkau oleh manusia,
seperti pengantaran barang yang melewati daerah suhu tingi atau daerah yang
dipenuhi benda-benda tajam.

1.6 Sistematika Penulisan


Untuk mempermudah penulisan tugas akhir ini, penulis membuat suatu
sistematika penulisan yang terdiri dari :
A. BAB 1: PENDAHULUAN
Bab ini akan membahas latar belakang tugas akhir, identifikasi masalah,
batasan masalah, tujuan, metode penelitian, tinjauan pustaka, dan sistematika
penulisan.
B. BAB 2: TINJAUAN PUSTAKA
Bab ini akan menjelaskan tentang teori pendukung yang digunakan untuk
pembahasan.
C. BAB 3: PERANCANGAN ALAT
Bab ini membahas tentang perencanaan dan pembuatan sistem secara
keseluruhan.
D. BAB 4: HASIL DAN PEMBAHASAN
Membahas tentang uji coba alat yang telah dibuat, pengoperasian dan
spesifikasi alat dan lain-lain.
E. BAB 5: KESIMPULAN DAN SARAN

Universitas Sumatera Utara


4

Sebagai bab terakhir penulis akan menguraikan beberapa kesimpulan dari


uraian bab-bab sebelumnya, dan penulis akan berusaha memberikan saran
yang mungkin bermanfaat.
F. DAFTAR PUSTAKA
Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang
digunakan dalam pembutan Laporan Tugas Akhir ini.

Universitas Sumatera Utara


5

BAB 2
LANDASAN TEORI

2.1 Robotika
Kata robot berasal dari bahasa Ceko yaitu robota, yang berarti pekerja. Menurut
arti Bahasa, robot adalah alat mekanik yang dapat melakukan tugas fisik, baik
menggunakan pengawasan dan kontrol manusia, atau menggunakan program yang
telah didefenisikan terlebih dahulu. Robot diperkenalkan pertama kali oleh Wright
Karl Capek pada tahun 1920 melalui sandiwara komedi yang berjudul RUR
(Rossum’s Universal Robots). Dalam sandiwara ini, diceritakan seorang tokoh ilmu
pengetahuan bernama Rossum yang menciptakan bahan tiruan daging dan tulang
melalui proses biologi dan elaktronik.
Pada tahun 1941, penulis fiksi ilmiah Isaac Asimov memperkenalkan istilah
robotics dalam teknologi robot. Robotics diterima sebagai istilah atau kata untuk
mendeskripsikan semua kemajuan teknologi yang berhubungan dengan robot. Pada
tahun 1956, Georde Devil Joseph Engelberger membentuk perusahaan robot untuk
pertama kalinya. Beberapa tahun berikutnya tepatnya pada tahun 1961, general
motor pertama kali menggunakan robot untuk pabrik otomotifnya. Robot industri
kemudian berkembang pesat dan mulai banyak digunakan pada tahun 1980 oleh
perusahaan selain otomotif. Pada tahun inilah perkembangan elektronik dan
komputer telah melahirkan robot modern.
Robot adalah sebuah sistem mekanik yang mempunyai fungsi gerak analog
untuk fungsi gerak organisme hidup, atau kombinasi dari banyak fungsi gerak
dengan fungsi intelligent, yang dapat melakukan tugas fisik, baik menggunakan
pengawasan dan kontrol manusia, ataupun menggunakan program yang telah
didefinisikan terlebih dulu (kecerdasan buatan). Perkembangan robotika pada
awalnya bukan dari disiplin elektronika melainkan berasal dari ilmuwan biologi dan
pengarang cerita novel maupun pertunjukan drama pada sekitar abad XVIII. Para
ilmuwan biologi pada saat itu ingin menciptakan makhluk yang mempunyai
karakteristik seperti yang mereka inginkan dan menuruti segala apa yang mereka
perintahkan, dan sampai sekarang makhluk yang mereka ciptakan tersebut tidak

Universitas Sumatera Utara


6

pernah terwujud menjadi nyata, tapi matrak menjadi bahan pada novel-novel maipun
naskah sandiwara pangung maupun film.
Baru sekitar abad XIX robot mulai dikembangkan oleh insinyur teknik, pada
saat itu berbekal keahlian mekanika untuk membuat jam mekanik mereka membuat
boneka tiruan manusia yang bisa bergerak pada bagian tubuhnya.
Pada tahun 1920 robot mulai berkembang dari disiplin ilmu elektronika, lebih
spesifiknya pada cabang kajian disiplin ilmu elektronika yaitu teknik kontrol
otomatis, tetapi pada masa-masa itu komputer yang merupakan komponoen utama
pada sebuah robot yang digunakan untuk pengolaan data masukan dari sensor dan
kendali aktuator belum memiliki kemmpuan komutasi yang cepat selain ukuran fisik
komputer pada masa itru masih cukup besar.
Robot-robot cerdas mulai berkembang pesat seiring berkembagnya komputer
pada sekitar tahun1950-an. Dengan semakin cepatya kemampuan komputasi
komputer dan semakin kecilnya ukuran fisiknya,maka robot-robot yang dibuat
semakin memiliki kecerdasan yang cukup baik untuk melakukan pekerjan-pekerjan
yang biasa dilakukan olaeh manusia. Pada awal diciptakaanya, komputer sebagai alat
hitung saja, perkembangan algoritma pemrograman menjadikan komputer sebagai
instrumentasi yang memiliki kemammpauankemampuan seperti otak manusia.
Artificial intelegent atau kecerdasan buatan adalah algoritma pemrograman yang
membuat komputer memiliki kecerdasan seperti manusia yang mampu menalar,
mengambil kesimpulan dan keputusan berdasarkan pengalaman yang dimiliki.

2.1.1 Peran Robot Bagi Kehidupan Manusia dan industri


Dalam kehidupan manusia masa kini robot sudah banyak diaplikasikan dalam
berbagai bidang. Secara umum robot berfungsi sebagai alat bantu manusia dalam
menyelesaikan tugas yang terkadang sulit untuk diselesaikan karena membutuhkan
konsentrasi dan resiko kecelakaan yang cukup besar. Bahkan ada juga robot bermain
yang diciptakan hanya untuk menemani manusia dalam aktifitasnya sehari-hari.
Dengan adanya robot tersebut manusia dapat terhibur ketika merasakan sedih,
kesepian bahkan kejenuhan yang timbul disela-sela aktifitas yang padat. Bentuk
robot sangat bervariasi disesuaikan dengan kegunaanya masing-masing. Ada yang
berbentuk seperti manusia, hewan, kendaraan dan sebagainya. Sebuah robot tidak

Universitas Sumatera Utara


7

perlu meniru semua tingkah laku manusia namun cukup dengan mengadopsi dua atau
tiga sistem yang ada pada diri manusia seperti pendengaran, penglihatan, dan
gerakan. Dalam dunia industri, robot telah mengambil peran penting dalam
menggantikan tugas manusia dalam beberapa bidang seperti industri perakitan mobil,
elektronik dan industri pengemasan. Robot dalam dunia industri memberi banyak
manfaat seperti mempercepat proses produksi serta kualitas produk yang dihasilkan
lebih terjamin. Lain halnya dalam dunia medis, robot mengambil peran penting
dalam membantu tenaga medis dalam melakukan tindakan operasi bedah misalnya
bedah jantung, kanker dan operasi mata. Namun dalam dunia medis robot masih
jarang dibiarkan untuk melakukan operasi secara otomatis atau tanpa dikendalikan
oleh dokter. Dalam dunia antariksa robot telah digunakan untuk meneliti kehidupan
di luar angkasa seperti robot Phoenix Lander yang diluncurkan pada tahun 2007
dalam misi penelitian di planet mars.
Robotika dalam industri sebenarnya sudah ada sejak lama, mulai sekitar abad
19 awal. Perlahan tapi pasti, robot pun akhirnya jadi andalan untuk menggantikan
peran yang tak mungkin bisa dikerjakan manusia. Robot pertama yang dikenal
dibangun pada 1937, diprogram untuk menyusun balok-balok kayu. Robot industri
ini diciptakan dengan tujuan untuk mempercepat proses di pabrik, meningkatkan
produktivitas pabrik. Seiring waktu, teknologinya bertumbuh semakin maju, aplikasi
robotika juga semakin mutakhir dan maju. Mulai dari sekadar memilih dan
meletakkan, hingga pada proses perakitan dan pengelasan. Pabrik yang otomatis
berarti mengimplementasikan berbagai sistem kontrol yang mengelola peralatan dan
mesin. Tujuan otomatisasi adalah untuk mengoperasikan pabrik secara lebih efisien,
produktif, dan menghasilkan output yang memiliki kualitas lebih tinggi.
Menginstal robot ke dalam pabrik membantu bagian-bagian yang otomatis
dalam lini produksi. Pekerjaan-pekerjaan yang otomatis diselesaikan dalam waktu
yang lebih singkat, robot tak hanya bergerak dengan cepat dan kecepatan yang
konsisten, tapi juga mampu berfungsi di luar jam kerja untuk memenuhi tenggat
waktu produksi.
Tren teranyar dalam robot industri itu sama dengan saat bangkitnya komputer
pada 1980-an. Walaupun komputer mengotomatisasi tugas-tugas yang biasanya
menjadi tanggung jawab para sekretaris, ini tidak berarti bahwa pekerjaan sekretaris

Universitas Sumatera Utara


8

itu terancam keberadaannya. Sebaliknya, komputer adalah alat yang dipakai oleh
para sekretaris untuk menyelesaikan tugas-tugas mereka secara lebih produktif.
Seperti itu juga robot industri adalah alat yang bisa dipakai pabrik untuk membantu
para pekerjanya di lini produksi. Mengingat manfaat yang bisa dihasilkan dari robot-
robot, mereka juga akan membantu pabrik menciptakan lapangan kerja. Sebuah
laporan pada 2013 oleh Metra Martech telah memperlihatkan bahwa robot industri
diramalkan akan menciptakan antara 900.000 sampai 1,5 juta lapangan kerja dari
2012 sampai 2016. Sebagai contoh, perusahaan-perusahaan yang merasakan manfaat
menjadi perusahaan yang semakin kompetitif sebagai hasil langsung karena memakai
robot, cenderung juga akan mempekerjakan lebih banyak pekerja di masa depan
untuk mendukung ekspansi produksi mereka. Robot tak hanya menciptakan lapangan
kerja, tapi juga membuat tempat kerja makin atraktif. Robot industri bisa diatur
untuk membantu pekerja di tempat kerja yang berbahaya di pabrik, seperti adanya
bahan kimia berbahaya atau benda-benda berat.

2.1.2 Jenis-jenis Robot


Secara umum, robot memiliki dua jenis yaitu robot terkontrol (controlled
robot) yang dikendalikan oleh remote control dan robot automatis (autonomous
robot) yang mampu mengambil keputusan sendiri. Tidak semua robot memiliki
bentuk seperti manusia (robot humanoid) yang mempunyai tangan, kaki dan kepala.
Ada beberapa robot yang hanya mempunyai tangan (robot manipulator), robot
beroda (mobile robot), robot yang dapat terbang (flying robot), dan robot yang
menyerupai binatang (robot animalia). Dalam hal ini robot-robot tersebut
mempunyai kekurangan dan kelebihannya masing-masing dan Berbagai macam
robot tersebut diciptakan sesuai dengan kebutuhan atau bertugas menyelesaikan
pekerjaan yang lebih spesifik.
Robot sendiri memiliki beberapa jenis berdasarkan bentuk dan fungsinya
masing– masing, berikut akan di jelaskan beberapa jenis dari robot :
a. Robot Avoider
Robot avoider adalah robot beroda atau berkaki yang diprogram untuk dapat
menghindar jika ada halangan, misalnya dinding. Robot avoider minimal
membutuhkan tiga buah sensor untuk mendeteksi penghalang yaitu sensor depan,

Universitas Sumatera Utara


9

sudut kanan dan kri. Dalam hal ini sensor yang dipergunakan adalah sensor
ultrasonik. Robot membutuhkan sensor yang banyak untuk hasil pendeteksian
penghalang yang lebih baik. Hal ini dikarenakan keterbatasan sudut pancaran sensor
(biasanya sekitar 150).

Gambar 2.1 Robot Avoider

b. Robot Jaringan
Robot jaringan adalah pendekatan baru untuk melakukan kontrol robot
menggunakan jaringan internet dengan protokol TCP/IP. Perkembangan robot
jaringan dipicu oleh kemajuan jaringan dan internet yang pesat. Dengan koneksi
jaringan, proses kontrol dan monitoring, termasuk akuisisi data bila ada, seluruhnya
dilakukan melalui jaringan. Keuntungan lain, koneksi ini bisa dilakukan secara
nirkabel.

Gambar 2.2 Robot Jaringan

Universitas Sumatera Utara


10

2.2 Arduino Nano


Mikrokontroler adalah suatu chip berupa IC (Integrated Circuit) yang dapat
menerima sinyal input, mengolahnya dan memberikan sinyal output sesuai dengan
program yang diisikan ke dalamnya. Sinyal input mikrokontroler berasal dari sensor
yang merupakan informasi dari lingkungan sedangkan sinyal output ditujukan
kepada aktuator yang dapat memberikan efek ke lingkungan. Jadi secara sederhana
mikrokontroler dapat diibaratkan sebagai otak dari suatu perangkat/produk yang
mempu berinteraksi dengan lingkungan sekitarnya. Mikrokontroler pada dasarnya
adalah komputer dalam satu chip, yang di dalamnya terdapat mikroprosesor, memori,
jalur Input/Output (I/O) dan perangkat pelengkap lainnya. Kecepatan pengolahan
data pada mikrokontroler lebih rendah jika dibandingkan dengan PC. Pada PC
kecepatan mikroprosesor yang digunakan saat ini telah mencapai orde GHz,
sedangkan kecepatan operasi mikrokontroler pada umumnya berkisar antara 1 – 16
MHz. Begitu juga kapasitas RAM dan ROM pada PC yang bisa mencapai orde
Gbyte, dibandingkan dengan mikrokontroler yang hanya berkisar pada orde
byte/Kbyte.
Meskipun kecepatan pengolahan data dan kapasitas memori pada mikrokontroler
jauh lebih kecil jika dibandingkan dengan komputer personal, namun kemampuan
mikrokontroler sudah cukup untuk dapat digunakan pada banyak aplikasi terutama
karena ukurannya yang kompak. Mikrokontroler sering digunakan pada sistem yang
tidak terlalu kompleks dan tidak memerlukan kemampuan komputasi yang tinggi.
Penggunaan mikrokontroler antara lain terdapat pada bidang-bidang berikut ini :
a. Otomotif : Engine Control Unit, Air Bag, fuel control, Antilock Braking System,
sistem pengaman alarm, transmisi automatik, hiburan, pengkondisi udara,
speedometer dan odometer, navigasi, suspensi aktif.
b. Perlengkapan rumah tangga dan perkantoran : sistem pengaman alarm, remote
control, mesin cuci, microwave, pengkondisi udara, timbangan digital, mesin foto
kopi, printer, mouse.
c. Pengendali peralatan di industri 4.0 robotika.
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)

Universitas Sumatera Utara


11

atau ATmega 168 (untuk Arduino versi 2.x). Arduino Nano kurang lebih memiliki
fungsi yang sama dengan Arduino Duemilanove, tetapi dalam paket yang berbeda.
Arduino Nano tidak menyertakan colokan DC berjenis Barrel Jack, dan dihubungkan
ke komputer menggunakan port USB Mini-B. Arduino Nano dirancang dan
diproduksi oleh perusahaan Gravitech.

Gambar 2.3 Arduino Nano

Banyak bahasa pemrograman yang biasa digunakan untuk program


mikrokontroler, misalnya bahasa assembly. Namun dalam pemrograman Arduino
bahasa yang dipakai adalah bahasa C. Bahasa C adalah bahasa yang sangat lazim
dipakai sejak awal komputer diciptakan dan sangat berperan dalam perkembangan
software.
Di internet banyak Library Bahasa C untuk Arduino yang bisa didownload
dengan gratis. Setiap library Arduino biasanya disertai dengan contoh pemakaiannya,
keberadaan library-library ini bukan hanya membantu kita membuat proyek
mikrokontroler, tetapi bisa dijadikan sarana untuk mendalami pemrograman Bahasa
C pada mikrokontroler. Berikut ini adalah penjelasan mengenai karakter bahasa C
dan software Arduino:
a. Struktur : Setiap program Arduino (biasa disebut sketch) mempunyai dua buah
fungsi yang harus ada.
• Void setup() { }
Semua kode di dalam kurung kuraal akan dijalankan hanya satu kali ketika
program Arduino dijalankan untuk pertama kalinya.

Universitas Sumatera Utara


12

• Void loop() { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus-
menerus sampai catu daya (power) dilepaskan.
b. Syntax : Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format
penulisan.
• //(komentar satu baris)
• /* */(komentar banyak baris)
• { } (kurung kurawal)
• ; (titik koma)
c. Variabel : Sebuah program secara garis besar dapat didefenisikan sebagai
instruksi untuk memindahkan angka dengan cara yang cerdas. Variable inilah
yang digunakan untuk memindahkannya. Integer, Long, Boolean, Float, Char,
Byte, Unsignt int, Unsign long, Double, String, Array.
d. Operator Matematika : operator yang digunakan untuk memanipulasi angka.
e. Operator Pembanding : digunakan untuk membandingkan nilai logika.
f. Struktur Pengaturan : Program sangat tergantung pada pengaturan apa yang akan
dijalankan berikutnya, berikut ini elemen dasar pengaturan: if, else dan for.
g. Digital :
• PinMode(pin, mode)
• digitalWrite(pin, value)
• digitalRead(pin)
h. Analog : Arduino adalah mesin digital, tetapi mempunyai kemampuan untuk
beroperasi di dalam analog.
• analogWrite(pin, value)
• analogRead(pin)

2.3 Downloader
Downloader atau programmer dalam dunia mikrokontroler dikenal sebagai alat
yang dapat digunakan untuk mengisi (flashing) program ke dalam chip
mikrokontroler. Downloader atau programmer merupakan alat atau tools wajib yang
harus Anda miliki ketika ingin ngoprek mikrokontroler. Downloader mikrokontroler

Universitas Sumatera Utara


13

banyak jenisnya, tertantung  merek mikrokontroler apa yang Anda gunakan.


Masing-masing pabrik mikrokontroler biasanya menjual programmernya secara
terpisah. Anda dapat membelinya sesuai dengan chip mikrokontroler apa yang Anda
gunakan. Downloader atau programmer mikrokontroler dapat juga dibuat sendiri.
Banyak sekali rangkaian downloader mikrokontroler atau programer mikrokontroler
yang dapat Anda lihat di internet. Salah satunya adalah downloader mikrokontroler
AVR yang bernama USBasp. USBasp merupakan salah satu downloader
mikrokontroler AVR yang sifatnya open source.

Gambar 2.4 Downloader

2.4 NRF24L01
Modul Wireless NRF24L01 adalah sebuah modul komunikasi jarak jauh yang
memanfaatkan pita gelombang RF 2.4GHz ISM (Industrial, Scientific and Medical).
Modul ini menggunakan antarmuka SPI untuk berkomunikasi. Tegangan kerja dari
modul ini adalah 5V DC.
NRF24L01 memiliki baseband logic Enhanced ShockBurst hardware protocol
accelerator yang support “high-speed SPI interface for the application controller”.
NRF24L01 memiliki true ULP solution, yang memungkinkan daya tahan baterai
berbulan-bulan hingga bertahun-tahun. Modul ini dapat digunakan untuk pembuatan
15 pheriperal PC, piranti permainan, piranti fitnes dan olahraga, mainan anak-anak
dan alat lainnya.
Modul ini memiliki 8 buah pin, diantaranya :

Universitas Sumatera Utara


14

1. VCC (3.3V DC)


2. GND
3. CE
4. CSN
5. MOSI
6. MISO
7. SCK
8. IR
• Kecepatan operasi maksimum hingga 2Mbps, modulasi GFSK yang efisiensi,
kemampuan Anti-gangguan, Sanizgat cocok untuk aplikasi kontrol industri.
• Built-in hardware dan link layer Respon otomatis dan fungsi transmisi otomatis.
• Wireless rate: 1 atau 2 Mbps.
• Antarmuka SPI rate: 0 - 8Mbps.
• Saluran waktu switching yang sangat singkat, dapat digunakan untuk frekuensi
hopping
• Tegangan kerja: 1.9 - 3.6 V.
• Pita frekuensi ISM terbuka global, 0dBm ditransmisikan tegangan, bebas lisensi
maksimum untuk menggunakan.
• Transmisi jarak hingga 100 Meter di ruangan terbuka.

Gambar 2.5 NRF24L01

2.5 Driver L298N


Driver motor L298N merupakan module driver motor DC yang paling banyak
digunakan atau dipakai di dunia elektronika yang difungsikan untuk mengontrol
kecepatan serta arah perputaran motor DC. IC L298 merupakan sebuah IC tipe H-
bridge yang mampu mengendalikan beban-beban induktif seperti relay, solenoid,

Universitas Sumatera Utara


15

motor DC dan motor stepper. Pada IC L298 terdiri dari transistor-transistor logik
(TTL) dengan gerbang nand yang berfungsi untuk memudahkan dalam menentukan
arah putaran suatu motor dc maupun motor stepper. Untuk dipasaran sudah terdapat
modul driver motor menggunakan ic l298 ini, sehingga lebih praktis dalam
penggunaannya karena pin I/O nya sudah terpackage dengan rapi dan mudah
digunakan. Kelebihan akan modul driver motor L298N ini yaitu dalam hal
kepresisian dalam mengontrol motor sehingga motor lebih mudah untuk dikontrol.
L298 adalah jenis IC driver motor yang dapat mengendalikan arah putaran dan
kecepatan motor DC ataupun Motor stepper. Mampu mengeluarkan output tegangan
untuk Motor dc dan motor stepper sebesar 50 volt. IC l298 terdiri dari transistor-
transistor logik (TTL) dengan gerbang nand yang memudahkan dalam menentukkan
arah putaran suatu motor dc dan motor stepper. Dapat mengendalikan 2 untuk motor
dc namun pada hanya dapat mengendalikan 1 motor stepper. Penggunaannya paling
sering untuk robot line follower. Bentuknya yang kecil memungkinkan dapat
meminimalkan pembuatan robot line follower. Sesuai dengan namanya, Module
L298N Dual H-Bridge Driver Motor ini berfungsi untuk "mendrive" atau menyetir
atau dengan kata lain mempermudah kita dalam urusan mengontrol motor DC
menggunakan mikrokontroler. Kita tau bahwa logic level output dari mikrokontroler
yaitu 3.3V dan 5V dengan arus yang sangat terbatas, sehingga kita tidak bisa
mengendalikan motor secara langsung apalagi motor tersebut membutuhkan level
tegangan dan arus yang lebih besar, jika motor DC kecil sih bisa sajah tpi itu juga
beresiko. Oleh sebab itu dalam mengendalikan motor menggunakan mikrokontroler
maka diperlukan sebuah Driver.
Driver L298N Memiliki spesifikasi sebagai berikut :
a. Tipe : Dual H-Bridge
b. IC Driver : L298N
c. Logic voltage : 5V DC
d. Drive voltage : 5-35V DC
e. Logical current : 0mA-36mA
f. Driving current : 2A (MAX single bridge)
g. Temperatur : -20 C – 135 C
h. Power maksimum: 25W

Universitas Sumatera Utara


16

i. Berat : 30g
j. Ukuran : 43 x 43 x 27mm ;

• Type : Dual H-Bridge, Atau dapat kita katakan bahwa dengan Module Driver ini
kita dapat mengontrol dua buah motor sekaligus
• IC Driver : L298N.
• Logic Voltage : 5V, Yang artinya untuk mengontrol Module Driver ini butuh
logic kontrol tengan tegangan 5V (jika HIGH maka setara dengan 5V atau 0V
ketika berlogika LOW ).
• Drive voltage : 5-35V DC, yang artinya kita bisa mengendalikan motor DC
dengan tegangan antara 5-35V.
• Logical current : 0mA-36mA, artinya arus dari logic tegangan cukup hanya 0mA
sampai dengan 36mA (contoh arus dari Pin Digital arduino maksimal adalah
40mA yang artinya lebih dari cukup).
• Driving current : 2A (MAX single bridge) Artinya Modul ini mampu untuk
mendrive motor DC dengan arus memcapai 2A dengan syarat hanya
menggunakan satu motor saja.
• Temperatur : -20 C – 135 C, Module ini mampu bekerja di suhu -20'C sampai
135'C menurut datasheet (Sebagai acuan, air membeku pada suhu 0'C dan
mendidih pada suhu 100'C).
• Power maksimum: 25W, Artinya daya yang mampu di-drive oleh Driver motor
L298N ini adalah sebesar maksimum 25W.
• Berat : 30g.
• Ukuran : 43mm x 43mm x 27mm, Cukup berukuran minimalis dan memiliki
desain yang menarik juga kokoh.

Universitas Sumatera Utara


17

Gambar 2.6 Driver L298N

2.6 Baterai Li-Ion (Lithium-Ion)


Baterai jenis Li-Ion (Lithium-Ion) merupakan jenis Baterai yang paling banyak
digunakan pad a peralatan Elektronika portabel seperti Digital Kamera, Handphone,
Video Kamera ataupun Laptop. Baterai Li-Ion memiliki daya tahan siklus yang
tinggi dan juga lebih ringan sekitar 30% serta menyediakan kapasitas yang lebih
tinggi sekitar 30% jika dibandingkan dengan Baterai Ni-MH. Rasio Self-discharge
adalah sekitar 20% per bulan. Baterai Li-Ion lebih ramah lingkungan karena tidak
mengandung zat berbahaya Cadmium. Sama seperti Baterai Ni-MH (Nickel- Metal
Hydride), Meskipun tidak memiliki zat berbahaya Cadmium, Baterai Li-Ion tetap
mengandung sedikit zat berbahaya yang dapat merusak kesehatan manusia dan
Lingkungan hidup, sehingga perlu dilakukan daur ulang (recycle) dan tidak boleh
dibuang di sembarang tempat.
Baterai ion litium (biasa disebut Baterai Li-ion atau LIB) adalah salah satu
anggota keluarga baterai isi ulang (rechargable battery). Di dalam baterai ini, ion
litium bergerak dari elektroda negatif ke elektroda positif saat dilepaskan, dan
kembali saat diisi ulang. Baterai Li-ion memakai senyawa litium interkalasi sebagai
bahan elektrodanya, berbeda dengan litium metalik yang dipakai di baterai litium
non-isi ulang. Baterai ion litium umumnya dijumpai pada barang-barang elektronik
konsumen. Baterai ini merupakan jenis baterai isi ulang yang paling populer untuk
peralatan elektronik portabel, karena memiliki salah satu kepadatan energi terbaik,
tanpa efek memori, dan mengalami kehilangan isi yang lambat saat tidak digunakan.
Selain digunakan pada peralatan elektronik konsumen, LIB juga sering
digunakan oleh industri militer, kendaraan listrik, dan dirgantara. Sejumlah

Universitas Sumatera Utara


18

penelitian berusaha memperbaiki teknologi LIB tradisional, berfokus pada kepadatan


energi, daya tahan, biaya, dan keselamatan intrinsik. Karakteristik kimiawi, kinerja,
biaya, dan keselamatan jenis-jenis LIB cenderung bervariasi. Barang elektronik
genggam biasanya memakai LIB berbasis litium kobalt oksida (LCO) yang memiliki
kepadatan energi tinggi, namun juga memiliki bahaya keselamatan yang cukup
terkenal, terutama ketika rusak.
Litium besi fosfat (LFP), litium mangan oksida (LMO), dan litium nikel mangan
kobalt oksida (NMC) memiliki kepadatan energi yang lebih rendah, tetapi hidup
lebih lama dan keselamatannya lebih kuat. Bahan kimia ini banyak dipakai oleh
peralatan listrik, perlengkapan medis, dan lain-lain. NMC adalah pesaing utama di
industri otomotif. Litium nikel kobalt alumunium oksida (NCA) dan litium titanat
(LTO) adalah desain khusus yang ditujukan pada kegunaan-kegunaan tertentu.
Dengan dimikian dapat disimpulkan bahwa Baterai Li-On memiliki
keunggulan yang baik seperti memiliki daya yang lebih besar, Perawatan lebih
mudah dan tidak memiliki efek memori, lebih tahan lama bisa sampai ratusan kali isi
ulang, dan sangat cocok untuk perangkat alat elektronik dan alat-alat elektronika
yang membutuhkan daya yang lebih besar dan hemat pemakaian.

Gambar 2.7 Baterai Li-Ion (Lithium-Ion)

2.7 Motor DC
Motor DC adalah motor listrik yang memerlukan suplai tegangan arus searah
pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan

Universitas Sumatera Utara


19

medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan
jangkar disebut rotor (bagian yang berputar). Motor arus searah, sebagaimana
namanya, menggunakan arus langsung yang tidak langsung/directunidirectional.
Motor DC adalah piranti elektronik yang mengubah energi listrik menjadi energi
mekanik berupa gerak rotasi. Pada motor DC terdapat jangkar dengan satu atau lebih
23 kumparan terpisah. Tiap kumparan berujung pada cincin belah (komutator).
Dengan adanya insulator antara komutator, cincin belah dapat berperan sebagai
saklar kutub ganda (double pole, double throw switch). Motor DC bekerja
berdasarkan prinsip gaya Lorentz, yang menyatakan ketika sebuah konduktor
beraliran arus diletakkan dalam medan magnet, maka sebuah gaya (yang dikenal
dengan gaya Lorentz) akan tercipta secara ortogonal diantara arah medan magnet dan
arah aliran arus. Motor DC tersusun dari dua bagian yaitu bagian diam (stator) dan
bagian bergerak (rotor). Stator motor arus searah adalah badan motor atau kutub
magnet (sikat-sikat), sedangkan yang termasuk rotor adalah jangkar lilitanya. Pada
motor, kawat penghantar listrik yang bergerak tersebut pada dasarnya merupakan
lilitan yang berbentuk persegi panjang yang disebut kumparan.

Gambar 2.8 Motor DC

2.7.1 Prinsip kerja Motor DC


Pada sebuah motor DC terdapat dua bagian utama yakni rotor dan stator. Rotor
adalah bagian pada motor DC yang berputar. Bagian ini terdiri dari kumparan
jangkar. Sedangkan stator adalah bagian pada motor DC yang diam alias tidak
bergerak. Bagian ini terdiri dari rangka dan juga kumparan medan. Dan dari dua

Universitas Sumatera Utara


20

bagian utama motor DC tadi masih bisa dibagi-bagi menjadi banyak bagian lain
seperti Yoke (kerangka magnet), Field winding (kumparan medan magnet), Poles
(kutub motor), Armature Winding (Kumparan Jangkar), Brushes (kuas/sikat arang),
dan juga Commutator (Komutator). Prinsip kerja dari motor DC sebenarnya sangat
sederhana, yakni menggunakan prinsip elektromagnetik dimana pada saat arus listrik
diberikan, maka permukaan kumparan yang bersifat utara akan bergerak ke selatan,
dan permukaan kumparan yang bersifat selatan akan bergerak ke utara dan
menghasilkan sebuah putaran. Dan pada saat arus bergenti dialirkan, kutub utara
kumparan akan bertemu kutub selatan magnet dan menyebabkan saling tarik menarik
sehingga motor berhenti berputar.

Gambar 2.10 Prinsip Kerja Motor DC

2.7.2 Bagian Atau Komponen Utama Motor DC


Kutub medan. Motor DC sederhana memiliki dua kutub medan: kutub utara
dan kutub selatan. Garis magnetik energi membesar melintasi ruang terbuka diantara
kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar atau lebih komplek
terdapat satu atau lebih elektromagnet.
Kumparan Motor DC. Bila arus masuk menuju kumparan motor DC, maka
arus ini akan menjadi elektromagnet. kumparan motor DC yang berbentuk silinder,
dihubungkan ke as penggerak untuk menggerakan beban. Untuk kasus motor DC
yang kecil, kumparan motor DC berputar dalam medan magnet yang dibentuk oleh
kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi. Jika hal ini
terjadi, arusnya berbalik untuk merubah kutub-kutub utara dan selatan kumparan

Universitas Sumatera Utara


21

motor DC. Komutator Motor DC . Komponen ini terutama ditemukan dalam motor
DC. Kegunaannya adalah untuk membalikan arah arus listrik dalam 9 kumparan
motor DC dan juga membantu dalam transmisi arus antara kumparan motor DC dan
sumber daya.

2.7.3 Kelebihan Motor DC


Keuntungan utama motor DC adalah dalam hal pengendalian kecepatan
motor DC tersebut, yang tidak mempengaruhi kualitas pasokan daya. Motor ini dapat
dikendalikan dengan mengatur :
▪ Tegangan kumparan motor DC – meningkatkan tegangan kumparan motor DC
akan meningkatkan kecepatan
▪ Arus medan – menurunkan arus medan akan meningkatkan kecepatan.
Motor DC tersedia dalam banyak ukuran, namun penggunaannya pada
umumnya dibatasi untuk beberapa penggunaan berkecepatan rendah, penggunaan
daya rendah hingga sedang seperti peralatan mesin dan rolling mills, sebab sering
terjadi masalah dengan perubahan arah arus listrik mekanis pada ukuran yang lebih
besar. Juga, motor tersebut dibatasi hanya untuk penggunaan di area yang bersih dan
tidak berbahaya sebab resiko percikan api pada sikatnya.

2.8 Gyroscope MPU-6050


Gyroscope merupakan sensor yang berfungsi untuk menentukan orientasi gerak
dengan bertumpu pada roda yang berotasi dengan cepat pada sumbu yang
berdasarkan momentum sudut. Gyroscope memiliki keluaran berupa kecepatan sudut
dari arah 3 sumbu yaitu, sumbu x yang nantinya akan menjadi sudut phi (kanan dan
kiri) dari sumbu y nantinya menjadi sudut theta (atas dan bawah), dan sumbu z
nantinya menjadi sudut psi (depan dan belakang).
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

Universitas Sumatera Utara


22

kombinasi data yang digunakan untuk menghitung sudut. Gyroscope adalah


perangkat untuk mengukur atau mempertahankan orientasi, yang berlandaskan pada
prinsip-prinsip momentum sudut.

Gambar 2.11 MPU-6050

Kemampuan sensor ini dapat dikatakan akurat karena terdapat hardware yang
bekerja untuk mengkonversi data analog ke digital yang memiliki resolusi 16-bit
pada masing-masing chanelnya. Sehingga modul ini mampu untuk membaca data
dari chanel X, Y, dan Z secara bersamaan dalam 1 waktu.
MPU-6050 Module adalah sebuah modul berinti MPU-6050 yang merupakan 6
axis Motion Processing Unit dengan penambahan regulator tegangan dan beberapa
komponen pelengkap lainnya yang membuat modul ini siap dipakai dengan tegangan
supply sebesar 3-5 VDC. Modul ini memiliki interface I2C yang dapat
disambungkan langsung ke MCU yang memiliki fasilitas I2C.
Sensor MPU-6050 berisi sebuah MEMS Accelerometer dan sebuah MEMS
Gyro yang saling terintegrasi. Sensor ini sangat akurat dengan fasilitas hardware
internal 16 bit ADC untuk setiap kanalnya. Sensor ini akan menangkap nilai kanal
axis X, Y dan Z bersamaan dalam satu waktu.
Berikut adalah spesifikasi dari Modul ini :
• Berbasis Chip MPU-6050
• Supply tegangan berkisar 3-5V
• Gyroscope range + 250 500 1000 2000 ° / s
• Acceleration range: ± 2 ± 4 ± 8 ± 16 g
• Communication standard I2C

Universitas Sumatera Utara


23

• Chip built-in 16 bit AD converter, 16 bits data output


• Jarak antar pin header 2.54 mm
• Dimensi modul 20.3mm x 15.6mm
Sensor Gyroscope adalah perangkat untuk mengukur atau mempertahankan
orientasi, dengan prinsip ketetapan momentum sudut. Mekanismenya adalah sebuah
roda berputar dengan piringan di dalamnya yang tetap stabil. Gyroscope sering
digunakan pada robot atau helikopter dan alat-alat canggih lainnya. Gyroscope
adalah berupa sensor gyro untuk menentukan orientasi gerak dengan berumpu pada
roda atau cakram yang berotasi dengan cepat pada sumbu. Dengan menggunakan
kombinasi Accelerometer dan Gyroscope pada suatu sistem maka Accelerometer
dapat memberikan pengukuran sudut saat sistem berada pada kondisi diam.
Sedangkan pada saat sistem berotasi Accelerometer tidak bisa bekerja secara
maksimal karena memiliki respon yang lambat. Kelemahan inilah yang dapat diatasi
oleh Gyroscope karena sensor ini dapat membaca kecepatan sudut yang dinamis.
Namun Gyroscope juga memiliki kelemahan yaitu proses perpindahan kecepatan
sudut dalam jangka waktu yang panjang menjadi tidak akurat karena ada efek bias
yang dihasilkan oleh Gyroscope. Contoh aplikatif kombinasi Accelerometer dan
Gyroscope yaitu pada perangkat iPhone yang mengkombinasikan 2 sensor tersebut.
Dari kombinasi Accelerometer dan Gyroscope didapatkan 6 sumbu pendeteksian
yaitu 3 sumbu rotasi (x, y, z) dan 3 sumbu linier (atas-bawah, kanan-kiri, depan-
belakang). Output dari kombinasi sensor ini berupa gambar yang sangat detail dan
halus gerakannya dibandingkan dengan smartphone yang hanya menggunakan
Accelerometer saja. Inertial Measurement Unit (IMU) merupakan alat yang
memanfaatkan sistem pengukuran seperti gyroskop dan akselerometer untuk
memperkirakan posisi relatif, kecepatan, dan akselerasi dari gerakan motor. IMU
adalah bagian dari navigasi system yang dikenal sebagai Inertial Navigation System
atau INS. Pertama kali didemonstrasikan oleh C.S. Draper tahun 1949, IMU menjadi
komponen navigasi umum dari bidang dan kapal. GY-521 adalah sebuah modul
Inertial Measurement Unit (IMU) yang menggunakan chip MPU-6050 dari
InvenSense. MPU-6050 sendiri adalah chip dengan 3-axis Accelerometer (sensor
percepatan) dan 3-axis Gyroscope (pengatur keseimbangan), atau dengan kata lain 6
degrees of freedom (DOF) IMU.

Universitas Sumatera Utara


24

Gambar 2.12 Data Sheet MPU-6050

Selain itu MPU-6050 sendiri sudah memiliki Digital Motion Processors


(DMP), yang akan mengolah data mentah dari masing-masing sensor. Sejumlah data
tersebut akan diolah menjadi data dalam bentuk quaternions (4 Dimensi). DMP pada
MPU-6050 juga berfungsi meminimalisasi error yang dihasilkan.

Universitas Sumatera Utara


25

BAB 3
PERANCANGAN DAN PEMBUATAN SISTEM

3.1 Metodologi Perancangan


Proses implementasi dimulai dari studi pustaka,yaitu mengumpulkan teori-teori
pendukung pengimplementasian. Langkah selanjutnya adalah perancangan sistem
berdasarkan teori-teori yang didapat. Analisa kebutuhan meliputi kebutuhan
perangkat lunak dan perangkat keras sesuai dengan rancangan yang telah dibuat.
Setelah semua komponen telah tersedia maka akan dilakukan proses integrasi
perancangan sistem perangkat lunak dan perangkat keras secara terpisah. Setelah
sistem perangkat lunak dan perangkat keras telah berhasil dibuat. Selanjutnya akan
dilakukan proses pengujian sistem,jika pengujian berhasil maka setiap komponen
akan siap digunakan. selanjutnya akan dilakukan proses pengimplementasian, yaitu
penggabungan sistem perangkat lunak dan perangkat keras menjadi satu sistem yang
saling berhubungan.

3.2 Tahap Persiapan


Pada tahap persiapan, ada beberapa kebutuhan yang harus dipersiapkan agar
perancangan berhasil sempurna. Kebutuhan kebutuhan yang harus dipersiapkan
adalah sebagai berikut:
- Baterai 9V
- Baterai 3.7 V
- Papan Triplek
- Mikrokontroler
- Kabel Jumper
- NRF24L01
- Driver NRF24L01
- MPU6050
- Motor Driver L298N
- Motor DC

Universitas Sumatera Utara


26

3.2.1 Diagram Blok Sistem


Untuk mempermudah perancangan sistem diperlukan sebuah program diagram
blok sistem dimana setiap blok mempunyai fungsi dan cara kerja tertentu.

Gambar 3.1 Diagram Blok

MPU-6050 Berfungsi sebagai media pergerakan pada sistem elektronika pada


robot dimana Pergerakan laju robot (kanan, kiri, atas, bawah) dikendalikan oleh
MPU-6050. Arduino nano berfungsi sebagai pengontrol pada sistem robot yang
meliputi MPU-6050, Motor Driver L298N, dan NRF24L01. NRF24L01 Berfungsi
sebagai media komunikasi yang terhubung antara gerakan sistem robot dan sistem
gerakan gestur tangan. Motor Driver L298N bergerak sesuai sinyal yang dikirim oleh
sensor MPU-6050. Motor Driver L298N berfungsi sebagai media output yang
terhubung ke Motor DC. Motor Driver L298N akan memerintah motor DC bergerak
sesuai sinyal yang dikirim oleh modul MPU-6050.

Universitas Sumatera Utara


27

3.2.2 Perancangan Rangkaian


3.2.2.1 Rangkaian Mikrokontroler ATMega328
Rangkaian sistem minimum mikrokontoler ATMEGA 328 terdiri dari
Rangkaian sistem minimum dan rangkaian I/O. Rangkaian minimum mikrokontroler
terdiri dari rangkaian clock dan rangkaian reset. Rangkaian clock pada
mikrokontroler ATMEGA328 membutuhkan osilator kristal dan 2 buah kapasitor
non polar agar dapat berosilasi. Pada perancangan ini, besar frekuensi osilator kristal
yang digunakan adalah 16 MHzdan besar kapasitas kapasitor adalah 22 pF.
Pemilihan frekuensi dan Besar kapasitor tersebut dirancang berdasarkan datasheet
mikrokontroler ATMEGA328. Rangkaian reset pada mikrokontroler ATMEGA328
berfungsi untuk mengembalikan mikrokontroler pada program awal (vektor reset).

Gambar 3.2 Rangkaian Mikrokontroler ATMega328

3.2.2.2 Rangkaian Tansmitter Dan Receiver


Rangkaian Transmitter adalah rangkian yang berfungsi sebagai pengirim data
hasil pengukuran sensor berat dan dikirim kepada sistem Receiver dengan
menggunakan sistem komunikasi wireless.

Universitas Sumatera Utara


28

Rangkaian Receiver adalah rangkian yang berfungsi sebagai penerima data


hasil pengukuran sensor berat dan dikirim oleh transmitter dengan menggunakan
sistem komunikasi wireless.

Gambar 3.3 Rangkaian Transmitter Dan Receiver


3.2.2.3 Rangkaian MPU-6050
Robot ini menggunakan sensor modul GY-521 dan sensor yang digunakan
adalah MPU6050, berikut rangkaian modul Gy-521.Sensor ini dapat mendeteki 3
axis sudut dan 3 axis kecepatan sudut, untuk 3 axis sudut adalah sudut x, y dan z.

Gambar 3.4 Rangkaian MPU-6050


3.2.2.4 Rangkaian Driver Motor
Dual H-bridge adalah driver motor menggunakan MOSFET, dimana untuk
dapat menggerakan satu buah motor terdiri dari dua buah MOSFET kanal N dan dua
buah MOSFET kanal P. disebut dual H-bridge karena memiliki kemampuan untuk

Universitas Sumatera Utara


29

mengendalikan dua buah motor. Keunggulan dari driver MOSFET adalah memiliki
kemampuan mengalirkan arus yang besar dan memiliki disipasi daya yang kecil.
Selain itu jenis driver MOSFET hanya memerlukan dua pin untuk dapat
mengendalikan kecepatan dan arah putar motor.
L298 adalah jenis IC driver motor yang dapat mengendalikan arah putaran
dan kecepatan motor DC ataupun Motor stepper. Mampu mengeluarkan output
tegangan untuk Motor dc dan motor stepper sebesar 50 volt. IC l298 terdiri dari
transistor-transistor logik (TTL) dengan gerbang nand yang memudahkan dalam
menentukkan arah putaran suatu motor dc dan motor stepper. Dapat mengendalikan
2 untuk motor dc namun pada hanya dapat mengendalikan 1 motor stepper.

Gambar 3.5 Driver Motor

Gambar 3.5 Driver Motor

3.2.3 Perancangan Perangkat Lunak Sistem


Arduino AVR merupakan software C-cross compiler, dimana program dapa
ditulis menggunakan bahasa C. Dengan menggunakan pemrograman bahasa C
diharapkan waktu disain (developing time) akan menjadi lebih singkat. Setelah
program dalam bahasa C ditulis dan dilakukan kompilasi tidak terdapat kesalahan
(error) maka proses download dapat dilakukan. Mikrokontroler AVR mendukung
sistem download secara In Sistem Programming (ISP). Untuk selanjutnya fasilitas-
fasilitas lainnya dapat disetting sesuai kebutuhan dari pemrograman.

Universitas Sumatera Utara


30

Gambar 3.6 Tampilan Jendela Program Arduino AVR

Untuk memprogram board Arduino, kita butuh aplikasi IDE (Integrated


Development Environment) bawaan dari Arduino. Aplikasi ini berguna untuk
membuat, membuka, dan mengedit source code Arduino. Sketch merupakan source
code yang berisi logika dan algoritma yang akan diupload ke dalam IC
mikrokontroller (Arduino).

3.2.3.1 Flowchart Sistem


Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses
lainnya dalam suatu program. Dalam pembuatan sistem yang dilakukan menghasilkan
flowchart sebagai berikut :

Universitas Sumatera Utara


31

A. Flowchart sistem transmitter

START

INISIALISASI
PROGRAM

SENSOR MPU6050
MEMBERI INPUT DATA

MOTOR DC 1 PIN 1 = 0 MOTOR DC1


PIN 2 = 1 MOTOR DC2 PIN 1 = 0
MOTOR DC 2 PIN 2 = 1 DEPAN

MOTOR DC 1 PIN 1 = 1 MOTOR DC 1


PIN 2 = 0 MOTOR DC 2 PIN 1 = 1 BELAKANG
MOTOR DC 2 PIN 2 = 0

MOTOR DC 1 PIN 1 = 1 MOTOR DC1


PIN 2 = 0 MOTOR DC 2 PIN 1 = 0 KANAN
MOTOR DC2 PIN 2 = 1

MOTOR DC 1 PIN 1 = 0 MOTOR DC 1


PIN 2 = 1 MOTOR DC 2 PIN 1 = 1 KIRI
MOTOR DC 2 PIN 2 = 0

SELESAI

Universitas Sumatera Utara


32

B. flowchart sistem receiver


INISIALISASI
PROGRAM

ARDUINO MENERIMA
INPUTAN SINYAL DARI
NRF24L01

TIDAK
DRIVER L298N IN 1 = 0
APAKAH DRIVER L298N IN 2 = 0
MAJU? DRIVER L298N IN 3 = 0
DRIVER L298N IN 4 = 0
YA

DRIVER L298N IN 1 = 0
DRIVER L298N IN 2 = 1
DRIVER L298N IN 3 = 0
DRIVER L298N IN 4 = 1

TIDAK
APAKAH DRIVER L298N IN 1 = 0
MUNDUR? DRIVER L298N IN 2 = 0
DRIVER L298N IN 3 = 0
YA DRIVER L298N IN 4 = 0

DRIVER L298N IN 1 = 1
DRIVER L298N IN 2 = 0
DRIVER L298N IN 3 = 1
DRIVER L298N IN 4 = 0

TIDAK
APAKAH
DRIVER L298N IN 1 = 0
KANAN?
DRIVER L298N IN 2 = 0
DRIVER L298N IN 3 = 0
YA DRIVER L298N IN 4 = 0

DRIVER L298N IN 1 = 0
DRIVER L298N IN 2 = 1
DRIVER L298N IN 3 = 1
DRIVER L298N IN 4 = 0

TIDAK
DRIVER L298N IN 1 = 0
APAKAH
DRIVER L298N IN 2 = 0
KIRI?
DRIVER L298N IN 3 = 0
DRIVER L298N IN 4 = 0
YA

DRIVER L298N IN 1 = 1
DRIVER L298N IN 2 = 0
DRIVER L298N IN 3 = 0
DRIVER L298N IN 4 = 1

SELESAI

Universitas Sumatera Utara


33

3.3 Pengujian Rangkaian Dan Pengukuran Hasil Sistem


3.3.1 Pengujian rangkaian mikrokontroler
Agar dapat mengetahui rangkaian mikrokontroler yang dibuat memang sudah
dapat beroperasi, maka dilakukanlah pengujian rangkaian mikrokontroler. Pengujian
dilakukan dengan cara memasukkan program ke mikrokontroler, dan kemudian
melihat apakah mikrokontroler dapat mengeksekusi program yang dibuat. Berikut
merupakan program yang dimasukkan pada saat pengujian rangkaian
mikrokontroler:

void setup() {
pinMode(4, OUTPUT);
}

void loop() {
digitalWrite(4, HIGH);
delay(1000);
digitalWrite(4, LOW);
delay(1000);
}

Program ditujukan untuk mengedipkan Led yang terhubung pada pin 4 pada
rangkaian mikrokontroler dengan jeda waktu kedip 1 detik. Jika led yang terhubung
pada pin 4 sudah dapat berkedip dengan jeda 1 detik ketika program tersebut
dieksekusi mikrokontroler, maka dapat dikatakan rangkaian mikrokontroler yang
dibuat sudah dapat bekerja dengan normal.

3.3.2 Pengujian Modul 2,4GHz nRF24L01


Untuk mengetahui apakah rangkaian interface antara module nRF24L01
dengan mikrokontroler sudah dapat bekerja dengan baik, maka dilakukanlah
pengujian. Pengujian ini dilakukan dengan cara membuat rangkaian pengirim data
dan penerima data sesuai dengan gambar rangkaian yang sudah diberikan

Universitas Sumatera Utara


34

sebelumnya. Setelah itu, pada rangkaian pengirim data diupload program ke


mikrokontroler sebagai berikut:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(9, 8
const byte address[6] = "00001";

void setup()
{
radio.begin();
radio.openWritingPipe(address);
radio.stopListening();
}
void loop()
{
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}

Setelah itu, diupload program berikut ini ke mikrokontroler rangkaian


penerima data:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(9, 8);


const byte address[6] = "00001";

void setup()
{
while (!Serial);

Universitas Sumatera Utara


35

Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.startListening();
}

void loop()
{
if (radio.available())
{
char text[32] = {0};
radio.read(&text, sizeof(text));
Serial.println(text);
}
}

Kemudian diperhatikan pada serial monitor akan terdapat data sebagai


berikut:

Gambar 3.7 Pengujian NRF24L01 dengan adanya halangan dengan


tampilan serial monitor

Universitas Sumatera Utara


36

Tabel 3.1 Pengujian NRF24L01

No Jarak (m) Status Data

1 5 Terkirim

2 10 Terkirim

3 15 Terkirim

4 25 Terkirim

5 30 Terkirim

6 30.1 Tidak Terkirim

3.3.3 Pengujian MPU-6050


Untuk mengetahui sensor ini dapat bekerja dengan baik, maka dilakukan
pengujian dengan memprogram mikrokontroller, dengan tujuan untuk memastikan
sensor dapat mendeteksi Accelerometer atau tidak. Program dapat dilihat sebagai
berikut:

#include <Wire.h>

#include <MPU6050.h>

MPU6050 mpu;

void setup()

Serial.begin(115200);

Serial.println("Initialize MPU6050");

Universitas Sumatera Utara


37

Serial.println("Initialize MPU6050");

while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))

Serial.println("Could not find a valid MPU6050 sensor, check wiring!");

delay(500);

mpu.calibrateGyro();

mpu.setThreshold(3);

checkSettings();

void checkSettings()

Serial.println();

Serial.print(" * Sleep Mode: ");

Serial.println(mpu.getSleepEnabled() ? "Enabled" : "Disabled");

Serial.print(" * Clock Source: ");

switch(mpu.getClockSource())

case MPU6050_CLOCK_KEEP_RESET: Serial.println("Stops the clock and


keeps the timing generator in reset"); break;

case MPU6050_CLOCK_EXTERNAL_19MHZ: Serial.println("PLL with


external 19.2MHz reference"); break;

Universitas Sumatera Utara


38

case MPU6050_CLOCK_EXTERNAL_32KHZ: Serial.println("PLL with external


32.768kHz reference"); break;

case MPU6050_CLOCK_PLL_ZGYRO: Serial.println("PLL with Z axis


gyroscope reference"); break;

case MPU6050_CLOCK_PLL_YGYRO: Serial.println("PLL with Y axis


gyroscope reference"); break;

case MPU6050_CLOCK_PLL_XGYRO: Serial.println("PLL with X axis


gyroscope reference"); break;

case MPU6050_CLOCK_INTERNAL_8MHZ: Serial.println("Internal 8MHz


oscillator"); break;

Serial.print(" * Gyroscope: ");

switch(mpu.getScale())

case MPU6050_SCALE_2000DPS: Serial.println("2000 dps"); break;

case MPU6050_SCALE_1000DPS: Serial.println("1000 dps"); break;

case MPU6050_SCALE_500DPS: Serial.println("500 dps"); break;

case MPU6050_SCALE_250DPS: Serial.println("250 dps"); break;

Serial.print(" * Gyroscope offsets: ");

Serial.print(mpu.getGyroOffsetX());

Serial.print(" / ");

Serial.print(mpu.getGyroOffsetY());

Serial.print(" / ");

Serial.println(mpu.getGyroOffsetZ());

Serial.println();

Universitas Sumatera Utara


39

3.3.4 Pengujian Motor Driver


Driver motor yang digunakan menggunakan IC IRF540 dan di rangkai secara
H bridge. Pada rangkaian ini menggunakan 2 Motor sehingga membutuhkan
2 rangkaian H bridge. Untuk pengujian rangkaian H bridge ini membuathkan
2 pin PWM, jadi dengan dua motor membutuhkan 4 pin PWM, unutk
pengujian driver motor ini dengna program sebagai berikut:
int ENA=9; int ENB=6; int
ENC=10; int END=5; void
setup(){
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
pinMode(ENC,OUTPUT);
pinMode(END,OUTPUT);
} void loop(){
analogWrite(ENA, 0);
analogWrite(ENB,100);
analogWrite(ENC, 0);
analogWrite(END,100);
delay(5000); analogWrite(ENA,
200); analogWrite(ENB,125);
analogWrite(ENC, 200);
analogWrite(END,125);
delay(5000);
}

Jika Motor berputar kekanan selama 5 detik dan kekiri selama 5 detik, maka
driver dapat bekerja dengan baik.

3.3.5 Pengujian gestur tangan


pengujian gerakan robot dilakukan dengan memprogram sistem
menggunakan bahasa pemrograman arduino dan diuji menggunakan gestur tangan
sebagai pengontrol gerakan robot sebagai berikut:

#include <SPI.h> //SPI library for communicate with the nRF24L01+

Universitas Sumatera Utara


40

#include "RF24.h" //The main library of the nRF24L01+

#include "Wire.h" //For communicate

#include "I2Cdev.h" //For communicate with MPU6050

#include "MPU6050.h" //The main library of the MPU6050

//Define the object to access and cotrol the Gyro and Accelerometer (We don't use
the Gyro data)

MPU6050 mpu;

int16_t ax, ay, az;

int16_t gx, gy, gz;

//Define packet for the direction (X axis and Y axis)

int data[2];

//Define object from RF24 library - 9 and 10 are a digital pin numbers to which
signals CE and CSN are connected.

RF24 radio(9,10);

//Create a pipe addresses for the communicate

const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void){

Universitas Sumatera Utara


41

Serial.begin(9600);

Wire.begin();

mpu.initialize(); //Initialize the MPU object

radio.begin(); //Start the nRF24 communicate

radio.openWritingPipe(pipe); //Sets the address of the receiver to which the


program will send data.

void loop(void){

//With this function, the acceleration and gyro values of the axes are taken.

//If you want to control the car axis differently, you can change the axis name in the
map command.

mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

//In two-way control, the X axis (data [0]) of the MPU6050 allows the robot to
move forward and backward.

//Y axis (data [0]) allows the robot to right and left turn.

data[0] = map(ax, -17000, 17000, 300, 400 ); //Send X axis data

data[1] = map(ay, -17000, 17000, 100, 200); //Send Y axis data

radio.write(data, sizeof(data));

Universitas Sumatera Utara


42

Gambar 3.8 Pengujian sistem gestur tangan

Tabel 3.2 Pengujian Gerak gestur tangan

No Gerak Gerstur Data Driver


L298N 1

1 Depan 0101

2 Belakang 1010

3 Kanan 0110

4 Kiri 1010

#include <SPI.h> //SPI library for communicate with the nRF24L01+

#include "RF24.h" //The main library of the nRF24L01+

#include "Wire.h" //For communicate

#include "I2Cdev.h" //For communicate with MPU6050

Universitas Sumatera Utara


43

#include "MPU6050.h" //The main library of the MPU6050

//Define the object to access and cotrol the Gyro and Accelerometer (We don't use
the Gyro data)

MPU6050 mpu;

int16_t ax, ay, az;

int16_t gx, gy, gz;

//Define packet for the direction (X axis and Y axis)

int data[2];

//Define object from RF24 library - 9 and 10 are a digital pin numbers to which
signals CE and CSN are connected.

RF24 radio(9,10);

//Create a pipe addresses for the communicate

const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void){

Serial.begin(9600);

Wire.begin();

mpu.initialize(); //Initialize the MPU object

Universitas Sumatera Utara


44

radio.begin(); //Start the nRF24 communicate

radio.openWritingPipe(pipe); //Sets the address of the receiver to which the


program will send data.

void loop(void){

//With this function, the acceleration and gyro values of the axes are taken.

//If you want to control the car axis differently, you can change the axis name in the
map command.

mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

//In two-way control, the X axis (data [0]) of the MPU6050 allows the robot to
move forward and backward.

//Y axis (data [0]) allows the robot to right and left turn.

data[0] = map(ax, -17000, 17000, 300, 400 ); //Send X axis data

data[1] = map(ay, -17000, 17000, 100, 200); //Send Y axis data

radio.write(data, sizeof(data));

3.3.6 Pengujian Mikrokontroler Arduino Pada Robot


Pada tahap ini dilakukan pengujian pada sistem pada robot meliputi motor
driver dan pergerakan roda dengan memprogram sistem menggunakan bahasa
pemrograman arduino sebagai berikut:

Universitas Sumatera Utara


45

#include <SPI.h>

#include "RF24.h"

const int enbA = 3;

const int enbB = 5;

const int IN1 = 2; //Right Motor (-)

const int IN2 = 4; //Right Motor (+)

const int IN3 = 7; //Left Motor (+)

const int IN4 = 6; //Right Motor (-)

int RightSpd = 130;

int LeftSpd = 150

//Define packet for the direction (X axis and Y axis)

int data[2];

RF24 radio(9,10);

const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(){

//Define the motor pins as OUTPUT

pinMode(enbA, OUTPUT);

pinMode(enbB, OUTPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

Universitas Sumatera Utara


46

pinMode(IN4, OUTPUT);

Serial.begin(9600);

radio.begin();

//Start the nRF24 communicate

radio.openReadingPipe(1, pipe);

//Sets the address of the transmitter to which the program will receive data.

radio.startListening();

void loop(){

if (radio.available()){

radio.read(data, sizeof(data));

if(data[0] > 380){

//forward

analogWrite(enbA, RightSpd);

analogWrite(enbB, LeftSpd);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

Universitas Sumatera Utara


47

if(data[0] < 310){

//backward

analogWrite(enbA, RightSpd);

analogWrite(enbB, LeftSpd);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

if(data[1] > 180){

//left

analogWrite(enbA, RightSpd);

analogWrite(enbB, LeftSpd);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

Universitas Sumatera Utara


48

if(data[1] < 110){

//right

analogWrite(enbA, RightSpd);

analogWrite(enbB, LeftSpd);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

if(data[0] > 330 && data[0] < 360 && data[1] > 130 && data[1] < 160){

//stop car

analogWrite(enbA, 0);

analogWrite(enbB, 0);

Universitas Sumatera Utara


49

Gambar 3.9 Pengujian Sistem Robot

Tabel 3.3 Pengujian pada sistem robot

No Data Driver Roda


L298N 1

1 0101 Bergerak Maju

2 1010 Bergerak
Mundur

3 0110 Belok Kanan

4 1010 Belok Kiri

3.4 Perancangan dan Pembuatan Sistem Gestur Tangan (RX)


Dalam Perancangan sistem alat ini diperlukan sebuah Baterai 9V sebagai sumber
daya, Arduino Nano, MPU-6050, dan NRF24L01 yang masing masing terhubung ke
arduino nano yang ditunjukkan pada tabel 3.1, tabel 3.2 dan keseluruhan gambar
pada pembuatan sistem gestur tangan ditunjukkan pada gambar 3.2 dibawah ini :

Universitas Sumatera Utara


50

Tabel 3.4 Pin MPU-6050 ke Arduino Nano


MPU-6050 ARDUINO
NANO
VCC 3.3 V

GND GND

INT PIN 2

SCL PIN A5

SDA PIN A4

Tabel 3.5 PIN NRF24L01 ke Arduino Nano

NRF24L01 ARDUINO NANO


VCC 5V
GND GND
CE PIN9
CSN PIN10
SCK PIN13
MOSI PIN11
MISO PIN12

Universitas Sumatera Utara


51

Gambar 3.10 Sistem Gestur Tangan (RX)

3.5 Perancangan dan Pembuatan Sistem Robot (TX)


Dalam Perancangan sistem alat ini diperlukan dua buah Baterai 3.7V sebagai
sumber sumber daya, Arduino Nano, Driver Motor L298N, dan NRF24L01 yang
masing masing terhubung ke arduino nano yang ditunjukkan pada tabel 3.3, tabel 3.4
dan keseluruhan gambar pada pembuatan sistem gestur tangan ditunjukkan pada
gambar 3.3 dibawah ini :

Tabel 3.6 PIN Motor Driver L298N ke Arduino Nano

Driver Motor L298N ARDUINO NANO

ENA PWM 3

ENB PWM 5

IN1 PIN 4

IN2 PIN 2

IN3 PIN 7

IN4 PIN 6

Universitas Sumatera Utara


52

Gambar 3.7 Sistem Robot (TX)

Universitas Sumatera Utara


53

BAB 4

PENGUJIAN DAN ANALISA DATA

4.1 Pengujian Kecepatan Laju pada robot


Pada Pengujian ini dapat diketahui sejauh mana robot dapat menerima sinyal
dengan nilai kecepatan yang dikirim oleh modul MPU-6050 melalui sinyal
NRF24L01, untuk mengetahui laju pada robot dapat digunakan sumbu Y pada
Modul MPU-6050 dengan nilai sinyal analog 27.42°.
Berikut ini adalah hasil pengujiannya:
Tabel 4.1 Data Pengujian Pada Laju kecepatan Robot
No Waktu Jarak Kecepatan NRF24L01
1 11.7 5 0.427 Menerima
Sinyal
2 22.4 10 0.446 Menerima
Sinyal
3 33.3 15 0.450 Menerima
Sinyal
4 44.2 20 0.452 Menerima
Sinyal
5 55.1 25 0.454 Menerima
Sinyal
6 66.4 30 0.452 Menerima
Sinyal
7 66.7 30 0 Tidak
Menerima
Sinyal
Kecepatan Rata-Rata = 0.457

Dari Tabel diatas dapat diketahui bahwa jangkauan sinyal NRF24L01 hanya
dapat mengirim sinyal sejauh 30 meter dengan kecepatan rata – rata 0,457m/s.

Universitas Sumatera Utara


54

4.2 Perbandingan sudut pembacaan modul MPU-6050 dengan sudut


Sebenarnya pada sumbu X dan Y
Pada pengujian ini dapat diketahui berapa persen error pada modul MPU-6050
sebagai gerakan gestur tangan terhadap sistem robot.
Tabel 4.2 Perbandingan sudut X pada modul MPU-6050 dengan sudut sebenarnya
Sudut Sudut X pada MPU-6050 Sudut
No pada rata-rata Error %
busur 1 2 3 MPU-
6050
1 20 ° 20.08 20.15 20.05 20.09 0.45 %
2 40 ° 40.66 40.22 40.13 40.03 0.75 %
3 60 ° 60.41 60.07 60.35 60.27 0.43 %
4 80 ° 80.15 80.07 80.56 80.18 0.22 %
5 100 ° 100.17 100.08 100.33 100.19 0.19 %
6 120 ° 120.12 120.30 120.12 120.18 0.21 %
7 140 ° 140.01 140.13 140.24 140.12 0.16 %
8 160 ° 160.66 160.82 160.70 160.07 0.11 %
9 180 ° 180.21 180.33 180.41 180.31 0.55 %
Total Error = 0,32 %

Berdasarkan pada tabel diatas dapat diketahui bahwa persen error pada modul
MPU-6050 di sudut X adalah 0,32% .
Berikut Grafik modul MPU-6050 pada sudut X :

Gambar 4.1 Grafik Sudut X Pada MPU-6050

Universitas Sumatera Utara


55

Tabel 4.3 Perbandingan sudut Y pada modul MPU-6050 dengan sudut sebenarnya
Sudut Sudut Y pada MPU-6050 Sudut
No pada rata-rata Error %
busur 1 2 3 MPU-
6050
1 20 ° 20.03 20.13 20.10 20.08 0.4 %
2 40 ° 40.20 40.06 40.08 40.11 0.27 %
3 60 ° 60.29 60.60 60.20 60.20 0.57 %
4 80 ° 80.41 80.04 80.10 80.10 0.22 %
5 100 ° 100.10 100.20 100.23 100.23 0.17 %
6 120 ° 120.54 121.09 121.94 121.94 0.62 %
7 140 ° 140.70 140.39 140.86 140.86 0.91 %
8 160 ° 160.52 160.21 160.34 160.34 0.56 %
9 180 ° 180.62 180.59 180.31 180.30 0.88 %
Total Error = 0,48 %

Berdasarkan pada tabel diatas dapat diketahui bahwa persen error pada modul
MPU-6050 di sudut Y adalah 0,48% .
Berikut Grafik modul MPU-6050 pada sudut Y :

Gambar 4.2 Grafik Sudut Y Pada MPU-6050

Universitas Sumatera Utara


56

BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan pengimplementasian yang telah dilakukan dapat diambil
kesimpulan yaitu Sistem Robot dan gestur tangan yang dirancang telah dapat bekerja
seperti yang telah direncanakan.
1. MPU-6050 berfungsi sebagai sensor perintah untuk menjalankan perintah yang
bekerja pada sudut Y dengan sinyal analog 27.42° saat melaju
2. MPU-6050 memiliki Sumbu X dan Y dengan nilai error pada X sebesar 0,32 %
dan Y sebesar 0,48 %
3. NRF24L01 berfungsi sebagai perintah untuk mengirim dan menerima sinyal
data yang bekerja dengan jangkauan maksimal 30 meter atau 0,457 m/s
4. Mikrokontroller Arduino berfungsi sebagai pengontrol, penerima, pengirim dan
pengolah data pada Robot Beroda yang dikendalikan oleh Kendali Gestur
Tangan.

5.2 Saran
Beberapa hal saran yang harus disampaikan pada pengimplementasian ini
adalah:
1. Modul MPU-6050 tidak bisa menentukan kecepatan berdasarkan sudut pada
modul MPU-6050 yaitu sudut X dan Y
2. Sinyal yang dihasilkan pada NRF24L01 terbatas hanya bisa sampai 30 meter.

Universitas Sumatera Utara


57

DAFTAR PUSTAKA

Hasan, U. Z., Asif, A. J., Khan, M. A. & Safwan, T. F., 2018. A simple and effective
way of controlling a robot by hand gesture. International Conference on Intelligent
Computing and Control Systems (ICICCS), 11 January.p. 1.

S., R. P. & B. A., 2016. Sistem Pengenalan Gestur Tangan Untuk Kendali Gerak
Mobile Robot Berbasis Pengolahan Citra. Volume 4.

Christina, M., Javier, V., Ramon, M. & Fransisco, P. J., 2015. Real-Time Hand
Tracking and Gesture Recognition for Human-Computer Interaction. 5(3).

Winoto, Ardi. 2008. Mikrokontroler AVR ATMEGAAA8/328535 dan Pemogramanya


dengan bahasa c pada WinAVR. Jakarta: Penerbit Informatika.

Kadir, A. 2017. Pemrograman Arduino dan Processing. Jakarta : PT Elex Media


Komputindo.

Elektur. 1996. Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta:


percetakan PT.Gramedia.

Setiawan, Iwan, Jakarta,2008.“Aplikasi Mikrokontroller”, Elex Media Komputindo,.

Sudjadi, 2005. Teori dan Aplikasi Mikrokontroler. Graha Ilmu, Yogyakarta.

Firmansyah, S, 2015. Proyek Robotik Keren dengan Arduino. Jakarta: PT. Elex
Media Komputindo.

https://www.nyebarilmu.com/tutorial-arduino-mengakses-module-accelorometer-
gyroscope-mpu6050/

Diakses Pada Tanggal 20 Juni 2020

https://www.nyebarilmu.com/cara-mengakses-module-wireless-nrf24l01-
menggunakan-arduino/

Diakses Pada Tanggal 20 Juni 2020

https://www.nyebarilmu.com/tutorial-arduino-mengakses-driver-motor-l298n/

Diakses Pada Tanggal 20 Juni 2020

Universitas Sumatera Utara


58

Universitas Sumatera Utara


59

Universitas Sumatera Utara


60

Universitas Sumatera Utara


61

Universitas Sumatera Utara

Anda mungkin juga menyukai