Anda di halaman 1dari 7

Mengukur 4 Jarak dengan sensor

ultrasonic
Posted 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 (42), 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 = 16000000
Dim Flag As Bit , I As Byte
Dim Jarak As Word
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4
Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Cursor Off
Cls
Lcd 4 Sensor Jarak
Lowerline
Lcd SRF05
Wait 2
Cls
Lcd S1= S2=

Lowerline
Lcd S3= S4=
Ddrb = &B01010101
Config Timer1 = Timer , Prescale = 8
On Timer1 Jarak_over
Enable Interrupts

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 800
Loop
End

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 / 116
Return

Ukur_s2:
Flag = 1
Waitus 100
Portb.2 = 1

cm

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 / 116
Return

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 / 116
Return

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 / 116
Return

Jarak_over:
Flag = 0
Stop Timer1
Timer1 = 0
Jarak = 0
Return

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

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

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

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 > 258 us= 116. Artinya untuk menempuh jarak 1 cm (pergi
pulang) butuh waktu 116 us.

Anda mungkin juga menyukai