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