Date post: | 13-Dec-2014 |
Category: |
Documents |
Upload: | mada-sanjaya-ws |
View: | 34 times |
Download: | 7 times |
Mada Sanjaya WS, Ph.D
Penerbit Bolabot
2013 MEMBUAT ROBOT AVOIDER
ULTRASONIC
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
ROBOT PENGHINDAR HALANGAN
SENSOR ULTRASONIK
Kelelawar hewan nocturnal, yang
berada dikegelapan, kelelawar dapat terbang bebas tanpa menabrak
penghalang didepannya,, kelelawar dapat menghindari penghalang
didepannya karena kelelawar dapat mengeluarkan gelombang ultrasonic,
yang jika ada penghalang
kembali dan diterima oleh telinga kelelawar yang lebar, sehingga
kelelawar dapat menghindar secara spontan ketika didepannya ada
penghalang.
Gambar 1.
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
ROBOT PENGHINDAR HALANGAN
SENSOR ULTRASONIK
(UltraBOT Avoider)
Kelelawar hewan nocturnal, yang berkeliaran di malam hari...meski
berada dikegelapan, kelelawar dapat terbang bebas tanpa menabrak
penghalang didepannya,, kelelawar dapat menghindari penghalang
didepannya karena kelelawar dapat mengeluarkan gelombang ultrasonic,
yang jika ada penghalang maka gelombang tersebut akan dipantulkan
kembali dan diterima oleh telinga kelelawar yang lebar, sehingga
kelelawar dapat menghindar secara spontan ketika didepannya ada
Gambar 1. Prinsip kerja pengukuran jarak benda
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 2
ROBOT PENGHINDAR HALANGAN
malam hari...meski
berada dikegelapan, kelelawar dapat terbang bebas tanpa menabrak
penghalang didepannya,, kelelawar dapat menghindari penghalang
didepannya karena kelelawar dapat mengeluarkan gelombang ultrasonic,
maka gelombang tersebut akan dipantulkan
kembali dan diterima oleh telinga kelelawar yang lebar, sehingga
kelelawar dapat menghindar secara spontan ketika didepannya ada
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Karakteristik Sensor Ultrasonic PING Paralax
Ultrasonik, sebutan untuk jenis suara diatas batas suara yang bisa
didengar manusia. Seperti
mendengar suara dengan frekuensi 20 Hz sampai 20KHz.
hanya beberapa jenis binatang ya
kelelawar dan lumba-
ultrasonik untuk mengindera benda
mengirimkan sebuah suara dan mengitung lamanya pantulan suara
tersebut maka dapat diketahui jarak kapal
tersebut. Mula-mula suara dibunyikan, kemudian dihitung lama waktu
sampai terdengar suara pantulan. Jarak dapat dihitung dengan
mengalikan kecepatan suara dengan waktu
dibagi 2. Misalnya lama waktu pantulan ada
adalah (344,424m/detik x 1 detik)/2 = 172m.
Ping))) Ultrasonic Range Finder, adalah modul pengukur jarak dengan
ultrasonic buatan Paralax
robotika. Dengan ukurannya yang cukup kecil (2,1
seharga 350 ribu rupiah ini dapat mengukur jarak antara 3 cm sampai
300 cm. Keluaran dari Ping))) berupa pulsa yang lebarnya
merepresentasikan jarak. Lebar pulsanya
18,5 mS.
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Ultrasonic PING Paralax
Ultrasonik, sebutan untuk jenis suara diatas batas suara yang bisa
didengar manusia. Seperti diketahui, telinga manusia hanya bisa
mendengar suara dengan frekuensi 20 Hz sampai 20KHz. Lebih dari itu
hanya beberapa jenis binatang yang mampu mendengarnya, seperti
-lumba. Lumba-lumba bahkan memanfaatkan
ultrasonik untuk mengindera benda-benda di laut. Dengan cara
sebuah suara dan mengitung lamanya pantulan suara
tersebut maka dapat diketahui jarak kapal selam dengan benda
mula suara dibunyikan, kemudian dihitung lama waktu
terdengar suara pantulan. Jarak dapat dihitung dengan
mengalikan kecepatan suara dengan waktu pantulan. Kemudian hasilnya
dibagi 2. Misalnya lama waktu pantulan adalah 1 detik, maka
adalah (344,424m/detik x 1 detik)/2 = 172m.
Ping))) Ultrasonic Range Finder, adalah modul pengukur jarak dengan
ultrasonic buatan Paralax Inc. yang didesain khusus untuk teknologi
robotika. Dengan ukurannya yang cukup kecil (2,1cm x 4,5cm), sensor
0 ribu rupiah ini dapat mengukur jarak antara 3 cm sampai
Keluaran dari Ping))) berupa pulsa yang lebarnya
merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 3
Ultrasonik, sebutan untuk jenis suara diatas batas suara yang bisa
diketahui, telinga manusia hanya bisa
Lebih dari itu
ng mampu mendengarnya, seperti
lumba bahkan memanfaatkan
laut. Dengan cara
sebuah suara dan mengitung lamanya pantulan suara
elam dengan benda
mula suara dibunyikan, kemudian dihitung lama waktu
terdengar suara pantulan. Jarak dapat dihitung dengan
pantulan. Kemudian hasilnya
lah 1 detik, maka jaraknya
Ping))) Ultrasonic Range Finder, adalah modul pengukur jarak dengan
Inc. yang didesain khusus untuk teknologi
4,5cm), sensor
0 ribu rupiah ini dapat mengukur jarak antara 3 cm sampai
Keluaran dari Ping))) berupa pulsa yang lebarnya
bervariasi dari 115 uS sampai
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Gambar 2.
Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz,
sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker
ultrasonik mengubah sinyal 40 KHz menjadi
ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Pada modul
Ping))) terdapat 3 pin yang digunakan untuk jalur power supply (+5V),
ground dan signal. Pin signal
mikrokontroler tanpa tambahan komponen apapun.
Ping))) mendeteksi objek dengan cara mengirimkan suara ultrasonik dan
kemudian “mendengarkan” pantulan suara tersebut. Ping))) hanya akan
mengirimkan suara ultrasonik ketika ada pulsa trigger dari
mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan
frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini
akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm
setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke
Ping))). Selama menunggu pantulan, Ping))) akan menghasilkan sebuah
pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi
oleh Ping))). Oleh karena itulah lebar pulsa tersebut dapat
merepresentasikan jarak antara Ping))) dengan objek.
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Gambar 2. Sensor ultrasonic PING))) Paralax
Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz,
ultrasonik dan sebuah mikropon ultrasonik. Speaker
ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon
ngsi untuk mendeteksi pantulan suaranya. Pada modul
Ping))) terdapat 3 pin yang digunakan untuk jalur power supply (+5V),
ground dan signal. Pin signal dapat langsung dihubungkan dengan
mikrokontroler tanpa tambahan komponen apapun.
ek dengan cara mengirimkan suara ultrasonik dan
kemudian “mendengarkan” pantulan suara tersebut. Ping))) hanya akan
mengirimkan suara ultrasonik ketika ada pulsa trigger dari
mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan
40KHz akan dipancarkan selama 200uS. Suara ini
akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm
setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke
Ping))). Selama menunggu pantulan, Ping))) akan menghasilkan sebuah
Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi
oleh Ping))). Oleh karena itulah lebar pulsa tersebut dapat
merepresentasikan jarak antara Ping))) dengan objek.
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 4
Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz,
ultrasonik dan sebuah mikropon ultrasonik. Speaker
suara sementara mikropon
ngsi untuk mendeteksi pantulan suaranya. Pada modul
Ping))) terdapat 3 pin yang digunakan untuk jalur power supply (+5V),
dapat langsung dihubungkan dengan
ek dengan cara mengirimkan suara ultrasonik dan
kemudian “mendengarkan” pantulan suara tersebut. Ping))) hanya akan
mengirimkan suara ultrasonik ketika ada pulsa trigger dari
mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan
40KHz akan dipancarkan selama 200uS. Suara ini
akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm
setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke
Ping))). Selama menunggu pantulan, Ping))) akan menghasilkan sebuah
Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi
oleh Ping))). Oleh karena itulah lebar pulsa tersebut dapat
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Berdasarkan Datasheet
Berdasarkan Perhitungan Kalibrasi
Satu hal yang perlu diperhatikan adalah bahwa Ping))) tidak dapat
mengukur objek yang permukaannya dapat menyerap suara, seperti busa
atau sound damper lainnya. Pengukuran jarak
permukaan objek bergerigi dengan sudut tajam.
Jarak = (Lebar Pulsa/29.034uS)/2
Jarak = (Lebar Pulsa x 0.034442)/2
Karena 1/29.034 = 0.34442
Jarak =
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
atasheet
Berdasarkan Perhitungan Kalibrasi Bolabot Institute
Satu hal yang perlu diperhatikan adalah bahwa Ping))) tidak dapat
permukaannya dapat menyerap suara, seperti busa
atau sound damper lainnya. Pengukuran jarak juga akan kacau jika
permukaan objek bergerigi dengan sudut tajam.
Jarak = (Lebar Pulsa/29.034uS)/2 (dalam cm)
(Lebar Pulsa x 0.034442)/2 (dalam cm)
Karena 1/29.034 = 0.34442
Jarak = Lebar Pulsa * 0.021(dalam cm)
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 5
Satu hal yang perlu diperhatikan adalah bahwa Ping))) tidak dapat
permukaannya dapat menyerap suara, seperti busa
juga akan kacau jika
(dalam cm)
(dalam cm)
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Desain Robot Avoider Ultrasonic
Gambar 3.
Program CV AVR Robot Avoider Ultrasonic
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project : Robot Avoider Ultrasonic
Version : I
Date : 2/18/2013
Author : Mada Sanjaya WS, Ph.D
Company : Bolabot Techno Robotic Institute
Comments: -
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Avoider Ultrasonic
Gambar 3. Desain robot avoider ultrasonic
Robot Avoider Ultrasonic
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
2010 Pavel Haiduc, HP InfoTech s.r.l.
Project : Robot Avoider Ultrasonic
Author : Mada Sanjaya WS, Ph.D
Company : Bolabot Techno Robotic Institute
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 6
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/
#include <mega8.h>
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>
unsigned int hitung;
float dutu;
void RF1(void)
{
unsigned int i=0;
hitung=0;
DDRC.5=1;
PORTC.5=1;
delay_us(5);
PORTC.5=0;
DDRC.5=0;
PORTC.5=1;
while(PINC.5==0){i++; if(i>=10000) break;}
while(PINC.5==1){hitung++; if(hi
PORTC.5=0;
delay_ms(10);
}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
}
// Declare your global variables here
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Program type : Application
frequency: 12.000000 MHz
*****************************************************/
while(PINC.5==0){i++; if(i>=10000) break;}
while(PINC.5==1){hitung++; if(hitung>=10000) break;}
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
// Declare your global variables here
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 7
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T
PORTB=0x00;
DDRB=0x06;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 11.719 kHz
// Mode: Fast PWM top=0x00FF
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0xA1;
TCCR1B=0x0D;
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
// Declare your local variables here
// Input/Output Ports initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
// Mode: Fast PWM top=0x00FF
// Timer1 Overflow Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 8
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) init
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
// External Interrupt(s) initialization
// Timer(s)/Counter(s) Interrupt(s) initialization
// Analog Comparator initialization
// Analog Comparator Input Capture by Timer/Counter 1: Off
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 9
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
DDRD.5=1; // definisi output ke motor kiri
DDRD.6=1; // definisi output ke motor kiri
DDRD.7=1; // definisi output ke motor kanan
DDRB.0=1; // definisi output ke motor kanan
PORTD.5=1;
PORTD.6=1;
PORTD.7=1;
PORTB.0=1;
while (1)
{
RF1();
dutu = hitung*0.021; // rumus jarak berdasarkan kalibrasi sensor
if (dutu<=20) //jika jarak terhadap penghalang kurang dari sama dengan 20 cm
{
OCR1A=100;
OCR1B=100;
PORTD.5=0;
PORTD.6=1;
PORTD.7=0;
PORTB.0=0;
delay_ms(1000);
OCR1A=100;
OCR1B=100;
PORTD.5=1;
PORTD.6=0;
PORTD.7=1;
PORTB.0=0;}
else{
OCR1A=100;
OCR1B=100;
PORTD.5=1;
PORTD.6=0;
PORTD.7=1;
PORTB.0=0;}
}
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
// definisi output ke motor kiri
// definisi output ke motor kiri
// definisi output ke motor kanan
// definisi output ke motor kanan
dutu = hitung*0.021; // rumus jarak berdasarkan kalibrasi sensor
//jika jarak terhadap penghalang kurang dari sama dengan 20 cm
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 10
//jika jarak terhadap penghalang kurang dari sama dengan 20 cm
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
}
Realisasi Robot Avoider
(a)
Gambar 4.
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E
Copyright 2013 © Mada Sanjaya WS, Ph.D (Profesor Bolabot)
Realisasi Robot Avoider Ultrasonic
(b)
(c)
Gambar 4. Realisasi robot avoider sensor ultrasonic
B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 11