Mengukur 4 Jarak dengan sensor ultrasonic.docx
Transcript of Mengukur 4 Jarak dengan sensor ultrasonic.docx
Mengukur 4 Jarak dengan sensor ultrasonicPosted on September 24, 2012 by admin
Pada palikasi robotika, ketika membutuhkan informasi jarak maka kita langsung berpikir sensor jarak. Yang paling terkenal adalah sensor ultrasonic. Nah apabila robot yang kita buat membutuhkan informasi 4 jarak, jarak didepan, di samping kanan, samping kiri dan belakang maka solusinya kita bisa memakai 4 sensor ultrasonic.
Saya memakai sensor ultrasonic SRF-05. Empat buah sensor SRF05 dihubungkan dengan mikrokontroler ke PORTB. ATmega8535 dengan Kristal 16 MHz. satu sensor SRF05 memerlukan 2 port, satu untuk Trigger dan satunya untuk Echo. Mengenai prinsip kerja sensor SRF05 telah kita bahas pada atrikel sebelumnya “Ultrasonic Range Meter dengan SRF05″, silahkan baca dulu bagi yang belum tahu.
Total 8 Pin (4×2), sehingga PORTB sudah cukup kita gunakan. Rangkaian mikrokontroler dengan sensor SRF05 tampak pada gambar berikut :
Nah, software dibuat dengan BASCOM-AVR :
‘******************************************$regfile = “m8535.dat”$crystal = 16000000Dim Flag As Bit , I As ByteDim Jarak As WordConfig Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Cursor OffClsLcd “4 Sensor Jarak”LowerlineLcd ” SRF05 “Wait 2ClsLcd “S1= S2=”
LowerlineLcd “S3= S4=”Ddrb = &B01010101Config Timer1 = Timer , Prescale = 8On Timer1 Jarak_overEnable Interrupts ‘cm‘————————Do Gosub Ukur_s1 Locate 1 , 4 Lcd Jarak ; ” “ Gosub Ukur_s2 Locate 1 , 12 Lcd Jarak ; ” “ Gosub Ukur_s3 Locate 2 , 4 Lcd Jarak ; ” “ Gosub Ukur_s4 Locate 2 , 12 Lcd Jarak ; ” “ Waitms 800LoopEnd
‘———————————Ukur_s1: Flag = 1 Waitus 100 Portb.0 = 1 Waitus 15 Portb.0 = 0 Waitus 100 Enable Timer1 Timer1 = 0 Bitwait Pinb.1 , Set Start Timer1 While Flag = 1 If Pinb.1 = 0 Then Stop Timer1 Jarak = Timer1 Flag = 0 End If Wend ‘ Jarak = Jarak / 116Return‘———————————Ukur_s2: Flag = 1 Waitus 100 Portb.2 = 1
Waitus 15 Portb.2 = 0 Waitus 100 Enable Timer1 Timer1 = 0 Bitwait Pinb.3 , Set Start Timer1 While Flag = 1 If Pinb.3 = 0 Then Stop Timer1 Jarak = Timer1 Flag = 0 End If Wend ‘ Jarak = Jarak / 116Return‘———————————Ukur_s3: Flag = 1 Waitus 100 Portb.4 = 1 Waitus 15 Portb.4 = 0 Waitus 100 Enable Timer1 Timer1 = 0 Bitwait Pinb.5 , Set Start Timer1 While Flag = 1 If Pinb.5 = 0 Then Stop Timer1 Jarak = Timer1 Flag = 0 End If Wend ‘ Jarak = Jarak / 116Return‘———————————Ukur_s4: Flag = 1 Waitus 100 Portb.6 = 1 Waitus 15 Portb.6 = 0 Waitus 100 Enable Timer1 Timer1 = 0 Bitwait Pinb.7 , Set Start Timer1 While Flag = 1
If Pinb.7 = 0 Then Stop Timer1 Jarak = Timer1 Flag = 0 End If Wend ‘ Jarak = Jarak / 116Return‘———————————Jarak_over: Flag = 0 Stop Timer1 Timer1 = 0 Jarak = 0Return
Hasil percobaannya tampak pada gambar berikut :
Share this:
Facebook5
Like this:
This entry was posted in Mikrokontroler AVR. Bookmark the permalink. ← Penanganan String pada Pemrograman Mikrokontroler
Kontrol Seven Segment via Serial Komunikasi →
7 Responses to Mengukur 4 Jarak dengan sensor ultrasonic
1. jefri setifanus says:
November 28, 2013 at 12:47 pm
gan, boleh minta bantuan untuk program diatas ? thanks
Reply
o admin says:
December 30, 2013 at 8:44 am
Bantuan gimana mas ?
Reply
2. ari says:
February 4, 2014 at 11:09 am
mas,, diproteus kata kunci rangkaiannya apa?
Reply
o admin says:
February 7, 2014 at 3:06 pm
Kata kunci apa ?
Reply
3. paijo londo says:
February 28, 2014 at 10:42 am
klw mo bikin robot spt gambar diatas rangkaian n programnya gimana mas?
Reply
4. gh says:
March 31, 2014 at 12:50 pm
mas mau tanya nih, kenapa jaraknya harus di bagi 116
Reply
o admin says:
April 8, 2014 at 8:31 am
Freq osilator = 16 Mhz.Prescaler = 8. So freq = 16/8 = 2 Mhz.Ultrasonic –> 1 cm/29 us. Kalau bolak balik kan jadi 1 cm –> 58 us, so jadinya 1 cm –> 2×58 us= 116. Artinya untuk menempuh jarak 1 cm (pergi pulang) butuh waktu 116 us.