Anda di halaman 1dari 35

Teknik-Teknik

Teknik-Teknik
Penyesuaian
Penyesuaian Sensor
Sensor
Workshop Teknologi Sensor & Aktuator
Untuk Kontes Robot Indonesia
2009
riyanto@eepis-its.edu

Materi
1.
2.
3.
4.
5.
6.
7.
8.

Teknik-Teknik Penyesuaian Sensor


Kalibrasi
Pengamanan Sensor terhadap Lingkungan
Sensor Pada Kecepatan Tinggi
Code Vision
Program Membaca sensor
Program Menjalankan Motor
Program Multi Strategi

Tim Robotika Politeknik Elektronika Negeri Surabaya

Teknik-Teknik Penyesuaian
Sensor
Jumlah sensor 6 buah
Ada dua sensor berada di dalam garis

Tim Robotika Politeknik Elektronika Negeri Surabaya

Teknik-Teknik Penyesuaian
Sensor
Bila robot bergerak agak kekiri
Satu sensor terkena garis

Tim Robotika Politeknik Elektronika Negeri Surabaya

Teknik-Teknik Penyesuaian
Sensor
Bila robot bergerak agak kekanan
Satu sensor terkena garis

Tim Robotika Politeknik Elektronika Negeri Surabaya

Teknik-Teknik Penyesuaian
Sensor
Bila robot berada pada percabangan
Semua sensor terkena garis

Tim Robotika Politeknik Elektronika Negeri Surabaya

Kalibrasi Sensor
Letakkan sensor pada garis
Putar variabel resistor sehingga
indikator lampu menyala
Matikan indikator lampu dengan
memutar sebaliknya sedikit
Nyalakan indikator dengan memutar
sebaliknya sedikit

Tim Robotika Politeknik Elektronika Negeri Surabaya

Pengamanan Sensor
Terhadap Lingkungan
Menerangkan lampu led
Menggunakan led warna
merah
Membungkus sensor
Jarak sensor terhadap
lantai

Tim Robotika Politeknik Elektronika Negeri Surabaya

Sensor Pada Kecepatan


Tinggi
Pada saat motor dalam kecepatan
tinggi posisi sensor bisa pada posisi
paling kanan atau kiri
5

Tim Robotika Politeknik Elektronika Negeri Surabaya

Teknik Lanjutan
Saat robot mulai berjalan motor berjalan pelan
sensor diusahakan pada posisi tengah
Saat posisi sensor ditengah motor dipercepat
perlahan-lahan sampai kecepatan tinggi
Bila robot hendak berhenti motor berjalan pelan
kemudian di rem
Bila robot hendak belok maka sensor pada posisi
percabangan, gerakkan ke depan hingga posisi
setengah ukuran robot putar robot sambil sensor
mendeteksi ada garis
Bila semua sensor lepas dari garis yang dilakukan
adalah mencatat kondidi terakhir sensor yang
terbaca

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Jalankan software CodeVisionAVR

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Buatlah project baru.
Pilih File New.
Pilih project lalu tekan tombol OK.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Kemudian muncul
dialog apakah akan
menggunakan
CodeWizardAVR
untuk
mempermudah
merancang
kerangka program.
Pilih YES.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR

Board yang digunakan menggunakan chip ATtiny2313 dengan


clock 11.0592MHz, kemudian pilih tab Ports, secara default port
merupakan pin input, lakukan seting untuk PortB sebagai input
sensor, PortD sebagai output LED

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Kemudian pilih File Generate, Save and
Exit.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Simpan pada direktori d:\workshop.
Beri nama source file, nama project
file, dan nama codewizard project file
anda.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR

Tambahkan #include <delay.h>


Pada main program, sisipkan perintah berikut
while (1)
{
// Place your code here

PORTD.4=0;PORTD.5=0;PORTD.6=0;
delay_ms(1000);
PORTD.4=1;PORTD.5=1;PORTD.6=1;
delay_ms(1000);
};
}

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Sebelum melakukan kompilasi, lakukan seting
berikut untuk pertama kali saja.
Pilih Project Configure.
Pastikan pada tab C Compiler nama chip dan clock
telah sesuai dengan IC yang terpasang pada board.
Dan pada tab After Make pilih Program the Chip.
Lalu tekan tombol OK.
Pilih Settings Programmer, pilih Kanda System
STK200+/300 untuk AVR Chip Programmer Type.
Lalu tekan tombol OK.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Secara bertahap anda dapat melakukan
check syntax, compile, dan make.
Atau langsung pilih Project Make. Bila tidak
ada error maka akan muncul kotak dialog
informasi.
Siapkan board, nyalakan suplay
tegangannya, hubungkan kabel download
dari PC ke board.
Kemudian tekan tombol Program.

Tim Robotika Politeknik Elektronika Negeri Surabaya

CodeVisionAVR
Bila tidak ada kesalahan maka
ketiga LED akan menyala satu detik.
Kemudian ketiga LED akan mati satu
detik.
Demikian seterusnya.

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Push Button


Ketika tombol 1 ditekan maka 2 led menyala
Ketika tombol 2 ditekan maka 1 led menyala

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Push Button


while (1)
{
// Place your code here
PORTD.4=1;PORTD.5=1;PORTD.6=1;
if(PINB.0==0){PORTD.5=0;PORTD.6=0;}
if(PINB.1==0)PORTD.4=0;
};
}

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program PWM
Menyalakan lampu berdasarkan nilai pwm

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program PWM
unsigned char x,pwm;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
x++;
if(x>=pwm)PORTD.4=1;
else
PORTD.4=0;
}
.
PORTD.4=1;PORTD.5=1;PORTD.6=1;
while (1)
{
// Place your code here
pwm=200;
};
}

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Membaca sensor

Membaca sensor dan menampilkan hasilnya di led.


Bila sensor ke 1 aktif maka led menunjukkan nilai biner 1, bila
sensor ke 2 aktif maka led menunjukkan nilai biner 2, dst

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Membaca sensor

while (1)
{
// Place your code here
PORTD.4=1;PORTD.5=1;PORTD.6=1;
sensor=PINB>>2;
switch(sensor) {
case 0://00000000
PORTD.4=1;PORTD.5=1;PORTD.6=1;break;
case 1://00000001
PORTD.4=0;PORTD.5=1;PORTD.6=1;break;
case 2://00000010
PORTD.4=1;PORTD.5=0;PORTD.6=1;break;
case 4://00000100
PORTD.4=0;PORTD.5=0;PORTD.6=1;break;
case 8://00001000
PORTD.4=1;PORTD.5=1;PORTD.6=0;break;
case 16://00010000
PORTD.4=0;PORTD.5=1;PORTD.6=0;break;
case 32://00100000
PORTD.4=1;PORTD.5=0;PORTD.6=0;break;
case 63://00111111
PORTD.4=0;PORTD.5=0;PORTD.6=0;break;
}
};
}

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Menjalankan Motor


Untuk menjalankan motor dengan pwm Pilih tab
Timers, setting Timer 0 dengan clock value: 10.800
kHz dan aktifkan cek Overflow Interrupt

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Menjalankan Motor


unsigned char x,lpwm,rpwm;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
x++;
while (1)
if(x>=lpwm)PORTD.0=0;
{
else PORTD.0=1;
// Place your code here
if(x>=rpwm)PORTD.2=0;
PORTD.1=1;lpwm=200;
PORTD.3=1;rpwm=200;
else PORTD.2=1;
};
}
}

Tim Robotika Politeknik Elektronika Negeri Surabaya

Program Multi Strategi

Port yang digunakan pada robot


Bagaimana cara robot berjalan lurus
Bagaimana cara robot belok kanan
Bagaimana cara robot belok kiri
Bagaimana robot mendeteksi percabangan
Bagaimana membuat program multi strategi

Tim Robotika Politeknik Elektronika Negeri Surabaya

Port yang digunakan pada


robot

PB2-PB7 Sensor
PB0-PB1 Push Button
PD0-PD1 Motor Kiri
PD2-PD3 Motor Kanan
PD4-PD6 Led

Tim Robotika Politeknik Elektronika Negeri Surabaya

Bagaimana cara robot


berjalan lurus
Motor dalam kondisi siap jalan
Baca sensor
Bila 2 sensor ditengah aktif maka motor kanan
kecepatannya sama dengan motor kiri
Bila sensor di kiri aktif atau robot agak kekanan
maka motor kanan lebih cepat dari motor kiri
Bila sensor di kanan aktif atau robot agak kekiri
maka motor kiri lebih cepat dari motor kanan
program

Tim Robotika Politeknik Elektronika Negeri Surabaya

Bagaimana cara robot belok


kanan
Kecepatan pwm diturunkan
Motor kiri bergerak kedepan dan motor
kanan bergerak ke belakang
Sensor membaca data
Loop sampai sensor bernilai 0
Loop lagi sampai 2 sensor di kanan ketemu
garis
program

Tim Robotika Politeknik Elektronika Negeri Surabaya

Bagaimana cara robot belok


kiri
Kecepatan pwm diturunkan
Motor kanan bergerak kedepan dan motor
kiri bergerak ke belakang
Sensor membaca data
Loop sampai sensor bernilai 0
Loop lagi sampai 2 sensor di kiri ketemu
garis
program

Tim Robotika Politeknik Elektronika Negeri Surabaya

Bagaimana robot mendeteksi


percabangan

Baca sensor
Bila sensor aktif semua berarti percabangan
Motor jalan lurus
Loop dan baca sensor sensor sehingga
kondisi sensor ada yang tidak aktif
Hitung jumlah percabangan
Program

Tim Robotika Politeknik Elektronika Negeri Surabaya

Bagaimana membuat
program multi strategi
Buat program menjadi fungsi misal
strategi_1() dan strategi_2()
Baca tombol push button (PB) bila PB
1 ditekan maka fungsi strategi_1()
jalan, bila PB 2 ditekan maka fungsi
strategi_2() jalan
Strategi_1()
Strategi_2()

Tim Robotika Politeknik Elektronika Negeri Surabaya

Anda mungkin juga menyukai