03.43

Mikrokontroler


Robot Avoider berbasis ATmega16

Aplikasi ini merupakan contoh penerapan mikrokontroler AVR ATmega16 pada robot avoider (robot yang dapat menghindar jika ada penghalang menggunaan sensor jarak Sharp GP2D12.

Sebagai sensor jarak digunakan sensor jarak infrared Sharp GP2D12 dengan output analog yang terhubungn di PA.0 dari mikrokontroler yang dapat berfungsi sebagai ADC. Kit mikrokontroler yang digunakan menggunakan SmartAVR for robotics dari e-Technology Center, dengan mikrokontroler ATmega16 yang memiliki 16kB ISP flash , IK SRAM dan 512 EEPROM (fitur yang cukup untuk mobile robot yang dapat menyimpan informasi pergerakan robot)

Berikut contoh kodenya :

Avoider.bas

‘Program robot avoider

‘deklarasi variabel

Dim W As Byte , Channel As Byte

Dim Rawdist As Word

Const Rawtocm = 2257

Const Scale = $200

Const Trigger = 5

Declare Sub Bacaping()

Config Adc = Single , Prescaler = 32 , Reference = Avcc

Config Portc = Output

Enable Adc ‘aktifkan adc

Enable Interrupts

Config Portb = Output ‘portb sebagai output

Do

Call Bacaping() ‘panggil fungsi sensor PING

Channel = 0 ‘posisi sensor Sharp di channel 0

W = Getadc(channel)

Start Adc

‘jika jarak dibawah 200

If W <>

Portb = 12 ‘gerakkan roda maju

End If

If W >= 200 Then

Portb = 2 belok kanan

Waitms 100

End If

Loop

Sub Bacaping()

‘kode sensor ping atau Devantech SRF04 di sini

Return

End Sub



0 komentar: