“Ultrasonic Range Meter” dengan SRF05

Sensor ultrasonic tipe SRF05 ini secara prinsip sama saja dengan sensor ultrasonic PING))). Memancarkan gelombang ultrasonic dengan frekuensi 40 KHz kemudian menunggu sampai pantulan gelombangnya diterima kembali. Tanda kalau gelombang sudah diterima atau belum berupa sinyal HIGH – LOW.

 

Terdapat 10 pin, tapi kita cukup memakai 4 pin saja (sebenarnya 3 pin juga bisa). Perhatikan gambar berikut :

 

  1. Pin 5v untuk koneksi ke tegangan 5V dc.
  2. Echo Output untuk memantau kondisi logika, apakah gelombang ultrasonic sudah diterima kembali atau belum.
  3. Trigger Input dipakai untuk memicu pembangkitan gelombang ultrasonic. Berupa sinyal ‘HIGH’ selama minimal 100 us.
  4. 0 V (GND) dihubungkan ke ground.

 

Kita coba aplikasi sensor ultrasonic SRF05 untuk mengukur jarak dengan mikrokontroler. AVR ATmega16 dan LCD sudah cukup sebagai komponen utama. Buat rangkaiannya seperti berikut ini :

 

Programnya kebetulan saya buat dengan bahasa C, memakai compiler CodeVision AVR.

#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#define trigger PORTC.1
#define echo PINC.0
unsigned int jarak;
char buf[33];
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>

mikrokontroler murahvoid ukur_jarak()
{
unsigned int i;
jarak=0;
delay_us(100);
trigger=1;  //tout, H=5 us
delay_us(15);
trigger=0;
delay_us(100);
while(!echo);
for (i=0;i<=500;i++)
{
if (echo) {jarak++;}
delay_us(58);
}
}
void main(void)
{
lcd_init(16);
DDRC.O=0;
DDRC.1=1;
lcd_clear ();
lcd_putsf (“SRF05 non timer”);
lcd_gotoxy(0,1);
lcd_putsf (“Range=”);
while (1)
{
ukur_jarak();
sprintf (buf,”%d cm”,jarak);
lcd_gotoxy (6,1);
lcd_puts (buf);
delay_ms(500);
}
}

Metode pengukurannya mengikuti timing diagram yang ada di datasheet SRF05. Pada prmograman kali ini saya tidak memakai timer.

Nah setelah di-compile trus di-download, hasilnya seperti ini :

 

Alat diatas saya kembangkan menggunakan Desymega wRTC, bisa juga pakai Desymega dengan harga yang lebih murah.

 

41 thoughts on ““Ultrasonic Range Meter” dengan SRF05

  • Pingback:Mengukur 4 Jarak dengan sensor ultrasonic | inkubator-teknologi.com

  • April 12, 2013 at 10:11 am
    Permalink

    mas mau tanya, klo pake sensor ultrasonic HC SR04 sama gk programnya seperti diatas?
    terimakasih

    Reply
  • May 10, 2013 at 10:45 pm
    Permalink

    mas minta penjelasan lebih rinci lagi dong tentang program di atas 🙂 penasaran 🙂
    Trims

    Reply
    • May 13, 2013 at 8:43 am
      Permalink

      Ultrasonic punya kec rambat sekitar 344 m/s. Kalau dihitung2 maka ketemu waktu tempuhnya 29 us/1 cm. nah karena bolak – balik (transmit – receive) maka waktu tempuhnya jd 2×29=48 us/1 cm. Tinggal hitung aja kan …

      Reply
  • May 11, 2013 at 7:47 am
    Permalink

    mas,,sya mau tanya klau sensor udah di set untuk jarak 30 cm baru ndteksi obyek,,kmudian mnggerakan mtor dc urutan programnya gmn y..???jdi sistem kerjanya speerti pintu otomatis gtu,,
    Mhon bntuanya mas,,,bingung tgas akhir.!bntuanya ya…..

    Reply
    • May 13, 2013 at 8:41 am
      Permalink

      1. baca jarak
      2. bandingkan jarak dg Set Point (30 cm)
      3. Jika jarak < SP maka motor DC on

      Reply
  • May 29, 2013 at 6:35 pm
    Permalink

    mas sya ada tgas untk pmbuatan sensor ini,. tpi sya bngung untuk memasukkan program di atas k CodeVision, settingannya bgaimana?? sperti port, lcd, dll,.
    tlong d jelasin smua settingannya,. trima ksih sbelumnya

    Reply
    • June 11, 2013 at 2:33 pm
      Permalink

      kalau dijelasin semua bisa penuh nih halaman hehe..
      Intinya sama aja mas sensor ultrasonik, mau diprogram pake C atau Bascom.

      Reply
      • November 28, 2013 at 1:08 pm
        Permalink

        mas kalo make bascom gmna ? thanks

        Reply
        • December 9, 2013 at 2:28 pm
          Permalink

          Ya coba untuk latihan mas jefri dibikin pakai bascom, prinsipnya sama..

          Reply
  • July 28, 2013 at 4:03 pm
    Permalink

    gan ane mau tanya. . kalo semisal program diatas digunain ke srf04 bisa ngga ya???

    Reply
    • July 29, 2013 at 8:49 am
      Permalink

      Bisa mas, sama aje, hehe…

      Reply
  • October 5, 2013 at 12:47 am
    Permalink

    mas kalau mau mengukur tinggi badan gmn ya?
    kita mw mengukur tinggi 2m.
    🙂

    Reply
    • October 5, 2013 at 1:50 pm
      Permalink

      Ada kok mas, coba cek di Arduino, prinsipnya sama saja

      Reply
  • October 12, 2013 at 2:31 pm
    Permalink

    mas, SRF05 bisa di simulasikan menggunakan Proteus gak?

    Reply
    • October 14, 2013 at 8:34 am
      Permalink

      Sepertiny belum ada mas.

      Reply
  • March 19, 2014 at 11:09 am
    Permalink

    mas, saya mau bikin aplikasi sensor ini untuk mengukur tinggi badan, nah program nya gmana ya mas? mhon bantuan nya

    Reply
  • March 29, 2014 at 10:16 am
    Permalink

    mas tanya..
    itu udah saya coba pakek HY-SRF 05 tapi kok ndak sensitif ya, dia cuman bisa baca maksimal 6cm aja. apakah ada perlu pengkondisian sensor lainnya atau bagaimana?? mohon pencerahan.nya, soal.nya ini buat alat tugas akhir saya .trims :))

    Reply
    • March 29, 2014 at 10:45 am
      Permalink

      Cek freq crystalnya mas, bisa juga atur delay-nya pas pemancaran sinyalnya

      Reply
  • April 5, 2014 at 10:40 am
    Permalink

    maf mas, saya bikin pengukur tinggi badan nya pakai SRF-05 , jadi program nya gimana ya? mohon bantuan nya

    Reply
  • April 11, 2014 at 5:49 pm
    Permalink

    gan, maksud nya void ukur_jarak itu gmn??
    masuk void (main) apa deklarasi void sendiri

    Reply
    • April 14, 2014 at 8:49 am
      Permalink

      itu rutin ukur jaraknya

      Reply
  • May 22, 2014 at 9:09 pm
    Permalink

    mas mau tanya klw programnya untuk mengukur ketinggian dan outputnya alarm dengan lampu, programnya gmana mas??? tlg mas

    Reply
    • May 31, 2014 at 10:00 am
      Permalink

      Ultrasonik ini dapat dipakai untuk bermacam aplikasi. Ada 9 proyek Ultrasonik yang salah satunya seperti yang mas Rangga sampaikan.

      Reply
  • June 8, 2014 at 10:33 pm
    Permalink

    mas bisa tolong lebih dijelaskan cara kerja fungsi for di coding tersebut? terutama dibagian ini
    for (i=0;i<=500;i++)
    {
    if (echo) {jarak++;}
    delay_us(58);
    }
    }

    cara kerjanya gimana ya mas? fungsi angka 500 itu apa?

    Reply
    • June 9, 2014 at 3:26 pm
      Permalink

      itu perulangan 500 kali untuk membatasi saja jarak maksimal.
      delay 58 us untuk waktu pancar-terima ultrasonik dalam 1 cm.
      Jadi intinya membuat counter tiap 1 cm jarak.

      Reply
      • June 21, 2014 at 3:43 pm
        Permalink

        Trimakasih banyak admin, kalo mau ditambah coding misal setelah dibawah < 30 cm maka PORTD.1 = 1 itu program if nya ditaro di sebelah mana ya?

        Reply
        • June 26, 2014 at 6:25 am
          Permalink

          ukur_jarak();
          sprintf (buf,”%d cm”,jarak);
          lcd_gotoxy (6,1);
          lcd_puts (buf);
          //—–taruh aja disini mas ….
          if(jarak<30) PORTD.1=1;

          Reply
          • June 30, 2014 at 8:32 am
            Permalink

            trimakasih banyak admin

  • June 18, 2014 at 3:45 am
    Permalink

    gan makasih ini programnya ane izin sedot , tapi ane mau tanya gan ;

    char buf[33] buat apa ya ?
    sama perhitungan 15us dapetnya dari mana ?

    trimakasih

    Reply
    • August 12, 2014 at 8:42 am
      Permalink

      char buf[33] untuk bikin variabel array, nantinya untuk string sih.

      Reply
  • July 20, 2014 at 12:08 am
    Permalink

    Kalau S
    HY SRF 05 ada pin ” OUT ” dipakai untuk apa ya mas ? Trims

    Reply
  • August 16, 2014 at 1:10 pm
    Permalink

    mas mw nanya nh, cara kontrol servo menggunakan sensor ultrasonik SRF04 tu gmana pemrogramannya? saya pkek mikrokontroler ATmega 16 dan code AVR.
    trimakasih

    Reply
    • August 18, 2014 at 8:25 am
      Permalink

      lha ngontrolnya mau digimanain ? Trus sensorny sebagai apa ? dan masih banyak yang perlu di detailkan kalau mau bikin program. Detail program silakan ke inkubatek@yahoo.com.
      Trims

      Reply
  • March 6, 2015 at 10:12 am
    Permalink

    mas mau tanya kalo pingin jarak sampai 4meter an, bagus pake sensor srf05/ hc04 ya? makasih

    Reply
    • March 9, 2015 at 8:41 am
      Permalink

      Setahu kami maksimal 3 m, kalau mau lebih coba cari yang bisa lebih jauh lagi jangkauannya seperti sonar range finder yang bisa mencapai 10 m.

      Reply
  • April 9, 2015 at 9:54 am
    Permalink

    mas gambar simulasi di atas menggunakan softwere apa yahh,, cz di proteus untuk sensor srf05 td tersedia…?

    terimakasih

    Reply
    • April 17, 2015 at 3:38 pm
      Permalink

      Itu pakai OrCad mas.

      Reply
  • August 18, 2017 at 9:52 am
    Permalink

    Mas saya mau tanya, kalau srf05 bisa pake mikrokontrol arduino gk? Trus kelebihannya dibanding hcsr04 apa ya? Kali2 masnya pernah ngebandingin.. Makasih sebelumnya..

    Reply

Leave a Reply to feri Cancel reply

WhatsApp chat
%d bloggers like this: