Monday 1 May 2017

HC-SR04 test (CVAVR)

HC-SR04 Ultrasonic sensor
modul sensor HC-SR04 memiliki range 2cm s/d 400cm pengukuran tanpa kontak, dengan tingkat accuracy 3mm dan dengan sudut pengukuran 150.
Dengan prinsip kerja
1.      Menggunakan I/O pemicu setidaknya 10us / sinyal kecepatan tinggi (trigger). Istilahnya clock berarti output.
2.      Modul secara otomatis mengirim delapan 40kHz  dan mendeteksi apakah ada sinyal pulsa kembali.
3.      Jika ada sinyal kembali, melalui high level pada pin echo, durasi waktu pada saat pin echo high yang menjadi parameter penggunaan pengambilan nilai data, setelah itu bisa dijadikan jarak dan sebagainya ! begitu kira kira #$%.
Tegangan kerja 5V DC jangan sampai lebih kalau bisa!, kurang juga jangan nanti bisa berpengaruh di performanya .
Arus kerja 15mA
Frekuensi kerja 40Hz
Max range 4m katanya data sheetnya.
Min range 2cm katanya data sheetnya. Kalau beda jangan salahkan diri anda??
Dimensi  45*20*15mm kalau nda percya bisa di ukur sendiri!
Trigger Input Signal 10uS TTL pulse

Echo Output Signal Input TTL lever signal and the range in proportion



gambar 1. bentuk fisik sensor HC-SR04

test program
/*******************************************************

This program was created by the
CodeWizardAVR V3.12 Advanced
Automatic Program Generator
© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : njajal
Date    : 4/29/2017
Author  : anoname
Company : ngapak comunity
Comments: 


Chip type               : ATmega32
Program type            : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 512
*******************************************************/

#include <mega32.h>
#include <delay.h>
#include <stdio.h>

// Alphanumeric LCD functions
#include <alcd.h>

int jrk;
unsigned int count=0;
unsigned char baris1[16];


unsigned int baca_srf04()
 {
    count=0;
    PORTA.1=1;
    delay_us(15);//pemberian pemicu berupa pulsa positif minimal 10us
    PORTA.1=0;
    //menunggu hingga ECHO = 1
    while(PINA.0==0){};
    //mencacah untuk mengukur waktu lamanya pulsa 1 dari ECHO
    while(PINA.0==1){count++;};
    
    jrk=count;;/*mengkonversikan hasil cacahan menjadi sesuai yang anda inginkan tinggal di bagi,                           dikali, atau programnya di ganti wkwkwkwk*/
    return jrk;
  }

void main(void)
{
PORTA=0x01;   // PINA.0 pullup
DDRA=0x02;    // PINA.0 input, PINA.1 output
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
lcd_gotoxy(0,0);lcd_putsf("HC-04 module");
delay_ms(1000);
lcd_clear();

while (1)
      {
      baca_srf04();
      sprintf(baris1," %5d ",jrk);
      lcd_gotoxy(0,0);lcd_puts(baris1);
      }
}

bersambung********** 
NB harap maklum 


No comments:

Post a Comment

AVR oprator (bahasa C)

1. Oprator Assignment Oprator assignment  adalah suatu oprator penugasan yang digunakan untuk memasukan nilai kedalam suatu variabel. dil...