Interface Sensor Ultrasonik PING & SRF05

Disini saya akan share bagaimana cara menggunakan sensor ultrasonik baik menggunakan PING dan SRF05. Sebelumnya saya akan menjelaskan terlebih dahulu bagaimana prinsip kerja sensor ultrasonik.



Gelombang ultrasonik adalah gelombang dengan besar frekuensi diatas frekuensi gelombang suara yaitu lebih dari 20 KHz. Seperti telah disebutkan bahwa sensor ultrasonik terdiri dari rangkaian pemancar ultrasonik yang disebut transmitter dan rangkaian penerima ultrasonik yang disebut receiver. Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari transmitter ultrasonik. Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan, dan diterima oleh receiverultrasonik. Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda di depannya (bidang pantul).

Prinsip kerja dari sensor ultrasonik dapat ditunjukkan dalam gambar dibawah ini :



Prinsip Kerja Sensor Ultrasonik

Prinsip kerja dari sensor ultrasonik adalah sebagai berikut :

Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut berfrekuensi diatas 20kHz, biasanya yang digunakan untuk mengukur jarak benda adalah 40kHz. Sinyal tersebut di bangkitkan oleh rangkaian pemancar ultrasonik.
Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal / gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal tersebut kemudian akan dipantulkan dan akan diterima kembali oleh bagian penerima Ultrasonik.
Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal tersebut akan diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus :
S = 340.t/2

dimana S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t adalah selisih waktu antara pemancaran gelombang ultrasonik sampai diterima kembali oleh bagian penerima ultrasonik.

dibawah ini source code interface sensor ultrasonik menggunakan PING Paralaxx:

void sensorping() //source code saya buat di prosedur
{
counter=0; //variabel u/ menghitung panjang gelombang di set 0
jarak=0; //variable u/ menghitung jarak
DDRC.3=1; //pemilihan arah pin C.3 diset OUTPUT
PORTC.3=1; //inisialisasi sensor di pin C.3 diset active High
delay_us(5); //selama 5 uS
PORTC.3=0; //sensor di pin C.3 diset active Low
DDRC.3=0; // pemilihan arah pin C.3 dirubah menjadi input
PORTC.3=1; //resistor pull up akan diaktifkan
while(PINC.3==0) {};
while(PINC.3==1)
{
counter++;
}
jarak=(counter/29); //nilai pembagi dikalibrasi sesuai dgn keinginan
}

setelah diatas merupakan interface untuk sensor ultrasonik PING, sekarang kita lihat source code interface SRF05.

void sensorsrf05()
{
counter=0; //seting awal nilai count
jarak1=0;
DDRC.6=1; //pemilihan arah pin C.6 diset OUTPUT ini merupakan Pin Trigger
PORTC.6=1; //inisialisasi sensor di pin C.6 diset active High
delay_us(10); //delay min 10us u/ SRF05
PORTC.6=0; //sensor di pin C. diset active Low
DDRB.6=0;
PORTB.6=1;
while(PINB.6==0) {}; //pin echo
while(PINB.6==1) //pin echo
{
counter++;
}
jarak1=(counter/29);

}

sekarang kita panggil void sensorping() dan void sensorsrf05() di while(1) dan kita bisa cek langsung panjang jarak dari sensor ke suatu benda menggunakan LCD. dibawah ini source code untuk menampilkan jarak sensor ultrasonik ping dan SRF05 di LCD 2*16

while(1)
{
sensorping(); //kita panggil kedua prosedur ini
sensorsrf05();
lcd_clear();
lcd_gotoxy(0,0); //kolom 0 dan baris 0
sprintf(kata,"%3d %3d",jarak,jarak1);
lcd_puts(kata);
}

demikian yang saya share. mohon maaf jika ada kesalahan. terimakasih

sumber:http://atmelmikrokontroler.wordpress.com/2009/06/24/prinsip-kerja-rangkaian-sensor-ultrasonik/

1 comment:

Juna Bastian said...

kalaw source code srf05 untuk menggerakkan motor dc gmna,,,
law boleh di share di email saya vinogbastian748@gmail.com
terima kasih,,,

Post a Comment