Mengukur 4 Jarak dengan sensor ultrasonic.docx

8
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 (4×2), sehingga PORTB sudah cukup kita gunakan. Rangkaian mikrokontroler dengan sensor SRF05 tampak pada gambar berikut :

Transcript of Mengukur 4 Jarak dengan sensor ultrasonic.docx

Page 1: 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 :

Page 2: Mengukur 4 Jarak dengan sensor ultrasonic.docx

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=”

Page 3: Mengukur 4 Jarak dengan sensor ultrasonic.docx

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

Page 4: Mengukur 4 Jarak dengan sensor ultrasonic.docx

    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

Page 5: Mengukur 4 Jarak dengan sensor ultrasonic.docx

          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

Page 6: Mengukur 4 Jarak dengan sensor ultrasonic.docx

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

Page 7: Mengukur 4 Jarak dengan sensor ultrasonic.docx

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.