RSS

PROGRAM MENGAKSES SENSOR JARAK PING))) PARALLAX MENGGUNAKAN CODEVISION AVR

25 Apr

Sensor jarak ultrasonic Parallax PING))) mampu mengukur jarak dengan teliti dan tanpa kontak antara 2 cm (0.8 inche) sampai 3 meter (3.3 yard). Sangat mudah untuk dikoneksikan dengan mikrokontroler, hanya membutuhkan satu pin I/O.

Sensor PING))) berkerja dengan mentransmisikan sebuah ultrasonic burst (diatas batas pendengaran manusia) dan menghasilkan sebuah pulsa output yang berhubungan dengan waktu yang dibutuhkan oleh echo dari burst untuk kembali ke sensor. Dengan mengukur lebar pulsa echo jarak sensor ke target dapat dihitung.

Karakteristik

* Tegangan suplai              : 5VDC
* Konsumsi arus                  : 30 mA typ; 35 mA max
* Jarak                                   : 2 cm sampai 3 m (0.8 in sampai 3.3 yrd)
* Input Trigger                    : positive TTL pulse, 2 uS min, 5 µs typ
* Echo Pulse                          : positive TTL pulse, 115 uS to 18.5 ms
* Echo Hold-off                     : 750 µs from fall of Trigger pulse
* Burst Frequency               : 40 kHz for 200 µs
* Burst Indicator LED shows sensor activity
* Delay before next measurement : 200 µs
* Size                                       : 22 mm H x 46 mm W x 16 mm D (0.84 in x 1.8 in x 0.6 in)

Berikut adalah program pembacaan jarak (cm) menggunakan sensor ultrasonik PING))) buatan Parallax. Pada program dibawah ini menggunakan frekuensi kristal 4Mhz, dan pin output dari PING))) dihubungkan ke port PB0, LCD pada PC.

Sebelumnya saya minta maaf tidak menampilkan rangkaiannya, karena tidak ada library untuk komponen PING))).

//Clock frequency     : 4.000000 MHz
//output sensor PING))) ke PB0
//LCD ke PC

#include <mega8535.h>
#include <lcd.h>
#include <stdio.h>
#include <delay.h>

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0×15 ;PORTC
#endasm

//deklarasi PIN I/O PING
#define PULSE PORTB.0
#define ECHO  PINB.0
#define ARAH  DDRB.0
#define OUT 1
#define INP 0

unsigned int ultrasonic()
{
unsigned int count=0;
unsigned int jarak;

        ARAH=OUT;//mengatur PIN I/O sebagai output
        PULSE=1;//memberikan tanda ke PING untuk memancarkan ultrasonic burst
        delay_us(5);//waktu tunggu sebelum pengukuran min. 2us biasanya 5us
        PULSE=0;//menberikan sinyal low ke PING
        ARAH=INP;//arah PIN I/O diatur sebagai input
        PULSE=1;//mengatur PIN I/O sebagai pill-up

while (ECHO==0) {};//menunggu sinyal ECHO high

while (ECHO==1)
        {
        count++; //menghitung lebar sinyal ECHO high
        }

jarak=(unsigned int)(((float)count)/25);//nilai pembagi dikalibrasi sampai sesuai dengan satuan yang diinginkan
return(jarak);//mengembalikan jarak ke fungsi ultrasonic dengan tipe data unsigned int
}

void main(void)
{
unsigned char kata[16];

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0×80;
SFIOR=0×00;

// LCD module initialization
lcd_init(16);

while (1)
{
        sprintf(kata, “J=%3d cm”, ultrasonic());//menyusun karakter ke dalam satu baris dengan menggunakan fungsi sprintf
        lcd_clear();   
        lcd_gotoxy(0,0);
        lcd_puts(kata);//mengirim data ke LCD
        delay_ms(300);
}
}

 
5 Comments

Posted by on April 25, 2011 in AVR Projects

 

Tags: , , ,

5 responses to “PROGRAM MENGAKSES SENSOR JARAK PING))) PARALLAX MENGGUNAKAN CODEVISION AVR

  1. Astonix

    May 5, 2011 at 15:57

    Hai, salam kenal.

    Kebetulan saya saat ini lagi ada project dgn ping parallax ini.
    Mau nanya dong, kalau saya memakai crystal 16Mhz, itu rumus untuk algoritma perhitungan jaraknya gimana yah di programnya?

     
    • ElectrO-cOntrOl

      May 5, 2011 at 19:17

      sebenarnya crystal itu mempengaruhi kecepatan mikrokontroler untuk mengeksekusi setiap instruksi. semakin besar nilai cristal maka akan semakin cepat suatu intruksi diproses. Saya sudah pernah menggunakan kristal 12mhz, tetapi tidak jauh berbeda hasil pengukurannya denga kristal 4mhz.
      mohon dikoreksi jika ada kesalahn..

       
  2. Astonix

    May 10, 2011 at 19:08

    Makasih byk mas infonya. Maksud saya d source code di atas kan ada formula perhitungan jarak yg melibatkan jumlah kristal yg dipakai. Nah apakah formula nya sama bila memakai 16Mhz? Thx.

     
    • tri

      June 19, 2011 at 16:22

      @astonix: seperti pernah lihat sampean ( golden chil). Coba lihat tutor dari sensor mma7260(didepan) bisa digunakan untuk ngukur jarak saat sebelumnya. Bila pakai ping kemampuan terbatas.

       
  3. Iccank Devilz

    September 25, 2011 at 01:13

    manstab…!! nice post..

    salam kenal

     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: