Kode Program Penjelasan Kode Program

1.Robot pertama kali akan mendeteksi sensor SHARP GP2D12 yang mendeteksi halangan di depan, apabila halangan masi jauh maka robot akan teru maju dan apabila robot sudah dekat maka robot akan medeteksi sensor kiri dan kanan. 2.Setelah sensor kiri dan kanan dideteksi dan sensor kiri kanan maka robot akan belok ke kanan dan apabila tidak, robot akan mendeteksi lagi. 3.Apabila sensor kanan kiri maka robot akan belok ke kiri dan apabila tidak robot akan mendeteksi lagi. 4.Apabila sensor kiri = kanan, maka robot akan mundur. 5.Apabila robot mendeteksi sensor kiri kanan maka robot akan mundur. 6.Rutin dikerjakan berulang-ulang.

4.2 Kode Program

Program untuk robot ini menggunakan bahasa BASIC dengan software BASCOM AVR. Penulis menggunakan bahasa basic dikarenakan mudah dalam pemrogramannya. Berikut adalah listing programnya. regfile = m8535.dat crystal = 8000000 hwstack = 32 swstack = 10 framesize = 40 Config Portc = Output Config Porta = Input Dim Sdepan As Word , Skanan As Word , Skiri As Word , Hmc1 As Word , Hmc2 As Word Dim Pos_awal1 As Word , Pos_awal2 As Word Dim I As Integer Const Maju = B01010000 Const Kiri = B01100000 Const Kanan = B10010000 Const Mundur = B10100000 Const Diam = B00000000 Do Universitas Sumatera Utara Call Jalan Loop Sub Jalan Start Adc Sdepan = Getadc0 Skanan = Getadc1 Skiri = Getadc2 If Sdepan 475 And Skanan 495 Then Call Straight If Sdepan 475 And Skiri 495 Then Call Straight If Sdepan 450 And Skiri = Skanan Then Call Backward If Sdepan 450 And Skiri Skanan Then Call Backward If Sdepan 450 And Skanan Skiri Then Call Lefted If Sdepan 450 And Skiri Skanan Then Call Righted If Sdepan 450 And Skanan 495 Then Call Lefted If Sdepan 450 And Skiri 495 Then Call Righted End Sub Sub Straight Portc = Maju End Sub Sub Lefted Portc = Kiri Waitms 25 End Sub Sub Righted Portc = Kanan Waitms 25 End Sub Sub Freeze Portc = Diam End Sub Sub Backward Portc = Mundur Waitms 50 End Sub End

4.3 Penjelasan Kode Program

Inisiasi Sistem : regfile = m8535.dat crystal = 8000000 hwstack = 32 swstack = 10 framesize = 40 Universitas Sumatera Utara Config Portc = Output Config Porta = Input Pada baris inisiasi sistem ini kita dapat menentukan jenis mikrokontroler yang digunakan, kristal yang digunakan, dan konfigurasi port sebagai input atau output. Inisiasi Variabel dan Konstanta Dim Sdepan As Word , Skanan As Word , Skiri As Word , Hmc1 As Word , Hmc2 As Word Dim Pos_awal1 As Word , Pos_awal2 As Word Dim I As Integer Const Maju = B01010000 Const Kiri = B01100000 Const Kanan = B10010000 Const Mundur = B10100000 Const Diam = B00000000 Const Rsthmc = B11111111 Const Sethmc = B00000000 Penggalan program di atas ialah baris variabel dan konstanta yang akan digunakan pada pemrograman selanjutnya. Program pengendali robot : Do Call Jalan ‘Rutin Utama Loop Sub Jalan Start Adc Sdepan = Getadc0 ‘Perintah memanggil ADC channel 0 Skanan = Getadc1 ‘Perintah memanggil ADC channel 0 Skiri = Getadc2 ‘Perintah memanggil ADC channel 0 If Sdepan 475 And Skanan 495 Then Call Straight If Sdepan 475 And Skiri 495 Then Call Straight If Sdepan 450 And Skiri = Skanan Then Call Backward If Sdepan 450 And Skiri Skanan Then Call Backward If Sdepan 450 And Skanan Skiri Then Call Lefted If Sdepan 450 And Skiri Skanan Then Call Righted If Sdepan 450 And Skanan 495 Then Call Lefted If Sdepan 450 And Skiri 495 Then Call Righted End Sub Sub Straight Portc = Maju End Sub Sub Lefted Universitas Sumatera Utara Portc = Kiri Waitms 25 End Sub Sub Righted Portc = Kanan Waitms 25 End Sub Sub Freeze Portc = Diam End Sub Sub Backward Portc = Mundur Waitms 50 End Sub End Penggunaan ADC pada mikrkontroler AVR ATMega sangat baik karena memiliki resolusi 10 bit dengan tegangan referensi 5 Volt. Dengan resolusi tersebut maka ketelitian kenaikan level tegangannya adalah : 10 bit = 2 10 = 1024, tegangan referensinya adalah 5V maka resolusi per-bitnya adalah : 0048 . 1024 5  V Volt bit.

4.4 BASCOM AVR