Sensor PING merupakan sensor ultrasonik yang dapat mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya. Tampilan sensor jarak PING ditunjukkan pada Gambar berikut:
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.
Untuk penjelasan atau prinsip aksesnya sama kok ma srf04, hanya saja untuk sensor PING hanya memakai 3 pin, pin trigger sama echo digunakan dalam 1 pin, sehingga dengan menggunakan sensor PING kita dapat menghemat penggunaan I/O mikrokontroler. Konfigurasi pin sensor PING sbagai berikut:
Timming akses sensor PING)))
Program akses Sensor Jarak [ PING))) ]dengan Bascom AVR
$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
==============================================================
ni dia video aplikasi sensor ultrasonik pada Robot-Wall Follower ato yg lebih dikenal dengan robot telusur dinding:
Posted by joko on Desember 22, 2010 at 1:19 pm
mas,…
contoh program untuk sensor ultrasonic merk DT SENSE ada g ms? thx
Posted by fahmizaleeits on Januari 1, 2011 at 10:54 am
maaf gak punya saya mas…
Posted by ikhwan on Januari 27, 2011 at 7:17 am
maas saya ada tugasuntuk sensor ultrasonic ping tpi dihubungka menuju motor DC. klo pakek contoh program diatas itu gmana ..?? mohon pencerahan mas…
Posted by fahmizaleeits on Februari 1, 2011 at 2:02 pm
ane bingung maksud pertanyaan mas yg ini “maas saya ada tugas untuk sensor ultrasonic ping tpi dihubungka menuju motor DC” apa maksudnya dari data jarak buat ngatur putaran motor DC mas? ato apa?
Posted by sulis on Januari 27, 2011 at 9:38 am
mas tanya
itu ngukur jarak bisa detect kalo ada pantulan kan?
kalo misal itu dikembangin jadi apa aja ya mas selain jadi penggaris?
tq tq
Posted by fahmizaleeits on Februari 1, 2011 at 2:05 pm
iya mas…prinsip kerjanya emang gitu, baca data pantulan…banyak mas pengembangannya terutama untuk deteksi jarak
Posted by richard on Februari 3, 2011 at 6:27 pm
Mas mau tanya ni..klo sensor ping itu bisa tidak buat ngukur level ciran (Cairan bening atau air tiak berwarna),, makasih
Posted by chinde on Februari 6, 2011 at 12:54 pm
maaf mas schematic yang anda gunakan seperti apa ya? kok saya bingung, soalnya di PING))) hanya ada 3 pin yaitu vcc, Gnd, dan Out, tapi kok di script ini mas menggunakan
Sigout Alias Portb.0
Sigin Alias Pinb.0
Dirsig Alias Ddrb.0
Posted by fahmizaleeits on Februari 17, 2011 at 7:44 pm
iya memang hanya menggunakan 3 pin ; GND,data,VCC bingung ya mas.. untuk penjelasan lebihnya bisa dilihat di help editor Bascom AVR 😀
Posted by Iswanto on Februari 8, 2011 at 9:19 pm
Ass.wr.wb. Bagus bos postingnya
Kunjungi blog saya
http://blog.umy.ac.id/iswanto/;http://iswanto.staff.umy.ac.id/
Posted by fahmizaleeits on Februari 17, 2011 at 7:44 pm
Terimakasih atas kunjungannya mas is 😀
Posted by imam on Februari 12, 2011 at 1:30 pm
mas maw tnya kl ngakses ping m pwm bersamaan gmn caranya?
aq cb gabung program ping m pwm dr posting mas kok gak bs ya?kl ad contoh program.tlg di e-mailin (imamriadin@yahoo.com)
Posted by fahmizaleeits on Februari 15, 2011 at 1:41 pm
ni pernah q alami juga mas…kenapa tidak bisa itu karena timer pwm dan timer buat ping-nya berada pada fungsi timer yg sama, oleh karena itu harus dibedakan…pada bascom avr dapat dikonfigurasi sebagai berikut:
Config Timer1 = Pwm ‘ deklarasi ini menjelaskan bahwa timer 1 (16 bit) digunakan sebagai pwm
Config Timer0 = Timer , Prescale = 1024 ‘deklarasi ini menjekaskan bahwa timer 0 (8 bit) digunakan sebagai timer biasa, selain tu fungsi timer ini dapat digunakan juga sebagai counter…
selamat mencoba 😀 semoga pemberitahuan sedikit ini dapat membantu mas imam. terimakasih atas kunjungannya 😀
Posted by wanto on Maret 3, 2011 at 12:22 am
mas, caranya mengakses ping dengan codevision gimana?
Posted by fahmizaleeits on Maret 3, 2011 at 11:04 am
lo mas is kan dah master of mikrokontroler kok malah nanya ke ane… kebalik harusnya ane yg tanya ke ente, gmana mas caranya? hehehe 😀
Posted by imam on April 18, 2011 at 8:02 pm
mas kl untuk merubah data yg dihasilkan dari ping dijadikan ke cm gmn?mhn bantuanya..kl ad contoh programNya tlg diksh tw mas..thx
Posted by fahmizaleeits on April 19, 2011 at 4:02 am
hmmm ane dah sedikit lupa caranya… harus baca referensi lagi… seingat ane sangat bergantung pada stingan timer dan crystal mikronya jika menggunakan cara timer, bisa juga pake cara delay menunggu echo-nya aktif, nah nilai delay tersebut dicoba2 aja secara eksperimental… seingat ane lagi beriksar pada 40-60 mikrosekon. selamat mencoba 😀
Posted by jko on Mei 29, 2011 at 9:24 am
Mas.., Bisa Posting materi (teori & coding) Wall Follower menggunakan PID gak..??? kyk d video mas fahmi…!!! coz kerent bgt.
Posted by fahmizaleeits on Juli 22, 2011 at 6:02 pm
iya segera akan di posting…nih lagi ngumpulin materi dulu ya 😀
Posted by Nelson on Juni 8, 2011 at 12:37 pm
mas… bisa posting yg pke bhs C++ gk??
thx
Posted by fahmizaleeits on Juli 22, 2011 at 6:35 pm
belum ada mas 😀
Posted by nining on Juni 17, 2011 at 11:29 am
mas kalo buat PID untuk robot wall follower gimana ya ngatur error nya ???
kalo line folower kan sedikit mudah di pahami .. kalo wall bingung ????
Posted by fahmizaleeits on Juli 22, 2011 at 6:50 pm
tunngu saja postingan berikutnya 😀
Posted by alfan on Juli 4, 2011 at 12:04 pm
mas, saya dah program sensor pingnya, trus pas saya coba ga bisa jalan (ga aktif..) knp ya??
Posted by fahmizaleeits on Juli 22, 2011 at 6:57 pm
cek lagi pin-pinya sudah terhubung secara benar belum
Posted by aink on Juli 18, 2011 at 11:59 pm
mau nanya bagaimana cara membuta program pada codevisionavr untuk menampilkan jarak dengan satuan mm.
Posted by fahmizaleeits on Juli 22, 2011 at 7:01 pm
maaf belum ada 😀
Posted by ed on Juli 28, 2011 at 11:29 pm
bisa koreksi g kesalahan list program sy.,.,,. rencananya mau buat sistem kontrol.,., tapi pas masuk logika tertentu eh malah g ada tampilan lagi.,.. malah harus diriset,.,..,
$regfile = “m16def.dat”
$crystal = 11059200
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Timer1 = Timer , Prescale = 64
Sigout Alias Portd.0
Sigin Alias Pind.0
Dirsig Alias Ddrd.0
Config Porta = Output
Dim Data_timer As Integer
Dim Jarak As Single
Dim Nilaibulat As Single
Dim A As Single
Dim B As Single
Dim C As Single
Dim D As Single
Dim Ketinggian_air As Single
Dim F As Byte
Inisialisasi:
Waitms 100
Initlcd
Locate 1 , 1
Lcd “demo ping”
Wait 1
Cls
Utama:
Gosub Ambil_datatimer
Locate 1 , 1
Lcd Fusing(jarak , “##.##”) ; ” cm”
Locate 2 , 1
Lcd Fusing(d , “##.##”) ; ” cm”
Wait 1
Cls
Goto Utama
Ambil_datatimer:
Dirsig = 1
Set Sigout
Waitus 10
Reset Sigout
Dirsig = 0
Set Sigout
Bitwait Sigin , Set
Data_timer = 0
Timer1 = 0
Start Timer1
Do
If Sigin = 0 Then
Data_timer = Timer1
Jarak = Data_timer / 10
‘Nilaibulat = Fusing(Jarak , “##.##”)
A = 57
B = 0.5
C = Jarak * B
D = A – C
‘ketinggian_air = Fusing (D , “##.##”)
Stop Timer1
Exit Do
End If
Do
If D 48 And D 50 And D 52 And D < 54 Then
F = 7
Porta = F
Loop Until D 48.,., n g jalan2 lagi.,.,.,
email aja mas ya.,.,.
edy+syahroni33@yahoo.com
maksi sebelumnya.,.,.,
Posted by fahmizaleeits on Agustus 4, 2011 at 10:18 am
sepertinya ada trouble pada kondisonal-nya, ane gk paham dengan variabel D 48 itu apa?
Posted by cimu_kirana on April 6, 2012 at 3:45 pm
If D 48 And D 50 And D 52 And D < 54 Then
harusnya
If D = 48 And D = 50 And D = 52 And D < 54 Then
Posted by dash racer on Januari 22, 2012 at 3:03 pm
mas…maksudx tifr itu apa n kok pake .2??
di tifr.2
Posted by Fahmizal on Januari 23, 2012 at 12:19 am
akhirnya seneng nemu komentar yg kritis… sebenarnya tifr.1 penjelesannya ialah
‘when the timer overflows, a flag named TOV0 in register TIFR is set
‘You can use this to execute an ISR
‘To reset the flag manual in non ISR mode you must write a 1 to the bit position
‘in TIFR:
Set Tifr.1
trims kunjungannya ^_^
Posted by Bas on Februari 21, 2012 at 12:56 am
Mas berarti perintah tifr.2 =1 itu untuk mengembalikan timer ke awal lagi
betul apa tidak?
Posted by danel on Februari 10, 2012 at 11:32 am
mas.. saya mw bwt TA dispenser otomatis, kira2 bs tidak sensor Ping digunakan untuk mengontrol ketinggian air pada gelas air minum… dimana pada jarak tertentu sensor m’hasilkan keluaran untuk mematikan kran…
mohon penjelasannya mas…
terima kasih
Posted by Fahmizal on Februari 20, 2012 at 8:16 pm
sensor ping sangat recomended buat pengugukaran jarak..termasuk dalam aplikasi yg mas iginkan 😀
Posted by ifanmaul on Februari 20, 2012 at 5:39 pm
mas, mau nanya kalo sensor ping bisa ditempatkan di outdoor gak? terus bisa dikasih penutup / cover ga buat pelindungnya?
Posted by Fahmizal on Februari 20, 2012 at 8:31 pm
bisa… dan sebaiknya memang diberi pelindung 😀
Posted by indra on Februari 22, 2012 at 8:21 pm
mas mau tanya kao PID untuk lf uda fix nih,,trus saya pengen nyoba sensor samping,,itu ditaruh dimana ya prosedur deteksi croos untuk mapping???oia untuk menyimpan data cross gmn ya mas source code pake bascom????
ni programnya mas:
$regfile = “m8535.dat”
$crystal = 11059200
$eeprom
‘============sensor============
Sensor Alias Pina
Porta = 255
‘============motor=============
‘Pwmka Alias Portd.5
Kamaju Alias Portd.1
Kimaju Alias Portd.2
‘Pwmki Alias Portd.4
Config Portd.1 = Output
Config Portd.2 = Output
‘============tombol============
Config Pinc.7 = Input
Config Pinc.6 = Input
Config Pinc.5 = Input
Config Pinc.4 = Input
Tombol1 Alias Pinc.7
Tombol2 Alias Pinc.6
Tombol3 Alias Pinc.5
Tombol4 Alias Pinc.4
Set Portc.7
Set Portc.6
Set Portc.5
Set Portc.4
‘============lcd===============
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , E = Portb.5 , Rs = Portb.7
Config Lcd = 16 * 2
Cursor Off
Dim S1 As Word
Dim S2 As Word
Dim S3 As Word
Dim S4 As Word
Dim S5 As Word
Dim S6 As Word
Dim S7 As Word
Dim S8 As Word
Cls
‘============pwm===============
Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
‘Config Portd = Output
‘====deklarasi subrutin=======
Declare Sub Pwm(byval Kiri As Byte , Byval Kanan As Byte)
Declare Sub Scaningsensor
Declare Sub Settingkecepatan
Declare Sub Kdd
Declare Sub Kpp
‘====deklarasi PID============
Dim Sensor As Byte
Dim Pwm_max As Integer , Pwm_ka As Integer , Pwm_ki As Integer
Dim Kp As Integer , Kd As Integer , Pv As Integer , Error As Integer , Sp_sensor As Integer , P As Integer , Last_error As Integer , Pid As Integer , Pd As Integer
Dim Ki As Integer , I1 As Integer , I2 As Integer , I3 As Integer , I As Integer
Dim D1 As Integer , D2 As Integer , D3 As Integer , D As Integer , N1 As Integer , N2 As Integer , Ts As Byte
‘============================================================================
Inisialisasi:
Readeeprom Kp , 0
Readeeprom Kd , 0
Readeeprom Pwm_max , 10
Pv = 0
Error = 0
Sp_sensor = 0
Ki = 0.6
Ts = 10
Waitms Ts ‘TIME SAMPLING
Call Pwm(0 , 0)
‘=======PENGATURAN==========
Atur:
S8 = Pina
Locate 1 , 2
Lcd Pina.7
S7 = Pina
Locate 1 , 4
Lcd Pina.6
S6 = Pina
Locate 1 , 6
Lcd Pina.5
S5 = Pina
Locate 1 , 8
Lcd Pina.4
S4 = Pina
Locate 1 , 10
Lcd Pina.3
S3 = Pina
Locate 1 , 12
Lcd Pina.2
S2 = Pina
Locate 1 , 14
Lcd Pina.1
S1 = Pina
Locate 1 , 16
Lcd Pina.0
Waitms 5
Locate 2 , 4
Lcd “TEST SENSOR”
Waitms 1
If Tombol1 = 0 Then
Cls
Call Settingkecepatan
End If
If Tombol2 = 0 Then
Cls
Call Kpp
End If
If Tombol3 = 0 Then
Cls
Call Kdd
End If
If Tombol4 = 0 Then
Cls
Reset Kamaju
Reset Kimaju
Call Pwm(255 , 255)
Goto Utama
End If
Goto Atur
‘===========MULAI===========
Utama:
If Sensor = &B00000000 Then Goto Utama
If Pina.3 = 1 Then Goto Lurus ‘diasumsikan INI ADALAH NILAI sp
If Pina.4 = 1 Then Goto Lurus
Call Scaningsensor
Isi_pwm:
‘=====ERROR=======
Error = Sp_sensor – Pv
‘======PROPOTIONAL CONTROL===
P = Kp * Error
‘=====DERIVATIF CONTROL====
D1 = Kd * 8 ‘dikalikan mode pwm 9 bit
D2 = D1 / Ts
D3 = Error – Last_error
D = D2 * D3
‘=======KONSTANTA INTEGRATIF=====
I1 = Ki / 8
I2 = Error + Last_error
I3 = I1 * I2
I = I3 * Ts
‘=======ERROR LAMPAU=======
Last_error = Error
‘===proportional-INTEGRATIF-derivative control===
Pd = P + D
Pid = Pd + I
‘====HITUNG KONDISI======
Pwm_ka = Pwm_max + Pid
Pwm_ki = Pwm_max – Pid
Pwm_ka = Pwm_ka + Pid
Pwm_ki = Pwm_ki – Pid
If Pwm_ka >= 0 And Pwm_ki >= 0 Then Gosub Maju
If Pwm_ka = 0 Then Gosub Kanan ‘ batasan PWM
If Pwm_ka >= 0 And Pwm_ki < 0 Then Gosub Kiri
If Pwm_ka < 0 Then Pwm_ka = 0 – Pwm_ka
If Pwm_ki Pwm_max Then Pwm_ka = Pwm_max
If Pwm_ki > Pwm_max Then Pwm_ki = Pwm_max
Pwm1a = Pwm_ka ‘ isi PWMnya
Pwm1b = Pwm_ki
‘Home
‘Lcd “nilai pwm_ka : ” ; Pwm1a ;
‘Lowerline
‘Lcd “nilai pwm_ki : ” ; Pwm1b ;
‘====subrutin motor====
Lurus:
Reset Kamaju
Reset Kimaju
Call Pwm(160 , 160)
Goto Utama
‘======================
Maju:
Reset Kamaju
Reset Kimaju
Return
Kanan:
Set Kamaju
Reset Kimaju
Return
Kiri:
Reset Kamaju
Set Kimaju
Return
‘=======sub pwm=========
Sub Pwm(byval Kiri As Byte , Byval Kanan As Byte)
Pwm1a = Kanan ‘0C1A=PORTD.5=PWMKA
Pwm1b = Kiri ‘0C1B=PORTD.4=PWMKI
End Sub
‘===========SUB ISI BOBOT ATAU ERROR=========
Sub Scaningsensor
Select Case Sensor
Case &B0000_0001 : Pv = -7
Case &B0000_0011 : Pv = -6
Case &B0000_0111 : Pv = -6
Case &B0000_0010 : Pv = -5
Case &B0000_0110 : Pv = -4
Case &B0000_1110 : Pv = -4
Case &B0000_0100 : Pv = -3
Case &B0000_1100 : Pv = -2
Case &B0001_1100 : Pv = -2
Case &B0000_1000 : Pv = -1
Case &B0001_1000 : Pv = 0
Case &B0001_0000 : Pv = 1
Case &B0011_1000 : Pv = 2
Case &B0011_0000 : Pv = 2
Case &B0010_0000 : Pv = 3
Case &B0111_0000 : Pv = 4
Case &B0110_0000 : Pv = 4
Case &B0100_0000 : Pv = 5
Case &B1110_0000 : Pv = 6
Case &B1100_0000 : Pv = 6
Case &B1000_0000 : Pv = 7
Case &B0000_0000 : Pv = 8
‘===========SAAT KELUAR GARIS========
If Pv > 1 Then : Pv = 10 : Goto Isi_pwm : End If
If Pv < -1 Then : Pv = -10 : Goto Isi_pwm : End If
If Pv 0 Then : Pv = 8 : End If
End Select
End Sub
‘=============ATUR KP================
Sub Kpp
Do
Locate 1 , 1
Lcd “KP=” ; Kp ; “” ;
If Tombol1 = 0 Then
Cls
Incr Kp
Waitms 200
If Kp > 255 Then
Cls
Kp = 0
End If
End If
If Tombol2 = 0 Then
Cls
Decr Kp
Waitms 200
If Kp 255 Then
Kd = 0
End If
End If
If Tombol2 = 0 Then
Cls
Decr Kd
Waitms 200
If Kd 255 Then
Cls
Pwm_max = 0
End If
End If
If Tombol2 = 0 Then
Cls
Decr Pwm_max
Waitms 200
If Pwm_max < 5 Then
Pwm_max = 255
End If
End If
If Tombol3 = 0 Then
Cls
Writeeeprom Pwm_max , 10
Exit Do
End If
Loop
End Sub
Posted by Fahmizal on Februari 24, 2012 at 10:33 pm
sensor sampingnya pake adc ato komparator…kalo teknik deteksi simpang ato cross dengan sensor samping dapat kamu lakukan dengan cara status… pertama saat sensor samping mendeteksi line (hitam) maka kamu buat aja status kondisi, misal deteksi_hitam=1… nah setelah itu jump ke subrotin pengecekan, jika saat di subrotin penegcekan deteksi putih itu tandanya ada toogle kondisi dari hitam ke putih… nah tandanya ada simpang kalo selama subrotine pengecekan tak ada toogle tandanya tak ada simpang…itu algoritma sederhanya mas…silakan dicoba semoga berhasil 😀
Posted by indra on Februari 25, 2012 at 9:53 am
ok ,as fahmi ,,siap coba nih…doakan berhasil..:D
Posted by indra on Februari 25, 2012 at 5:29 pm
mas kalo untuk membaca dan menulis ato melihat kondisi sebelumnya itu apa harus pake writeeeprom ma readeeprom,,oia mas maksud dari writeeeprom var, adress itu gimana mas???apa sama dengan if then gtu mas,,maaf mas bnyak nanya,,soale masih setengah2 tau mas…
Posted by lukman on April 14, 2012 at 12:42 am
mas kalo menggunakan codevision atau bahasa c nya gimana???
Posted by gie on Mei 25, 2012 at 3:24 pm
Mas saya pake program mas dimodif2 dkit..hasilnya sdh akurat… cm sy g ngrti..ada bbrapa sy baca di contoh2 program yg lain dan artikel2.. itu diperlukan rumus 2s=v.t tp di program sy tdk pk dikasih rmsnya itu utk mndptkan jarak,pk timer aj sdh ckup akurat. penjlasanya gmn ya tuh mas?terimakasih
Posted by dika on Mei 28, 2012 at 1:25 pm
mas kalau sensor ini dibuat untuk otomatisasi air conditioner bisa gak?
Posted by azis eko saputro on Mei 29, 2012 at 3:31 pm
MAS bntu sya dunkk..
bngung nich gmn bhasa program jika memakai Sensor ping ini lalu output.a Alarm??
sy mnggunakan IC AT89S51..
apa bsa menggunakan bhasa Assembler??
#mhon bntuan.a mas, krim k email azisekosaputro@gmail.com
Posted by cahyono on Juni 2, 2012 at 11:07 am
mas tolong bantuanya gimana cara mengerjakan 2 buah sensor ping secara bersamaan. . menggunakan bascom 8051. . .
dan bagaimna cara mereset timer pada bascom 0851.
trims. .
Posted by purnama on Juni 12, 2012 at 1:23 pm
mas..minta bantuan nya…saya mau buat robot mobil pengikut dinding…tlong kirim program nya ya mas….terus apa saja materi yg harus di kuasai nya…
terimakasih.
di tunggu blasan nya..
Posted by purnama on Juni 12, 2012 at 1:38 pm
programnya menggunakan AVR mas…
Posted by angga on Juli 6, 2012 at 9:44 am
mas fahmi…. mau tanya itu data timernya lebar pulsa atau waktu tempuh.. kalau iya satuannya menopo geh.. (us, ms atau s) ngapunten…. dereng ngertos matur nuwun…
Posted by Cecep Ependi on Juli 12, 2012 at 12:36 pm
Mas fahmi,,sebelumnya saya ucapkan banyak terimakasih untuk semua informasinya.saya mau tanya mas,kebetulan saya sedang membuat sensor jarak dengan ping ini.dan programnya juga saya gunakan yang dari mas fahmi.setelah saya coba hasilnya ternyata langsung ngitung jarak yach,yang Data_timer nya itu.bukan menghitung kec. gelombangnya.dan tampilan di LCD nya juga bilangan bulat dengan satuan CM, kalau misalnya saya pengin nampilin nilainya dalam bentuk bilangan desimal,bisa ngga mas??misalnya dua angka dibelakang koma.atau satuannya jadi MM.
dan saya bingung juga, knapa formula yang Jarak = kec. suara/2 X waktu. ko ngga dipake?
maaf mas banyak nanya,ma’lum masih newbie
Terimakasih banyak,
ditunggu jawabanya.
Posted by Rizki Fauzi on Agustus 30, 2012 at 4:16 am
maaf kk..minta rumus sensor ping donk.kan disensor ping ada counter.nah rumusnya apa tuh?thx
Posted by Ahmadhi Noor on September 17, 2012 at 3:21 pm
E_last = 0
Pilih = 1
Kons_p Alias P(1)
Kons_i Alias P(2)
Kons_d Alias P(3)
Config Timer1 = Pwm , Pwm = 10 , Prescale = 64 , Compare A Pwm = Clear Down
Timer0 = 255
Config Timer0 = Timer , Prescale = 1024
On Ovf0 Pid
Enable Timer0
Enable Interrupts
Declare Sub Kontrol_suhu
Declare Sub Kontrol_posisi
mau tanya mksud pnjelasannya ap ka
Posted by dian on Desember 7, 2012 at 4:36 pm
sebelumnya terimakasih atas ilmunya, karna saya banyak menimba ilmu dari blog mas ini. dan mau nanya mas, saya mau mmbuat penstabil cairan didalam tangki menggunakan PING sbgai pembacaan kitinggian cairan. singkat kata apabila cairan didalam tangki berada dilevel bawah ( Level low) maka pompa akan aktif untuk mengisi kembali cairan didalam tangki,sampai cairan berada dilevel atas(level high) maka pompanya mati secara otomatis. dan pembacaan ketinggian cairan yang di baca oleh PING akan ditampilkan di LCD 2×16. kira2 ada bahan yang bisa jadi pencerahan ngak..?
CTT: menggunakan ATMega8535 dan bascom avr
syukron..
Posted by Fahmizal on Desember 9, 2012 at 10:11 am
itu bahan2nya sudah kamu dekripsikan… maksudmu bahan2 lain kah… ya mungkin mekanisme level airnya bisa menggunakan teknik variabel resistant menggunakan sistem bandul… etc
Posted by azhar on Januari 3, 2013 at 9:21 am
Apakah semua sensor ping PWM nya sama mas?
bisa dijelaskan…?
Posted by ALfian Fortrandyka on April 3, 2013 at 11:00 pm
mas, mau tanyagmana coding nya ; data jarak buat ngatur putaran motor DC mas, misal ; jarak semakin pendek maka kecepatan motor akan semkin cepat , apabila jarak nya jauh/panjang motor DC kecepatan normal.
gmana ya mas ?
Posted by dian on April 24, 2013 at 8:55 pm
$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
‘=====================================================
Mas bsa tlong koreksi g program ne.
inti dri program ne untuk menampilkan hasil pembacaan sensor ping pada lcd dalam satuan cm. pas mau di compile ada erornya.
mohon pencerahannay.
Posted by budihari on Mei 12, 2013 at 1:37 pm
klo untuk cepat rambat dalam air gmn gan.. untuk mengukur ketinggian air
Posted by goldfa on Mei 23, 2013 at 11:54 am
Saya punya sedikit masalah dengans ensor Ping yang saya gunakan. Daya yang dipakai oleh robot yang saya miliki berasal dari baterai charger, jika daya baterai mulai sedikit lemah proses pembacaan dari sensor Ping mulai error. Apakah ada cara untuk mengatasi hal itu. Tentunya selain proses penggantian baterai.
ini blog saya: http://bocah-cakil.blogspot.com
Posted by tulus situmeang on September 21, 2014 at 11:47 pm
mas bisa minta flowchart untuk sensor PING))) nya aja…
bagai mana sistem pembacaan jarak nya…?
Posted by Wisnu Adi Pamungkas on Februari 2, 2016 at 5:14 pm
Selamat sore mas, mau tanya untuk penggunaan sensor ping sebagai referensi kecepatan putaran motor (PWM) –. kenapa sering terjadi error ya? itu pengaruh dari apa ya? voltage? ato ada yang lain? saya memakai arduino mega 2560…terima kasih.
Posted by Ryan on April 27, 2016 at 10:58 pm
Gini mas saya punya konsep sensor pinknya mau saya taru di porta 0 dan saya pakai lcd saya ama kaya mas di port c lalu saya ingin jika jarak pada lcd 30 cm maka kelauaran waktu untuk mengatur lampu selama 4 detik gmna yha mas bisa bantu gha mas lewat emil juga boleh mas Ryanramadhan6665333@gmail. Com
Posted by Muhammad Aldrin on Desember 13, 2016 at 12:44 pm
Mas fungsi cek register timer overflow buat apa ya?
Posted by Efa on Februari 26, 2017 at 8:24 pm
mas, pin sig dari sensor ultrasonik ping nyambung ke mana ya kalo pake arduino mega 2560