bab ii dasar teori...7 2.3.1. mikrokontroler at-mega 328 arduino adalah sebuah board mikrokontroler...

12
5 BAB II DASAR TEORI Pada Bab ini dibahas mengenai dasar teori dan hubungan antar perangkat keras yang digunakan yaitu mikrokontroler, SRF-05, photointerrupter, bluetooth HC-05. Selain itu juga akan dibahas perangkat lunak yang digunakan untuk membuat program aplikasi berbasis android sistem berikut ini beberapa teori pendukung yang digunakan sebagai acuan skripsi ini. 2.1. Kajian Pustaka PEMBUATAN PERANGKAT LUNAK BERBASIS DIAGRAM ALIR UNTUK MENGONTROL ROBOT Pada [1] dijalaskan tentang perancangan robot dengan pengendali menggunakan diagram alir dengan cara membuat suatu perangkat lunak berbasis diagram alir menggunakan simbol-simbol dari tiap blok diagram yang memiliki perintah untuk menggerakkan robot. Perintah ini berupa source code yang dikirim dari PC ke mikrokontroler AT89S52. Mikrokontroler menampilkan simulasi berdasarkan diagram alir yang dibuat pada perangkat lunak. Simulasi output dari perangkat lunak ditunjukkan pada port 0 mikrokontroler, sedangkan simulasi input dari perangkat lunak ditunjukkan pada port 1 mikrokontroler. Simulasi output yang dihasilkan sesuai dengan diagram alir pada perangkat lunak, yang dibuat dapat digunakan untuk mengontrol robot. Untuk dapat diimplementasikan secara langsung pada robot, diperlukan perangkat tambahan seperti driver, ADC (analog to digital converter), DAC (digital to analog converter). 2.2. Diagram Alir Untuk memudahkan dalam membuat sebuah program. Langkah pertama yang dapat dilakukan oleh programmer adalah dengan membuat diagram alir. Diagram alir dapat membantu programmer untuk memahami alur dari program yang akan dibuat. Diagram alir

Upload: others

Post on 21-Apr-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

5

BAB II

DASAR TEORI

Pada Bab ini dibahas mengenai dasar teori dan hubungan antar perangkat keras yang

digunakan yaitu mikrokontroler, SRF-05, photointerrupter, bluetooth HC-05. Selain itu juga

akan dibahas perangkat lunak yang digunakan untuk membuat program aplikasi berbasis

android sistem berikut ini beberapa teori pendukung yang digunakan sebagai acuan skripsi

ini.

2.1. Kajian Pustaka

PEMBUATAN PERANGKAT LUNAK BERBASIS DIAGRAM ALIR UNTUK

MENGONTROL ROBOT

Pada [1] dijalaskan tentang perancangan robot dengan pengendali menggunakan

diagram alir dengan cara membuat suatu perangkat lunak berbasis diagram alir

menggunakan simbol-simbol dari tiap blok diagram yang memiliki perintah untuk

menggerakkan robot. Perintah ini berupa source code yang dikirim dari PC ke

mikrokontroler AT89S52. Mikrokontroler menampilkan simulasi berdasarkan diagram alir

yang dibuat pada perangkat lunak. Simulasi output dari perangkat lunak ditunjukkan pada

port 0 mikrokontroler, sedangkan simulasi input dari perangkat lunak ditunjukkan pada port

1 mikrokontroler. Simulasi output yang dihasilkan sesuai dengan diagram alir pada

perangkat lunak, yang dibuat dapat digunakan untuk mengontrol robot. Untuk dapat

diimplementasikan secara langsung pada robot, diperlukan perangkat tambahan seperti

driver, ADC (analog to digital converter), DAC (digital to analog converter).

2.2. Diagram Alir

Untuk memudahkan dalam membuat sebuah program. Langkah pertama yang

dapat dilakukan oleh programmer adalah dengan membuat diagram alir. Diagram alir dapat

membantu programmer untuk memahami alur dari program yang akan dibuat. Diagram alir

Page 2: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

6

dapat membantu dalam membuat source code karena logika dari program tersebut telah

dirancang di dalam diagram alir. Diagram alir dapat digunakan mulai dari bahasa

pemrograman tingkat rendah sampai dengan bahasa pemrograman tingkat tinggi.

Pemrograman fungsional ataupun pemrograman berorientasi objek, semuanya menggunakan

diagram alir dalam analisis pembuatan design nya.

Tabel 2.1 Tabel diagram alir [2]

2.3. Perangkat Keras

Pada tugas akhir ini digunakan perangkat keras untuk mendukung pengerjaan trainer

robotika diantaranya adalah mikrokontroler,SRF-05, modul bluetooth, driver motor L298

dan photointerrupter. Berikut ini penjelasan dari setiap perangkat keras yang akan

digunakan dalam tugas akhir ini :

Page 3: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

7

2.3.1. Mikrokontroler AT-Mega 328

Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino

memiliki 14 pin input/output yang mana 6 pin dapat digunakan sebagai output PWM (Pulse

with modulation), 6 analog input, crystal osilator 16 MHz, koneksi USB, jack power, ICSP,

dan tombol reset. Arduino mampu men-support mikrokontroler dapat dikoneksikan dengan

komputer menggunakan kabel usb.

Gambar 2.1 Board Arduino Uno

Arduino merupakan sebuah board minimum sistem mikrokontroler yang bersifat

open source. Di dalam rangkaian board arduino terdapat mikrokontroler AVR seri At-Mega

328 yang merupakan produk dari Atmel. Arduino memiliki kelebihan tersendiri dibanding

board mikrokontroler yang lain selain bersifat open source, Arduino juga mempunyai

bahasa pemrogramanya sendiri yang berupa bahasa C. Selain itu dalam board arduino

sendiri sudah terdapat loader yang berupa usb. Port usb tersebut digunakan untuk upload

program ke dalam mikrokontroler, selain itu port usb tersebut bisa juga difungsikan sebagai

port komunikasi serial. Arduino menyediakan 20 pin I/O, yang terdiri dari 6 pin input

analog dan 14 pin digital input/output. Untuk 6 pin analog sendiri bisa juga difungsikan

sebagai output digital jika diperlukan output digital tambahan selain 14 pin yang sudah

tersedia. Untuk mengubah pin analog menjadi digital cukup mengubah konfigurasi pin pada

program. Dalam board terlihat bahwa pin I/O digital diberi keterangan 0-13, jadi untuk

menggunakan pin analog menjadi output digital, pin analog yang pada keterangan board 0-

Page 4: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

8

5 kita ubah menjadi pin 14-19. dengan kata lain pin analog 0-5 berfungsi juga sebagi pin

output digital 14-16 [3].

Berikut ini adalah konfigurasi dari Arduino uno:

1. Mikronkontroler At-Mega 328.

2. Beroperasi pada tegangan 5V.

3. Tegangan input (rekomendasi) 7 - 12V.

4. Batas tegangan input 6 - 20V.

5. Pin digital input/output 14 (6 mendukung output pwm).

6. Arus pin per input/output 40 mA.

7. Arus untuk pin 3.3V adalah 50 mA.

8. Flash Memory 32 KB (At-Mega 328) yang mana 2 KB digunakan oleh bootloader.

9. SRAM 2 KB (At-Mega 328).

10. EEPROM 1KB (At-Mega 328).

11. Kecepatan clock 16 MHz.

2.3.1.1. Sumber Tegangan pada Arduino

Arduino dapat diberikan power melalui koneksi usb atau power supply. Power

supply dapat menggunakan adaptor dc atau baterai. Adaptor dapat dikoneksikan dengan

menyambungkan jack adaptor pada koneksi port input supply. Board arduino dapat

dioperasikan menggunakan supply dari luar sebesar 6 - 20 volt. Jika supply kurang dari 7 V,

maka akan mengakibatkan pin 5 V akan menyuplai kurang dari 5 volt dan board bisa

menjadi tidak stabil. Jika menggunakan lebih dari 12 V, tegangan di regulator bisa menjadi

sangat panas dan menyebabkan kerusakan pada board. Rekomendasi tegangan ada pada 7 V

sampai 12 V. Penjelasan pada pin power adalah sebagai berikut :

1. Vin (Tegangan input)

Tegangan input ke board arduino ketika menggunakan tegangan dari luar (seperti

yang disebutkan 5 volt dari koneksi usb atau tegangan yang diregulasikan). Pengguna dapat

memberikan tegangan melalui pin ini, atau jika tegangan suplai menggunakan power jack,

aksesnya menggunakan pin ini.

Page 5: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

9

2. 5V

Regulasi power supply digunakan untuk power mikrokontroller dan komponen

lainnya pada board. 5V dapat melalui Vin menggunakan regulator pada board, atau supply

oleh usb atau supply regulasi 5V lainnya.

3. 3V3

Suplay 3.3 volt didapat oleh FTDI chip yang ada di board. Arus maksimal adalah

50mA.

4. Pin Ground

Berfungsi sebagai jalur ground pada arduino.

2.3.1.2. Memori

At-Mega 328 memiliki 32 KB (kilobyte) flash memory untuk menyimpan kode, juga

2 KB yang digunakan untuk bootloader. At-Mega 328 memiliki 2 KB untuk SRAM (Static

Random Access Memory) dan 1 KB untuk EEPROM (Electrically Erasable Programmable

Read-Only Memory).

2.3.1.3. Input dan Output

14 pin digital pada Arduino dapat digunakan sebagai input atau output,

menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Input/output

dioperasikan pada 5 volt. Setiap pin dapat menghasilkan atau menerima maksimal 40 mA

dan memiliki internal pull-up resistor (disconnected oleh default) 20-50 Kilo Ohm.

Beberapa pin memiliki fungsi sebagai berikut :

1. Serial : 0 rx (receiver) dan 1 tx (transmiter). Digunakan untuk menerima rx dan

mengirim tx ttl data serial. Pin ini terhubung pada pin yang berkoresponden dari usb ftdi

ke ttl chip serial.

Page 6: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

10

2. Interupt eksternal : 2 dan 3. Pin ini dapat dikonfigurasikan untuk trigger sebuah interupt

pada low value, rising atau falling edge, atau perubahan nilai.

3. PWM (pulse with modulation) : 3, 5, 6, 9, 10, dan 11. Mendukung 8-bit output pwm

dengan fungsi analogWrite().

4. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mensuport komunikasi spi, yang

mana masih mendukung hardware, yang tidak termasuk pada bahasa arduino.

5. Led : 13. Ini adalah dibuat untuk koneksi led ke digital pin 13. Ketika pin bernilai High,

led hidup, ketika pin low, led mati.

2.3.2. Sensor Ultra Sonic SRF-05

Sensor jarak adalah sebuah tranduser yang mampu mengukur jarak antara satu objek

dengan objek lainnya. Sebuah robot yang memiliki kecerdasan dapat bergerak tanpa

menabrak objek-objek yang ada di sekitarnya. Untuk itu diperlukan sensor jarak agar robot

dapat mendeteksi keberadaan objek-objek di sekitarnya. SRF-05 menggunakan gelombang

ultrasonik sebagai media pengukurannya

Gambar 2.2 Gambar SRF-05

Untuk mengukur jarak dengan SRF-05.Dengan Memberikan sebuah pulsa high

selama 10uS kepada pin trigger maka bagian transmitter SRF-05 akan memancarkan 8

cycle burst ultrasonik dengan frekuensi 40 kHz. Setelah ultrasonik dipancarkan maka SRF-

05 akan membuat pin echo menjadi high. Jika bagian receiver menerima pantulan ultrasonik

dari transmitter tadi maka pin echo akan dibuat low kembali. Lamanya waktu dari mulai

echo bernilai high sampai low lagi sekitar 100 us-18 ms. Namun jika receiver tidak

menerima gelombang pantulan atau tidak ada objek yang dideteksi maka echo tetap high

sampai kira-kira 36 ms. Untuk melakukan pengukuran kembali berikan waktu minimal

10ms dari saat echo menjadi low sebelum men-trigger SRF-05. Pin echo inilah yang harus

diukur dengan menggunakan fasilitas timer yang terdapat di mikrokontroler [4].

Page 7: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

11

Gambar 2.3 Diagram waktu SRF-05

2.3.3. Driver motor L298

Driver motor digunakan untuk mengontrol arah putaran dan kecepatan motor DC

yang merupakan penggerak utama dari rangkaian proyek akhir ini. IC driver motor L298

yang di dalamnya terdapat rangkaian H-bridge akan mengontrol putaran motor sesuai data

masukan digital yang berasal dari Mikrokontroler, dan pada IC L298 ini juga terdapat pin

untuk pengaturan aplikasi PWM (Pulse Width Modulator) yang akan mengatur kecepatan

motor DC yang dikendalikannya. L298 memiliki rangkaian dual H-bridge, sehingga mampu

mengendalikan dua buah motor DC sekaligus[5].

Karakteristik dari driver motor L298 adalah:

1. Tegangan operasi supply sampai dengan 36 Volt

2. Total arus DC sampai dengan 2A.

Page 8: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

12

3. Tegangan logic ”0” sampai dengan 1,5 Volt.

4. Memiliki dua Enable input.

Gambar 2.4 Driver motor L298

Fungsi dari tiap-tiap pin driver motor L298 adalah sebagai berikut:

1. Output 1 dan Output 2 (pin 2 dan pin 3)

Pin ini merupakan output untuk H-bridge A.

2. Vs (pin 4)

Merupakan pin supply tegangan untuk output.

3. Input 1 dan Input 2 (pin 5 dan pin 7)

Pin ini digunakan untuk mengontrol H-bridge A.

4. Enable 1 dan Enable 2 (pin 6 dan pin 11)

Pin ini berfungsi untuk mengaktifkan dan menonaktifkan H-bridge A dan H-bridge B.

5. Ground (pin 8)

Berfungsi sebagai grounding rangkaian driver.

6. Vss (pin 9)

Pin ini berfungsi sebagai supply logic untuk driver.

7. Input 3 dan Input 4 (pin 10 dan 12)

Page 9: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

13

Berfungsi sebagai masukan pada H-bridge B.

8. Output 3 dan Output 4 (13 dan 14)

Merupakan pin output untuk H-bridge B.

9. Current Sensing H-bridge A dan Current Sensing H-bridge B (1 dan 15)

Berfungsi untuk membatasi arus pada pin out dengan memasangkan resistor pada pin

tersebut kemudian di sambungkan dengan pin ground.

2.3.4. Photointerrupter

Photo Interrupter pada tugas akhir ini digunakan untuk menghitung putaran yang ada

pada roda robot . Agar mendapatkan jarak dari robot tersebut saat berjalan. Caranya adalah

dengan menempatkan sebuah piringan yg disertai lubang-lubang pada bibir piringan

tersebut pada sebuah motor. Jumlah lubang yang dideteksi oleh photo-interrupter dalam

selang waktu tertentu dapat merepresentasikan jarak dari robot tersebut saat berjalan [6].

Gambar 2.5 Untai photointerrupter

Kedua rangkaian di atas mempunyai perhitungan nilai hambatan R1 & R2 yang

sama, hanya saja logika outputnya yg berbeda.

Common-emittor

Jika terdapat halangan pada celah antara infrared dan phototransistor maka

phototransistor akan menghasilkan output high, jika tidak terhalang output low.

Page 10: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

14

Common-collector

Jika terdapat halangan pada celah antara infrared dan phototransistor maka

phototransistor akan menghasilkan output low, jika tidak terhalang output high.

Sedangkan untuk perhitungan nilai hambatannya untuk R1 pada transmiter dan R2

pada receiver adalah:

Bagian transmitter photo-interrupter terbuat dari sebuah led inframerah yang

mempunyai rating VF = 1,7 V dan IF = 20 mA (berdasarkan datasheet H21A3).

Sehingga dibutuhkan hambatan input infrared sebesar :

Untuk menghindari kerusakan pada infrared, nilai hambatan input yang dipakai

dapat diperbesar menjadi 180 Ω.

Bagian receiver photointerrupter terbuat dari phototransistor dengan rating

VCE(sat) = 0,4 V dan Ic(ON) = 4 mA

2.3.5. Bluetooth HC-05

Modul bluetooth to Serial HC 05 adalah modul bluetooth yang dapat di set sebagai

master atau sebagai slave. Mode master adalah mode di mana bluetooth tersebut dapat

mengirimkan dan menerima data sedangkan mode slave hanya dimungkinkan bluetooth

hanya dapat menerima data.

Page 11: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

15

Gambar 2.6 Bluetooth HC-05

Spesifikasi bluetooth HC-05 :

1. Menggunakan bluetooth Chip, dengan bluetooth standard ver.2.0.

2. Low supply voltage 3.3V.

3. Baudrate 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, dapat di set

sesuai dengan kebutuhan user.

4. Ukuran PCB : 28mm x 15 mm x 2.35mm.

5. Kebutuhan Arus : Pairing 20~30 mA. Setelah Pair: 8 mA.

6. Sleep Current:No Sleep.

7.Memiliki jangkauan 10 meter.

2.4. Perangkat Lunak

perangkat lunak yang digunakan untuk membuat aplikasi trainer robotika berbasis

android sistem diantaranya adalah Eclipse IDE, Android Development tools. Berikut ini

penjelasan dari aplikasi berikut :

Page 12: BAB II DASAR TEORI...7 2.3.1. Mikrokontroler AT-Mega 328 Arduino adalah sebuah board mikrokontroler yang berbasis At-Mega 328. Arduino memiliki 14 pin input/output yang mana 6 pin

16

2.4.1. Eclipse IDE

Eclipse adalah sebuah IDE (Integrated Development Environment) yang digunakan

untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform/OS. Oleh

karena itu dinamakan dengan platform-independent. Berikut ini adalah sifat dari Eclipse:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft windows, Linux,

Solaris, AIX, HP-UX dan Mac OS X.

2. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya,

seperti C++, Cobol Pyton, Perl, PHP, (hypertext prepocessor), dan lain sebagainya.

3. Multi-role : Selain sebagai IDE (Integrated Development Environment) untuk

pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus

pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak,

pengembangan web, dan lain sebagainya.

Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open

source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.

Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk

dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

2.4.2. Android Development Tools

Pada penjelasan sebelumnya mengenai perangkat lunak Eclipse. Dapat diketahui

bahwa Eclipse memiliki kemampuan yang bernama plug-in. Plug-in adalah semacam fungsi

atau fitur tambahan yang digabungkan ke sebuah sistem untuk menambah fitur dari system

tersebut . ADT (Android Development Tool) adalah salah satu jenis plug-in yang dirancang

untuk Perangkat lunak Eclipse yang memberikan fitur untuk membuat dan

mengembangkan aplikasi android.