Translate

Alat Pengukur Jarak Digital Dengan Sensor PING)))

Alat Pengukur Jarak Digital Dengan Sensor PING)))

         Kali ini akan dibahas mengenai bagaimana cara membuat alat yang dapat mengukur jarak maksimal jarak 3 meter dengan menggunakan sensor PING))), sensor PING))) memang dari segi harga lebih mahal dibanding sensor jarak lainnya seperti HC-SRF04 dan sejenisnya, namun karema mahal itu membuat sensor ini memiliki keunggulan dan kualitas tersendiri. Alat ini menggunakan ATMega16 sebagai pengolah data output yang diberikan oleh sensor PING))) yang kemudian akan ditampilkan data jarak ke layar LCD 16x2,
        Alat ini dapat mengukur jarak maksimal 3 meter dan minimal 2 cm seperti yang tertera di datasheet, untuk aplikasi dan pengembangan ini yaitu bisa untuk pengukur ketinggian air, untuk robot avoider dan lainnya. Alat ini juga bisa mengganti cara konvensional yang menggunakan penggaris atau meteran untuk mengukur panjang atau jarak suatu benda. 
Bentuk dan Konfigurasi Sensor PING)))
          Seperti yang telah dilaskan sebelumnya bahwa sensor PING))) memiliki 3 buah pin untuk dikoneksikan ke mikrokontroller, yaitu vcc, gnd dan SIG, output sensor PING))) berada pada pin SIG dan dihubungkan ke PORTB.0 mikrokontroller, untuk jarak pengukuran sensor PING))) maksimal 3 meter dan minimal 2 cm seperti umumnya ultrasonic sensor lainnya. Selain itu sensor PING))) juga memiliki spesifikasi lain yang diambil dari datasheet
           Jadi prinsip kerja sensor ini yaitu terdapat port SIG pada sensor PING))), port ini digunakan untuk dua fungsi, fungsi input dan output, untuk fungsi input dinamakan sigin dan untuk fungsi output dinamakan sigout, yang harus dilakukan untuk menggunakan sensor ini yaitu pertama  memberikan pulsa 1 sebagai sigout selama 10uS setelah itu di 0 kan kembali, kemudian port SIG difungsikan sebagai input untuk menghitung pulsa umpan balik yang didapat, sigout diberikan pulsa 1 dan menunggu hingga pulsa sigin bernilai 1, saat pulsa sigin bernilai 1 maka aka dilakukan perhitungan menggunakan TIMER1 sampai pulsa sigin bernilai 0 kembali, lalu stop TIMER1 dan data sudah didapat, begitu seterusnya, untuk lebih jelasnya perhatikan Gambar 6.41c berikut.

 


PROGRAM BASCOM AVR
$regfile = "m16def.dat"
$crystal = 12000000

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

Config Timer1 = Timer , Prescale = 64

Sigout Alias Portb.0
Sigin Alias Pinb.0
Dirsig Alias Ddrb.0
Dim Data_timer As Integer

'==================================================
Cls
Utama:
Gosub Ambil_datatimer

Data_timer = Data_timer / 10

Locate 1 , 1
Lcd Data_timer ; " cm"
Waitms 200
Cls
Goto Utama
'==================================================
Ambil_datatimer:
Dirsig = 1
Set Sigout           'bangkitkan 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







1 comment: