Sensor Jarak (SRF04)


Sensor SFR04 adalah sensor ultrasonik yang diproduksi oleh Devantech. Sensor ini merupakan sensor jarak yang presisi. Dapat melakukan pengukuran jarak 3 cm sampai 3 meter dan sangat mudah untuk dihubungkan ke mikrokontroler menggunakan sebuah pin Input dan pin Output.

Sensor Devantech SRF-04 bekerja dengan cara memancarkan sinyal ultrasonik sesaat dan menghasilkan pulsa output yang sesuai dengan waktu pantul sinyal ultrasonik sesaat  kembali menuju sensor. Dengan mengukur lebar pulsa pantulan tersebut jarak target didepan sensor dapat diketahui.

Untuk dapat memhami cara kerja dari sensor SRF04 ini perhatikan timming dari pulsa masukan dan keluaran sensor berikut ini:

Berdasarkan data timming diagram, sensor akan memberikan informasi jarak pembacaan dengan informasi berupa pulsa PWM dengan lebar 100µS sampai dengan 18mS.

Dengan 2 buah pin kontrol, antara lain sebuah pin input triger dan sebuah pin output data. Untuk mengaktifkan sensor maka modul diberi triger pulsa maka sensor akan mengeluarkan sinyal pwm dan duty cycle tersebut sebagai jarak objek dengan sensor .

Mikrokontroller memberikan sinyal pulsa high pada pin triger pulse input dari sensor untuk mengaktifkan sensor ultrasonik. Untuk menghitung lebar PWM mengunakan timer0. Pin echo pulse output terhubung dengan pin-pin pada mikrokontroler. Ketika pin echo pulse output high maka timer0 aktif dan ketika pin echo kembali bernilai low maka timer0 dimatikan dan data TCNT0 diambil sebagai data jarak.

Program  akses Sensor Jarak (SRF04) dengan Bascom AVR

$regfile = “m8535.dat”                   ‘menggunakan Atmega8535 sebagai preprosesor

$crystal = 12000000                         ‘menggunakan crystal clock 12 MHz

‘————————inisialisasi Timer—————————

Config Timer0 = Timer0 , Prescale = 1024

‘————————inisialisasi LCD—————————-

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.2 , Rs = Porta.0

Config Lcd = 16 * 2

‘———————-konfigurasi pin mikro————————

Config Portc.1 = Output

Config Pinc.0 = Input

Outus Alias Portc.1 ‘trigger

Ultra Alias Pinc.0    ‘aktif srf04

‘———————–deklarasi variabel—————————-

Dim Dae As Integer

Dim Data1 As Integer

Dim Data2 As Integer

Dim A As Integer

‘———————–deklarasi subrutin—————————-

Declare Sub Ultra()

‘———————– main program———————————

Cls

Home

Lcd “Demo srf04”

Lowerline

Lcd “oleh Fahmizal”

Wait 2

Do

Cls

Call Ultra()

Loop

End

‘—————-subrutin baca sensor ultrasonik———————-

Sub Ultra()

Enable Interrupts

Enable Timer0

‘———–kosongkan nilai variabel———————————-

Tcnt0 = 0

A = 0

Data1 = 0

Data2 = 0

Dae = Tcnt0

‘—————-memberi trigger ke srf04—————————-

Reset Outus

Waitus 10                                                ‘tunda sebesar 10 uS

Set Outus

Waitus 10                                                ‘tunda sebesar 10 uS

Reset Outus

‘————————————————————————–

Do

Loop Until Ultra = 1

Start Timer0

Do

Loop Until Ultra = 0

Stop Timer0

Dae = Tcnt0

Data1 = A * 256

Data2 = Data1 + Dae

Cls

Home

Lcd “Data jarak sensor”

Lowerline

Lcd Data2

Disable Interrupts

Disable Timer0

Waitms 10

End Sub

‘———kondisi jika terjadi overflow pada timer——————

Overflow:

A = A + 1

Return

==============================================================

ni dia video aplikasi sensor ultrasonik pada Robot-Wall Follower ato yg lebih dikenal dengan robot telusur dinding:

==============================================================

ni dia video aplikasi sensor ultrasonik pada Wall Follower ato yg lebih dikenal dengan telusur:

47 responses to this post.

  1. Posted by faqih on Desember 8, 2010 at 2:39 pm

    assalamu’alaikum…

    mas,,sy mau nanya nih,,,
    sy kan dpt tgs matkul mikro,,
    nah,,sy tgsnya bikin alat yg pake srf04,,
    sy coba program di atas, dengen perubahannnya di port/pin nya mas,,sy pake port/pin C,,,
    tp pas di compile di bascom,,kok ada errornya ya mas,,
    errornya “label not found [pind.5…….”
    itu knp ya mas?

    Balas

    • Waalaikumsallam…itu terjadi kesalahan pada inisialisai portnya…coba buka lagi help editor pada bascom AVR disana ada bantuan petunjuk cara penulisanya…

      Balas

      • Posted by layudh on Januari 3, 2013 at 10:32 am

        mas maksudnya label not found itu apa??? dicari di help editornya gak lengkap…

      • Posted by layudh on Januari 3, 2013 at 10:35 am

        maaf mas pas bagian memberi trigger, itu teh outms atau outus??? bedanya apa??? soalnya d bascom ke duanya juga ada…

  2. Posted by holand on Desember 21, 2010 at 3:51 pm

    mas, kalo program itu bisa dipake untuk 2 buah srf04 gak ??

    Balas

  3. Assalamu’alaikum wr.wb
    Mas, saya mau tanya soal harga produk2 dari mas fahmi harganya berapa ya? kalau boleh tolong kirim katalog produk ke alamat emailku.
    Q kepingin jadi reseller produk dari mas fahmi. di solo yg jualan sensor blom ada, jd mohon dengan sangat. di solo prospeknya bagus.

    Balas

  4. Posted by muhlis on Januari 5, 2011 at 3:35 pm

    mas berapa harga sensor srf 04 ? kalau ada bisa pesan lewat mana

    Balas

  5. Posted by ikhwan andrianto on Januari 8, 2011 at 4:42 pm

    Assalamu’alaikum wr.wb
    mas.. saya mau tanya..
    kalo pakek sensor jenid lain pengaruh pa ndak sama sample diatas..(saya pakek pink parallax).. mohon pencerahannya..

    Balas

  6. misi mas numpang tanya… sebenernya efek mendasar pake crystal internal dengan external apa ya? kan sy pake internal 1mhz ama external 12mhz untuk waitms 1000 misal, kan ttp sekitar 1secon.. mohon pencerahannya mas.. cz sy pk atmega128, mu pk 16Mhz.. kan umumnya rata2 pk 12Mhz.. tp ttp bascom, krn sy satu aliran dgn mas, bascom paling mudah.. hehehe.. mohon pencerahannya.. terimakasih…

    Balas

  7. Posted by sulis on Januari 27, 2011 at 10:39 pm

    om minta tolong
    kalo sensor kecepatan dengan srf04 atau srf06 gimana rangkaian sama program nya
    mohon bantuan nya

    Balas

  8. Posted by sulis on Januari 27, 2011 at 11:49 pm

    kalo bisa di tag ato kirim ke notice14@gmail.com ya
    makasi banyak

    Balas

  9. Posted by rahmat on Februari 3, 2011 at 3:47 pm

    mas mau tanya

    listing diatas itu tampil diLCDnya masksimal y sampe 3 mter,

    ato ada list progrm yg laen biar tambah jauh jaraknya

    terima kasih atas jawabannya

    Balas

  10. Ass.wr.wb. Bagus bos postingnya
    Kunjungi blog saya
    http://blog.umy.ac.id/iswanto/;http://iswanto.staff.umy.ac.id/

    Balas

  11. Posted by sulis on Februari 27, 2011 at 9:27 am

    kalo pengukur kecepatan dan percepatan menggunakan srf04 bisa kah om?

    Balas

    • setahu ane ni sensor kebanyakan diaplikasikan buat jarak, tapi sepertinya bisa buat diaplikasikan sebagai kecepatan…coz waktu belajar fisika dulu ada rumus, dimana V (kecepatan) = S ( jarak) / t (waktu), sedangkan percepatan ialah turunan dari kecepatan… selamat mencoba 😀

      Balas

  12. Posted by muhlis on Maret 25, 2011 at 2:43 am

    asslm mas bisa minta tolong bantuan
    saya muhlis mahasiswa atem muhammadiyah makassar
    sekarang lagi penyusuna tugas akhir, saya butuh program sensor srf 04 menggunakan at89s51.
    saya lagi angkat TA tongkat tuna netra mas, mohon bantuaanx di kirim di email aja muhlis_astro@yahoo.com
    thanks sebelumnya

    Balas

  13. Posted by saud on April 26, 2011 at 3:23 pm

    maaf mas, salam kenal. saya lagi buat penelitian tentang miniatur rem mobil otomatis menggunakan sensor jarak, yang saya gunakan mcs52 pada robot follower. tolong pencerahan dari mas…. idenya tx

    Balas

    • hmmm menarik sakali itu mas, ane juga dah pernah merancangnya mas, yaitu pengereman dengan kontrol pid, tapi plantnya pada percobaan mobile robot belum diterapkan pada mobil beneran hehehhee 😀

      Balas

  14. Posted by prakoso on Oktober 11, 2011 at 2:52 am

    terimakasih mas, tulisan2nya sangat membantu , semoga makin sukses! 😀

    Balas

  15. Posted by prakoso on Oktober 13, 2011 at 10:04 pm

    maap mas, dengan listing spt diatas, bisa minta gambar rangkaiannya ngga ya? soalnya, setelah sy donlot ke rangkaian saya kok ga bisa.. terimakasih sekali.

    Balas

  16. Posted by artha on November 25, 2011 at 3:32 pm

    mantp mas video’a…
    lo bleh tau gmn program utk pid cntrol’a tu mas… lo bsa krim k email sya..

    Balas

  17. Posted by nito on Desember 27, 2011 at 7:41 pm

    mas fahmi setelah membaca artikel anda,. saya punya gambara membuat alat pengukur tinggi badan,..
    tampilan numeriknya pada LCD boleh juga Seven segmen. kira2 apa saja yang saya butuhkan untuk membuat alat tsb.
    terimakasih

    Balas

  18. Posted by ardillahprawira on Maret 1, 2012 at 8:15 am

    mau nanya kalo srf04 ana baca-baca review yang pernah pake itu kadang ada masalah hang.
    http://arduino.cc/forum/index.php/topic,50048.5/wap2.html
    kira2 apa solusinya mas?

    Balas

  19. Posted by bienThar on April 10, 2012 at 5:46 pm

    mas klo srf 04 dipasang di atmega 16 bisa apa ndak..?
    truz di pasang di port apa?
    makasi.. 🙂

    Balas

  20. Posted by nasrie on Mei 21, 2012 at 8:51 pm

    mas kalo 2 sensor srfnya di pasang di 1 atmega 16 bisa ap nggakya mas…?
    mohon dibantu mas
    tolong di jawab d sini ; nasriebin@yahoo.co.id
    makasi…

    Balas

  21. Posted by jos gandos on Oktober 16, 2012 at 9:52 pm

    mas nanya..itu angka 256 nya dari mana ya di dapatkan????di rumus tsb???

    Balas

  22. Posted by gagas on November 19, 2012 at 9:52 pm

    ass mas salam kenal, mhn tanya kalo sensornya srf 04 d ganti sensor tranducer ultrasonik gmana pengaruhnya

    Balas

  23. Posted by nunu on Februari 14, 2013 at 12:21 pm

    label not found pas di pinc kenapa? bagaimana caranya terimakasih

    Balas

  24. mas tolong dibantu pas di compile hasilnya “label not found pas di pinc kenapa? bagaimana caranya terimakasih

    Balas

  25. Posted by anton hidayat on September 17, 2015 at 4:57 pm

    da saya anton hidayat pembimbing dari Padang… alah makan fahmi…hehehehe..salam urang awak

    Balas

  26. Posted by nadia on Maret 2, 2016 at 10:52 am

    Mas bagi saya bhsa program arduino dan ping,terima kasih

    Balas

  27. Posted by Karima Rahmawati Rizki on November 18, 2017 at 4:09 pm

    asalamualaikum..saya mau nanya kalo sensor SFR04 bisa gak ya dihubungkan dengan raspberry pi ???

    Balas

Tinggalkan Balasan ke rahmat Batalkan balasan