sensor ping buatan paralax (ultrasonic)


sensor ping (ultasonic) adalah modul pengukur jarak dengan ultrasonic buatan Parallax Inc. sensor  ini dapat mengukur jarak antara 3 cm sampai 300 cm. keluaran dari sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5 mS.

Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.

Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Ping  hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke Ping. Selama menunggu pantulan, Ping akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh Ping. Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara Ping dengan objek.

$regfile = “m8535.dat”
$crystal = 8000000

Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0

Config Timer1 = Timer , Prescale = 64

Sigout Alias Portb.0
Sigin Alias Pinb.0
Dirsig Alias Ddrb.0
Dim Data_timer As Integer
‘==================================================
Inisialisasi:
Waitms 100
Initlcd
Locate 1 , 1
Lcd “demo ping”
Wait 1
Cls
Utama:
Gosub Ambil_datatimer
Locate 1 , 1
Lcd Data_timer
Wait 1
Cls
Goto Utama
‘==================================================
Ambil_datatimer:
Dirsig = 1
Set Sigout                                               ‘bankitkan pulsa
Waitus 10
Reset Sigout

‘terima pulsa ubah dulu jadi input
Dirsig = 0                                               ‘jadi input
Set Sigout                                               ‘pull up internal diaktifkan
Bitwait Sigin , Set
Data_timer = 0
Timer1 = 0
Start Timer1

Do
If Sigin = 0 Then
Data_timer = Timer1
Stop Timer1
Exit Do
End If

If Tifr.2 = 1 Then                                    ‘cek register timer1 overflow?
Stop Timer1
Tifr.2 = 1
Data_timer = 0
Exit Do
End If
Loop
Stop Timer1
Return
‘=====================================================

4 thoughts on “sensor ping buatan paralax (ultrasonic)”

  1. mas, saya sudah coba program anda di mikro saya (atmega8535) tapi tetap ping saya (saya menggunakan SRF05 yg difungsikan sama seperti ping 1 I/O) tetap tidak mau bekerja. saya pikir ping saya rusak,namun saya ketika menggunakan at89s52 bisa bekerja. nah disini saya sangsi terhadap timer/counter saya yg ga bekerja karena saat saya simulasi counter tidak melakukan counting, bisakah anda membantu saya? terima kasih banyak.

  2. Asalammualaikum Wr.Wb
    Salam kenal kepada pemilik Blog ini….
    Saya Rizky,
    Saya ingin mengucapkan banyak terima kasih atas tulisan yang sudah Anda buat,
    begitu banyak manfaatnya bagi Saya….

    Saya berharap jangan pernah terus berhenti berkarya dan menuliskan artikel untuk pembelajaran.
    Bila perlu Buat Web Resmi agar bisa terus berdiskusi.

    Wasalam…..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s