Prototipe Robot Line Follower Pengantar Makanan Berbasis Mikrokontroller ATMega32 Menggunakan Algoritma Fuzzy

  BAB II LANDASAN TEORI

  2.1 Robotika

  2.1.1 Sejarah Robot Kata robot berasal dari Czech yaitu robot yang berarti bekerja. Istilah ini diperkenalkan ke publik oleh Karel Capek pada saat mementaskan RUR (Rossum’s

  

Universals Robots ) pada tahun 1921. Robot adalah peralatan eletro-mekanik atau bio-

  mekanik, atau gabungan peralatan yang menghasilkan gerakan yang otonomi maupun gerakan berdasarkan gerakan yang diperintahkan[3].

  Awal kemunculan robot dapat dirunut dari bangsa Yunani kuno yang membuat patung yang dapat dipindah-pindah. Pada tahun 270 SM, Ctesibus seorang insinyur Yunani, membuat organ dan jam air dengan komponen yang dapat dipindahkan. Pada zaman Nabi Muhammad SAW telah dibuat mesin perang dengan menggunakan roda dan dapat melontarkan bom. Bahkan Al-Jajari (1136-1206), seorang ilmuan Islam pada dinasti Artuqid, dianggap sebagai tokoh yang pertama kali menciptakan robot humanoid yang berfungsi sebagai 4 musisi.

  Robot adalah rangkaian peralatan mekanika dan elektronika yang di rangkai bersama-sama yang bekerja dan beroperasi sesuai dengan instruksi atau program. Robot yang selama ini kita kenal adalah sebuah mesin berbentuk manusia yang dapat berbicara dan berjalan layaknya manusia. Robot tersebut adalah salah satu jenis robot berdasarkan bentuknya yaitu kategori Android. Robot jenis ini berbentuk seperti kendaraan yang dilengkapi dengan roda dan bergerak seperti sebuah mobil.

  2.1.2 Karakteristik Robot Sebuah robot umumnya memiliki karakteristik sebagai berikut [3]:

  1. Sensing : Robot dapat mendeteksi lingkungan sekitarnya (halangan, panas, suara, dan image).

  6

  2. Mampu Bergerak : Robot umumnya bergerak dengan menggunakan kaki atau roda, dan pada beberapa kasus robot dapat terbang dan berenang.

  3. Cerdas : Robot memiliki kecerdasan buatan agar dapat memutuskan aksi yang tepat dan akurat.

  4. Membutuhkan Energi yang Memadai : Robot membutuhkan catu daya yang memadai.

  2.1.3 Tipe Robot Robot didesain dan dibuat sesuai kebutuhan pengguna. Robot, hingga saat ini, secara umum dibagi menjadi beberapa tipe sebagai berikut [3]:

  1. Robot manipulator

  2. Robot mobil (mobile robot)

  a. Robot daratan (ground robot) Robot beroda Robot berkaki

  b. Robot air (submarine robot)

  c. Robot terbang (aerial robot) Robot manipulator biasanya dicirikan dengan memiliki lengan (arm robot). Robot ini biasanya diterapkan pada dunia industri, seperti pada industri otomotif, elektronik dan komputer. Sedangkan robot mobil mengarah ke robot yang bergerak, meskipun nantinya robot ini juga memiliki manipulator.

  2.1.4 Line Follower Robot (Robot Pengikut Garis)

  

Line follower robot adalah robot yang didesain untuk dapat berjalan mengikuti garis

  yang membentuk sebuah alur mapping tertentu (biasanya garis yang dipakai berwana hitam atau putih)[4]. Beberapa hal yang perlu dalam merancang line follower robot ini adalah mekanika, elektronik, dan algoritma (software) dari robot.

  Line follower robot yang akan dibangun menggunakan dua motor penggerak dan

  sekaligus sebagai motor pengemudi, yaitu berupa motor kanan dan motor kiri,

  

photosensor sebagai pendeteksi garis, keypad sebagai input state awal dan akhir, LCD

  2x16 sebagai output, dan main board yang terdiri dari mikrokontroler ATMega32 dan driver motor DC.

2.2 Algoritma Fuzzy

  2.2.1 Logika Fuzzy Logika fuzzy pertama kali dikembangkan oleh Prof. Lotfi A. Zadeh, seorang peneliti dari Universitas California, pada tahun 1960-an. Logika fuzzy dikembangkan dari teori himpunan fuzzy [2].

  Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai

  dapat bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1(satu). Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak) [17].

  Logika Fuzzy merupakan seuatu logika yang memiliki nilai kekaburan atau

  kesamaran (fuzzyness) antara benar atau salah. Dalam teori logika fuzzy suatu nilai bias bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika digital yang hanya memiliki dua nilai 1 atau 0. Logika fuzzy digunakan untuk menterjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Logika fuzzy menunjukan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (scrisp)/tegas, suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah anggota himpunan.

  Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input

  kedalam suatu ruang output, mempunyai nilai kontinyu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama (Kusumadewi. 2004).

  Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat

  keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti "sedikit", "lumayan" dan "sangat" (Zadeh 1965). Kelebihan dari teori logika

fuzzy adalah kemampuan dalam proses penalaran secara bahasa (linguistic reasoning).

Sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan.

  2.3 Mikrokontroller ATMega32 Mikrokontroller merupakan sebuah kombinasi dari sebuah CPU, memori dan I/O yang terintegrasi dalam bentuk sebuah IC atau dapat disebut dengan single Chip.

  Mikrokontroller AVR (Alf and Vegard’s Risc Processor) standart memiliki arsitektur 8 –

  

bit, dimana semua intruksi dikemas dalam kode 16 – bit dan sebagian besar intruksi dalam

1 (satu) siklus clock. AVR berteknologi RISC (Reduced Intruction Set Computing)[8].

  Kontrol utama dari keseluruhan sistem pada penelitian ini ditangani oleh mikrokontroler AVR (Alf and Vegard’s Risc Processor) ATmega32. Mikrokontroler ini memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16 – bit, dan sebagian besar instruksinya dieksekusi dalam satu siklus clock. Kelebihan dari ATmega32 sehingga digunakan sebagai kontrol utama adalah sebagai berikut[8]: 1.

  Mempunyai performa yang tinggi (berkecepatan akses maksimum 16MHz) tetapi hemat daya.

2. Memori untuk program flash cukup besar yaitu 32Kb.

  3. Memori internal (SRAM) cukup besar yaitu 2Kb.

  4. Mendukung hubungan serial SPI.

  5. Tersedia 3 channel timer/counter (2 untuk 8 bits dan 1 untuk 16 bits).

Gambar 2.1 Bentuk Fisik Mikrokontroller ATMega32[8]

  Mikrokontroler Keluarga AVR secara umum dikelompokkan menjadi 6 (enam) kelompok, yaitu[15] : a. Keluarga ATtini : biasanya bentuk dimensinya kecil, ukuran memori kecil, jumlah pin masukan dan keluaran juga sedikit. b. Keluarga AT90Sxx : Merupakan mikrokontroler yang pertama kali dibuat oleh Atmel Corp.

  c. keluarga ATMega : Merupakan pengembangan mikrokontroler AT90Sxx dengan fitur yang lebih banyak.

  d. Keluarga AT86RFxx : Merupakan mikrokontroler berorientasi desai minimal.

  e. Keluarga AT90USBxx : Merupakan mikrokontroler yang berorientasi pemrograman USB.

  f. Keluarga AVR 32 Bit contohnya AP7000, UC3Axxxx, UC3Bxxx, UC3Lxx, dsb : Merupakan mikrokontroler dengan register dan instruksi dengan panjang 32 bit.

  Mikrokontroler ATMega32 adalah keluarga dari ATMega yang memiliki Arsitektur seperti gambar 2.2 berikut :

Gambar 2.2 Arsitektur Mikrokontroller ATMega32[15] Fitur-fitur yang dimiliki oleh ATMega32 adalah sebagai berikut[15]: a. Performa tinggi, mikrokontroler berdaya rendah.

  b. Mikrokontroler dengan arsitektur RISC 8 bit.

  1.

  131 kode instruksi dalam bahasa assembly, hampir semua membutuhkan satu clock untuk eksekusi.

  2. Mempunyai 32 x 8 bit register kerja kegunaan umum.

  3. Pengoprasian full static, artinya clock dapat diperlambat, bahkan dihentikan sehingga chip berada dalam kondisi sleep. CMOS juga lebih tahan terhadap

  noise .

  4. Kecepatan mengeksekusi sampai dengan 16 mega instruksi per detik pada saat diberikan osilator sebesar 16 MHZ.

  5. Terdapat rangkaian pengali 2 (dua) kali untuk siklus kerjanya di dalam chip.

  c. Flash EEPROM (Electrically Eraseable Programmable Read Only Memory) sebesar 32 kilobyte yang dapat diprogram ulang dan dengan kemampuan Read

  While Write .

  d. Ketahanan hapus-tulis Flash ROM adalah 10.000 kali dengan pengaturan pilihan kode boot dan Lock Bit yang independen.

  e. Memori SRAM sebesar 2 kilobyte yang dapat dihapus-tulis 100.000 kali.

  f. Penguncian kode program untuk keamanan perangakat lunak agar tidak dapat dibaca.

  g. Memori yang non-volatile EEPROM sebesar 1024 byte.

  h. Memiliki 2 buah timer/counter 8 bit sebanyak 2 buah dan sebuah timer/counter 16 bit dengan opsi PWM sebanyak 4 kanal. i. Memiliki 8 kanal Analog to Digital Converter 10 bit dengan jenis single ended. j. Untuk kemasan TQFP ADC dapat diatur 7 buah kanal jenis diferensial dan khusus 2 kanal dengan penguatan yang dapat diatur melalui registernya sebesar

  1x, 10x atau 20x. k. Antarmuka komunikasi serial USART yang dapat diprogram dengan kecepatan maksimal 2,5 Mbps. l. Antarmuka SPI master / slave. m. Watchdog timer dengan osilator di dalam chip yang dapat diprogram. n. Komparator Analog di dalam chip. o. Pendeteksian tegangan gagal yang dapat diprogram. p. Osilator RC internal yang terkalibrasi. q. Sumber interupsi internal dan eksternal. r. Pilihan Mode sleep : idle, pereduksi noise ADC, penghematan daya konsumsi, penurunan daya, kondisi standby. s.

  32 Pin masukan dan keluaran terprogram. t. Terdapat pilihan kemasan PDIP 40 pin,TQFP 44 kaki, QFN/MLF 44 titik. u. Tegangan pengoprasian 1.

  2,7 – 5,5 Volt untuk ATMega32L 2. 4,5 – 5,5 Volt untuk ATMega32 v. Kecepatan 1.

  0 – 8 MHz untuk ATMega32L 2. 0 – 16 MHz untuk ATMega32

  o w. Konsumsi daya pada 1 MHz, 3 Volt, suhu 25 C untuk ATMega32L.

1. Aktif : 1,1 Miliampere 2.

  Mode idle : 0,35 Miliampere 3. Mode power down : kurang dari 1 Mikroampere ATMega32 dapat dilihat pada Gambar 2.3 berikut.

Gambar 2.3 Penampang dan Konfigurasi Pin Mikrokontroller ATMega32[15] Konfigurasi Pin ATMega32 dapat dilihat pada table 2.1 berikut:

Tabel 2.1 Konfigurasi Pin ATMega32

  Nomor Pin Nama Fungsi

  10 VCC Catu daya positif 11, 31 GND Catu daya negative/ground

  30 AVCC Catu daya positif untuk ADC internal

  32 AREF Pin untuk tegangan referensi AADC 1 – 8 PB7…PB0 Pin masukan dan keluaran Port B 33 – 40 PA7…PA0 Pin masukan dan keluaran Port A 14 – 21 PD7…PD0 Pin masukan dan keluaran Port D 22 – 29 PC7…PC0 Pin masukan dan keluaran Port C

  9 RESET Pin masukan untuk reset (active low) 12, 13

  XTAL1 dan 2 Pin untuk masukan osilator eksternal Memori ATMega32 dapat dilihat pada gambar 2.4 berikut:

  (a) (b)

Gambar 2.4 : Memory ATMega32[15] (a) Flash Program Memory, (b) Data

  

Memory Untuk dapat menggunakan atau mengoprasikan mikrokontroller ATMega32, harus dibuat sistem minimum yang meliputi komponen antara lain : sumber tegangan (Vcc) sebesar 5V DC, Ground (Gnd) dan sistem reset. Mikrokontroller ATMega32 memiliki clock generator internal sebesar 1 MHz, sehingga mikrokontroller ini dapat bekerja langsung tanpa harus menggunakan clock external.

  Untuk membuat program mikrokotroler ATMega32 digunakan editor dan

  

compiler untuk bahasa C. Dalam pembahasan ini editor dan compiler yang digunakan

  adalah WinAVR. Setelah proses pembuatan dan kompilasi program selesai dilakukan akan diperoleh file intel hex (*.hex). File ini adalah file yang nantinya akan diprogramkan ke mikrokontroler ATMega32 melalui interface bsd programmer

  

(Brian Dean's Programmer) yang terhubung ke komputer melalui antarmuka port

  paralel komputer. Koneksi antara ATmega32 dan port paralel untuk bsd programmer diberikan oleh tabel 2.2.

Tabel 2.2 Koneksi Pin Port Paralel dan ATmega32

  Port Paralel ATMega32 No pin Nama pin No pin Nama pin

  7 D5

  9 Reset

  8 D6

  8 SCK

  9 D7

  6 MOSI

  10 S6

  7 MISO

  25 Ground

  11 Ground

  2.3.1 Car a Kerja Mikrokontroller Prinsip kerja mikrokontroler adalah sebagai berikut:

  Berdasarkan nilai yang berada pada register Program Counter, mikrokontroler mengambil data pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter. Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment) secara otomatis. Data yang diambil pada ROM merupakan urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna. Instruksi yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan pengubahan data. Program Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1, atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1. Demikian seterusnya hingga power dimatikan.

  2.4 Aktuator Aktuator adalah bagian yang berfungsi sebagai penggerak dari perintah yang diberikan oleh input. Aktuator biasanya merupakan peranti elektromekanik yang menghasilkan gaya gerakan. Aktuator terdiri dari 2 jenis, yaitu[3]: 1.

  Aktuator elektrik 2. Aktuator pneumatik dan hidrolik.

  Pada penelitian ini aktuator yang akan digunakan adalah aktuator elektrik yang berupa motor DC yang akan dijelaskan sebagai berikut :

2.4.1 Motor DC

  Motor DC adalah suatu mesin yang berfungsi untuk mengubah energi listik arus searah menjadi energi gerak atau energi mekanik. Motor yang paling sederhana untuk pengaktifannya. Motor DC terdiri dari dua bagian utama, yaitu rotor dan stator. Rotor adalah bagian yang berputar atau armature, berupa koil dimana arus listrik dapat mengalir. Stator adalah bagian yang tetap dan menghasilkan medan magnet dari koilnya[3].

  Prinsip kerja motor DC adalah jika kumparan dialiri arus listrik maka pada kedua kumparan akan bekerja gaya Lorentz. Pada gambar 2.5 dapat dilihat prinsip kerja gaya Lorentz, dimana gaya yang jatuh pada telapak tangan (F), jari yang direntangkan menunjukan arah medan magnet (B), ibu jari menunjukkan arah arus listrik(I).

Gambar 2.5 Prinsip Gaya Lorentz[18]

  

(Sumber: ht t p:/ / hyperphysics.phy-ast r.gsu.edu)

  Dengan berdasarkan pada prinsip gaya Lorentz, memberikan tegangan pada DC motor akan membuat motor berputar secara kontinyu ke arah tertentu. Membalik arah putaran motor dapat dilakukan dengan mengubah polaritas arus yang mengalir pada motor. Gambar 2.6 memperlihatkan arah perputaran motor DC berdasarkan polaritas arus yang mengalir.

  I I

Gambar 2.6 Ar ah perputaran motor DC[18]

  Motor DC biasanya mempunyai kecepatan putar yang cukup tinggi dan sangat cocok digunakan untuk roda robot yang membutuhkan kecepatan gerak yang tinggi. Pada penelitian ini motor DC digunakan sebagai penggerak utama robot line follower.

2.4.2 Motor Servo Standar

  Motor servo adalah motor DC yang dilengkapi dengan sistem kontrol. Sistem kontrol ini akan memberikan umpan balik posisi perputaran motor dari 0 sampai 180 derajat. Disamping itu motor ini juga memiliki torsi relatif cukup kuat. Gambar 2.7 menunjukkan penampang dan pengkabelan dari motor servo. Sistem pengkabelan motor servo terdiri atas 3 bagian, yaitu Vcc, Gnd, dan Kontrol (PWM= Pulse Width

  

Modulation ). Pemberian PWM pada motor servo akan membuat servo bergerak pada

posisi tertentu dan kemudian berhenti (kontrol posisi)[18].

Gambar 2.7 Motor servo dan konfigurasi pin[18]

  Prinsip utama dari pengendalian motor servo adalah pemberian nilai PWM pada kontrolnya. Frekuensi PWM yang digunakan pada pengontrol motor servo selalu

  50 Hz sehingga pulsa dihasilkan setiap 20 ms. Lebar pulsa akan menentukan posisi servo yang dikehendaki. Pemberian lebar pulsa 1,5 ms akan membuat motor servo berputar ke posisi netral (90 derajat), lebar pulsa 1,75 ms akan membuat motor servo berputar l;;\mendekati posisi 180 derajat, dan dengan lebar pulsa 1,25 ms motor servo akan bergerak ke posisi 0 derajat. Gambar 2.8 berikut memperlihatkan hubungan antara lebar pulsa PWM dengan arah putaran motor servo.

Gambar 2.8 Hubungan Lebar Pulsa PWM dengan Arah Putaran Motor

  Servo[18]

  2.4.3 Dr iver Motor DC L298

  IC H-Bridge driver motor DC L298 memiliki dua buah rangkaian H-Bridge di dalamnya, sehingga dapat digunakan untuk men-drive dua buah motor DC. H-Bridge

  

driver motor DC L298 masing-masing dapat mengantarkan arus hingga 2A. Namun,

  dalam penggunaannya, H-Bridge driver motor DC L298 dapat digunakan secara paralel, sehingga kemampuan menghantarkan dari H-Bridge driver motor DC L298 arusnya menjadi 4A. Konsekuensi dari pemasangan H-Bridge driver motor DC L298 dengan mode paralel maka, kamu perlu 2 buah H-Bridge driver motor DC L298 untuk mengendalikan 2 motor DC menggunakan H-Bridge driver motor DC L298 pada mode paralel[18].

  Prinsip kerja IC L298, IC ini memiliki empat channel masukan yang didesain untuk dapat menerima masukan level logika TTL. Masing-masing channel masukan ini memiliki channel keluaran yang bersesuaian. Gambar 2.7 memperlihatkan penampang IC L298. Dengan memberi tegangan 5 volt pada pin enable A dan enable B, masing-masing channel output akan menghasilkan logika high (1) atau low (0) sesuai dengan input pada channel masukan. Untuk lebih jelasnya prinsip kerja IC L298 dapat dilihat pada tabel 2.9.

Gambar 2.9 Penampang IC L298[18]Tabel 2.3 Logika Prinsip Kerja IC L298

  Enable A,B Input 1,3 Output 1,3 Input 2,4 Output 2,4

  1

  1

  1

  1

  1 X

  X

  1 X

  1 X

  2.5 Keypad Matr iks 4x4

Keypad merupakan salah satu peripheral yang sangat penting dalam sistem komputer.

  

Keypad matriks 4x4 pada dasarnya merupakan konfigurasi saklar/tombol yang

disusun berdasarkan baris dan kolom (4 baris dan 4 kolom).

  Pada Gambar 2.10 ditunjukkan ilustrasi susunan / konfigurasi keypad 4x4 yang lazim. Keypad 4x4 biasa juga disebut keypad heksadesimal karena terdapat 16 tombol yang dapat mewakili semua karakter heksadesimal dari 0-9 dan A-F. Untuk keperluan yang lain karakter tersebut boleh digannti sesuai dengan penggunaannya.

Gambar 2.10 Konfigurasi Keypad Matr iks 4x4

  (sumber : http://electrocontrol.files.wordpress.com/2011/04/dasar-keypad.jpg)

  2.6 LCD (Liquid Crystal Display) Karakter 16x2 LCD (liquid crystal display) adalah piranti output untuk sistem komputer atau mikrokontroler yang dapat menampilkan karakter standar yang telah tersimpan dalam ROM pada LCD tersebut. Karakter yang dapat ditampilkan sebanyak 32 karakter yang tersusun dalam 16 kolom dan dua baris, sehingga sering disebut LCD 16x2. LCD memiliki 16 pin dan memerlukan tegangan 5V DC. Gambar 2.11 menunjukkan bentuk dan susunan pin LCD dan keterangan dari setiap pin diberikan pada tabel 2.4.

Gambar 2.11 Susunan Pin LCD Karakter 16x2[15] Sebelum menggunakan modul LCD ini, power supply 5V DC harus diberikan sebagai sumber arusnya seperti yang ditunjukkan gambar 2.12.

Gambar 2.12 Hubungan Power Supply ke LCD[15]

  8 DB1 H/L Data Bit 1

  15 LEDA - Power supply untuk LED (+)

  14 DB7 H/L Data Bit 7

  13 DB6 H/L Data Bit 6

  12 DB5 H/L Data Bit 5

  11 DB4 H/L Data Bit 4

  10 DB3 H/L Data Bit 3

  9 DB2 H/L Data Bit 2

  7 DB0 H/L Data Bit 0

Tabel 2.4 Keterangan Pin LCD Karakter 16x2

  6 E H→ L Enable

  5 R/W H/L Read atau Write

  4 RS H/L Register Selection

  0V – 5V Power supply untuk LCD

  3 Vo

  2 Vdd - Power supply untuk chip

  1 Vss - Ground

  No pin Nama pin Level Fungsi

  16 LEDK - Power supply untuk LED (-) Untuk menampilkan karakter pada LCD ada beberapa algoritma yang harus dijalankan. Algoritma ini dilakukan dengan memberikan nilai logika 0 atau 1 pada pin yang bersangkutan. Algoritma untuk penampilan karakter ini antara lain:

1. Mengatur display LCD, cursor dan blink.

Tabel 2.5 Pengaturan Display LCD

  E RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1→ 0

  1 D C B Keterangan:

  D: D=0 display mati dan D=1 display hidup

  C: C=0 cursor mati dan C=1 cursor hidup

  B: B=0 blink mati dan B=1 blink hidup 2.

  Mengatur karakter yang akan ditampilkan

Tabel 2.6 Pengaturan Display LCD

  E RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1→ 0 0 Nilai berdasarkan CGROM Keterangan: Nilai dari DB0 sampai DB7 yang dimasukkan nantinya akan mengatur tampilan karakter yang berkorespondensi dengan kode karakter CGROM pada chip LCD. Kode karakter CGROM diberikan pada gambar 2.13 yang terdiri dari kolom yang menunjukkan DB6 – DB7 dan baris yang menunjukkan DB0 – DB3.

Gambar 2.13 Kode Karakter CGROM pada LCD[15]

  2.7 Sensor Pada penelitian ini, robot line follower menggunakan sensor proximity yang dapat mendeteksi ada atau tidak adanya suatu garis, dimana garis ini merupakan pembimbing gerak robot. Sensor ini dapat dibuat dari pasangan IRED (InfraRed

  

Emitting Diode ) dan Photodiode . IRED merupakan LED (Light Emitting Diode) yang

  memancarkan inframerah, sedangkan photodiode merupakan sebuah dioda semikunduktor yang berfungsi sebagai sensor cahaya (sensor penerima cahaya).

2.8 Cara Kerja Sensor Garis (Line Follower)

  Robot mengguanakn IR sensor (dalam hal ini menggunakan LED dan photodiode sebagai pengganti IR sensor) untuk mendeteksi jalur yang dibuat, yaitu dengan cara : pososi robot diletakkan pada jalur, usahakan posisi jalur hitam berada ditengah - tengah IR sensor kiri dan IR sensor kanan[8].

Gambar 2.14 Cara Kerja Sensor Garis[8]

  Pada gambar 2.14 photodiode menerima cahaya jika cahaya dari IRED memantul pada permukaan yang berwarna putih , dan photodiode tidak menerima cahaya jika cahaya dari IRED memantul pada permukaan yang berwarna hitam, dikarenakan permukaan yang berwarna hitam meresap cahaya yang dipantulkan oleh

  IRED.