Robot Penghindar Halangan Sensor Ultrasonic PING))) (Avoider)RA01 Kelelawar hewan nocturnal, yang berkeliaran di malam hari.. hari...me .meski ski berada berada dikege dikegelap lapan, an, kelela kelelawar war dapat dapat terbang terbang bebas bebas tanpa menabrak rak penghalang didepannya,, kelelawar dapat meng menghi hind ndar ari i peng pengha hala lang ng dide didepa pann nnya ya kare karena na kele kelela lawa war r dapa dapat t mengeluarkan gelombang ultrasonic, yang jika ada penghalang maka gelomb gelombang ang tersebu tersebut t akan akan dipantu dipantulka lkan n kembali kembali dan diteri diterima ma oleh oleh telinga kele elelawar yang leb lebar, sehingga kelelawar dapat menghindar secara spontan ketika didepannya ada penghalang.
Gambar 1. Prinsip kerja pengukuran jarak benda
Karakteristik Sensor Ultrasonic PING Paralax Ultras Ultrasoni onik, k, sebuta sebutan n untuk untuk jenis jenis suara suara diatas diatas batas batas suara suara yang 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 kelelawar dan lumba-lumba. Lumba-lumba bahkan memanf memanfaat aatkan kan ultras ultrasoni onik k untuk untuk mengind mengindera era bendabenda-bend benda a di laut. laut. Deng Dengan an cara cara meng mengir irim imka kan n sebu sebuah ah suar suara a dan dan meng mengit itun ung g lama lamany nya a pantulan suara tersebut maka dapat diketahui jarak kapal selam deng dengan an bend benda a terse tersebu but. t. Mula Mula-m -mul ula a suara suara dibu dibuny nyik ikan an, , kemu kemudi dian an dihitung dihitung lama waktu sampai terdengar suara pantulan. Jarak dapat dihitung dengan mengal galikan kecepata atan suara dengan waktu pant pantul ulan an. . Kemu Kemudi dian an hasi hasiln lnya ya diba dibagi gi 2. Misa Misaln lnya ya lama lama wakt waktu u pantulan adalah 1 detik, maka jaraknya 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 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 bervariasi dari 115 uS sampai 18,5 mS.
Gambar 2. Sensor ultrasonic PING))) Paralax Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi 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. 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.
Berdasarkan Datasheet Jarak = (Lebar Pulsa/29.034uS)/2 (dalam cm)
Jarak = (Lebar Pulsa x 0.034442)/2 (dalam cm) Karena 1/29.034 = 0.34442 Berdasarkan Perhitungan Kalibrasi Bolabot Institute Jarak = Lebar Pulsa * 0.021(dalam cm) Nilai tersebut berbeda dengan nilai datasheet, sehingga penulis menyarankan untuk melakukan kalibrasi ulang jika akan menggunakan sensor ultrasonik PING))) agar lebih teliti.
Desain Robot Penghindar Halangan Sensor ultrasonik Berikut adalah desain robot BOLABOT (www.bolabot.com)menggunakan Proteus:
TECHNO ROBOTIC
Gambar 3. Desain robot avoider ultrasonic
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
INSTITUTE
Project : Version : Date : Author : Company : Comments:
Robot Avoider Ultrasonic I 2/18/2013 Mada Sanjaya WS, Ph.D Bolabot Techno Robotic Institute -
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
#include #include #include 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(hitung>=10000) break;} PORTC.5=0; delay_ms(10); } interrupt [TIM0_OVF] void timer0_ovf_isr(void) {
}
// Declare your global variables here 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=In Func2=In Func1=In Func0=In // 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; 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) initialization 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
SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; DDRD.5=1; // DDRD.6=1; // DDRD.7=1; // DDRB.0=1; // PORTD.5=1; PORTD.6=1; PORTD.7=1; PORTB.0=1;
definisi definisi definisi definisi
output output output output
ke ke ke ke
motor motor motor motor
kiri kiri kanan kanan
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 You're Reading a Preview { Unlock full access with a free trial. OCR1A=100; OCR1B=100; PORTD.5=0; Download With Free Trial 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;} } } Realisasi Hardware Robot Avoider Ultrasonik PING)))