Jumat, 23 Maret 2012

Sensor jarak Ultrasonik PING dengan Atmega8535 dan program Code Vision


Sensor Ping merupakan sensor  untuk mengukur jarak. pada postingan sebelumnya juga sudah dijelaskan bagaimana coding sensor PING tapi menggunakan AVR Studio. Bagaimana cara mengaksesnya...?



Berikut saya jelaskan tahapan-tahapan untuk mengakses sensor PING.
1. PIN dijadikan sebagai output
2. Keluarkan pulsa pada PIN sebesar 2 microseconds – 5 microseconds
3. PIN dijadikan sebagai input + aktifkan pullup internal
4. Hitung pulsa high
5. Konversi pulsa menjadi jarak dengan rumus =>> Jarak (cm) = Pulsa (us) / 29.034 / 2

Berikut ini listing program dimana sensor PING di hubungkan ke mikro melalui PORTD 2 dan LCD di PORT C :


#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

#define DDR_PING    DDRD.2           //DDR yang dijadikan output dari sensor PING yaitu DDRD.2
#define PORT_PING   PORTD.2       //PORT yang dijadikan output dari sensor PING yaitu PORTD 2
#define PIN_PING    PIND.2              //PIN yang dijadikan output dari sensor PING yaitu PIND 2

unsigned char kata[16];

float baca_jarak()
{
unsigned int count=0;
float jarak;
DDR_PING=1;     //jadikan PIN output
PORT_PING=1;    // memberi sinyal high selama 5 us
delay_us(5);
PORT_PING=0;   //memberi sinyal low
DDR_PING=0;    //jadikan PIN sebagai input
PORT_PING=1;   //aktifkan internal pullup

while (PIN_PING==0){}         //ketika sinyal low tidak ada perintah
 
while (PIN_PING==1)           //ketika sinyal high maka nilai counter mencacah naik setiap 1 us
    {
    count++;
    delay_us(1);
    }

jarak=((float)count/29.034/2);   //hitung nilai count dan dikalibrasi menjadi jarak dalam cm
return(jarak);
}

void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;

lcd_init(16);
while (1)
      {
        lcd_clear();
        sprintf(kata, "Jarak = %.1f cm", baca_jarak());
        lcd_gotoxy(0,0);
        lcd_puts(kata);
        delay_ms(300);
      };
}


download projectnya disini

23 komentar:

  1. mas tolong bantu untuk program sensor ping menjalankan motor dc,
    kirim ke email saya yahhhhh...
    lukman_agus@rocketmail.com

    terimkasih.

    BalasHapus
  2. saya juga tolong bantu pak seperti kk lukman agus septian tugasnya sama

    kirim ke email saya kk
    roxas_imutt@yahoo.com
    untuk mengukur volume tangki tabung menggunakan mikro atmega 8535
    yang dikoneksikan dengan pompa air dan buzzer untuk indikasi batas minimum dan maksimum volume cairan yang di izinkan.
    terima kasih....

    BalasHapus
  3. saya menggunakan CVAVR dan AVR dude pak..
    mohon ditolong y pak

    BalasHapus
  4. gan saya "jlc" minta tolong bantuan, membaca dan menulis memori mirco-sd sebagai penyimpan data adc menggunakan atmega 32 dan menampilkan isi mecro-sd ke lcd, terima kasih gan, saya butuh buanget buat skripsi. terimakasi...

    BalasHapus
  5. mas, kalo sensor ultra so_nya pke DT-sense USIRR coding gmn mas? trm ksh

    BalasHapus
    Balasan
    1. blum pernah cb mas...mungkin kurng lebih sm..asal kita tahu prosedur cara akses sensor itu pasti kita bikin programnya

      Hapus
  6. mas, apakah sensor ini jg bs mendeteksi diamater lubang ?
    klo tidak, kira2 apa yang bs ?

    BalasHapus
    Balasan
    1. asal tdak lebih dri dri 2 m bisa2 aja mas

      Hapus
  7. izin sedot mas. ilmunya sangat bermanfaat . trims :)

    BalasHapus
  8. mas tolong bantu untuk program sensor ping menjalankan motor dc, saya sangat butuh bantuan anda. bisa dikirim ke email saya 7th.prince007@gmail.com

    BalasHapus
  9. mas..nyuwun pitulungepun...nak sensor ultrasonik srf05 kangge ngukur jarak ketelitianepun 1 milimeter niku programepun pripun nggeh???kulo ngangge avr studio/cvavr...tlung nggeh mas....monggo di email teng email kulo...mifta.oe@gmail.com
    mator suwun sanget sakderengipun..

    BalasHapus
  10. mas minta program sensor ping ke motor dc, mau buat pintu otomatis pake sensor jarak nih.
    buat tugas, kirim email dxfa.zagato@gmail.com

    BalasHapus
  11. mas saya juga minta dong program ping ke motor DC.
    kirim ke email saya ya mas
    Arysubakty@gmail.com

    BalasHapus
  12. maaf mas,jika menggunakan atmega32 bisa/tidak.??
    mohon bantuannya..

    BalasHapus
    Balasan
    1. maaf mas,jika menggunakan atmega32 bisa/tidak.??
      mohon bantuannya..sekalian project dan codevisionnya ya mas..
      ini email saya mahendpratama.m2@gmail.com
      terimakasih mas

      Hapus
  13. maaf mas mw nanya newbie,, apakah bisa sinyal sensor A ditangkap sensor B, begitu sebaliknya ???.... rian.nata22@gmail.com

    BalasHapus
  14. Mas, mau tanya rumus jaraknya itu logikanya bagaimana??

    BalasHapus
  15. Mas mohon informasinya mas kalau saya ingin mengunakan sensor pink pada potrd dan saya menggunakan lcd di porta saya ingin kerja pada sensor pink itu sebagai jarak dan jarak yang tertera pada lcd seasuai dengan jarak sebenarnya dan saya ubah jarak itu jadi waktu yang saya tetntukan pada jarak tertentu gmna yha mas cara programnya mohon bantuannya mas bisa.ryanramadhan6665333@gmail.com makasih mas

    BalasHapus
  16. Maaf mas itu yang terhubung dgn usb laptop rangkaian apa ya

    BalasHapus

Silahkan isi komentar yang dapat membangun blog ini. Atas komentarnya saya ucapkan terimakasih

Related Posts Plugin for WordPress, Blogger...