Pada artikel kali ini saya akan membagikan tutorial cara mengakses SRF04 dengan menggunakan mikrokontroler AVR atmega 32 . Nah sebelum mencobanya saya jelaskan terlebih dahulu tentang apa itu Srf04.Ultrasonik atau Srf04 adalah merupakan sensor yang berisi transmitter dan receiver ultrasonic, sensor dapat digunakan untuk mengukur jarak. Sensor ini mengukur jarak dengan cara menghitung selisih waktu antara saat pemancaran sinyal dan saat penerimaan sinyal pantul. Seperti diketahui, kecepatan rambat suara diudara adalah 34399,22 cm/detik, berarti untuk merambat sejauh 1 cm suara membutuhkan waktu 29 mikro detik. Misalkan waktu antara pengiriman dan penerimaan sinyal ultrasonic adalah 5800 mikro detik, maka jarak antara sensor dan benda ( penghalang ) adalah 100 cm. ( 2 x 100 cm x 29 mikro detik/cm = 5800 mikro detik ).
SRF04 hanya menggunakan 2 port I/O untuk berhubungan dengan mikrokontroler, sehingga sangat ideal untuk aplikasi-aplikasi robotika, SRF04 dapat mengukur jarak antara 3 cm sampai 3 m, dan dapat mengukur benda dengan diameter 3 cm pada jarak kurang dari 2 meter. Pulsa Ultrasonik yang dikirim oleh SRF04 adalah sinyal ultrasonic dengan frekuensi 40 KHz sebanyak 8 periode setiap kali pengiriman. Ketika pulsa mengenai benda penghalang, maka pulsa ini akan dipantulkan kembali dan diterima kembali oleh penerima ultrasonic. Dengan mengukur selang waktu antara saat pulsa dikirim dan pulsa pantul diterima, maka jarak benda penghalang bisa dihitung.Apabila PI ( triger pulsa input ) diberi logika 1( high )selama minimal 10 uS maka SRF04 akan memancarkan sinyal ultrasonic, setelah itu pin PO ( echo pulsa output ) akan berlogika high selama 100 uS – 18 mS. ( tergantung jarak sensor dan penghalang ) dan apabila tidak ada penghalang maka PO akan berlogika 1 selama kurang lebih 38 mS.Misalkan lama Echo Pulse adalah T, maka untuk mengetahui jaraknya dapat diketahui dengan cara membagi T dengan 58 (T/58) untuk satuan senti meter dan dibagi dengan 148 (T/148) untuk satuan inchi. Misalkan panjang Echo pulse adalah 5800 mikro detik maka jarak benda adalah 1 meter ( 5800/58=100 cm=1 meter ).
Berikut adalah contoh program sesor Srf04 dengan atmega32 menggunakan timer
void baca1 (void)
{
PORTC.6=0;
delay_us(10);
PORTC.6=1;
delay_us(20);
PORTC.6=0;
Lisiting program diatas berfungsi untuk menghidupkan triger pada srf 04
TCNT0=0x00;
while(PINC.7==0){} // Pin echo menerima signal dari pantulan
TCCR0=0x04; // memulai untuk mengaktifkan counter penghitung timer TCNTO
while(1)
{
if(PINC.7==0)
{
count[1]=TCNT0; // timer dihitung disini dan siap di baca pada count[1]
TCCR0=0x00;
break;
}
if (TCNT0==255) // setelah mencapai off timer di batasi pada nilai maximal 255
{
TCCR0=0x00;
count[1]=0xFF;
break;
}
}
TCCR0=0x00;
}
Nah jika ingin menyalakan ke lima sensor SRF sekaligus silakan download source code lengkap dibawah ini
by.andra risciawan
0 komentar:
Post a Comment