Anda di halaman 1dari 6

1.

SENSOR ULTRASONIK
Sensor ultrasonik

adalah

sensor yang bekerja berdasarkan


prinsip pantulan gelombang suara
dan digunakan untuk mendeteksi
keberadaan suatu objek tertentu di
depannya, frekuensi kerjanya pada
daerah di atas gelombang suara

Gambar Prinsip kerja sensor ultrasonik

dari 40 KHz hingga 400 KHz.

Besar

amplitudo

sinyal

Sensor ultrasonik terdiri dari dari

elekrik yang dihasilkan unit sensor

dua unit, yaitu unit pemancar dan

penerima

unit

unit

dekatnya objek yang dideteksi serta

pemancar dan penerima sangatlah

kualitas dari sensor pemancar dan

sederhana,

kristal

sensor penerima. Proses sensoring

piezoelectric dihubungkan dengan

yang dilakukan pada sensor ini

mekanik

menggunakan

penerima.

Struktur

sebuah
jangkar

dihubungkan

dan

dengan

hanya

tergantung

dari

metode

jauh

pantulan

diafragma

untuk menghitung jarak antara

penggetar. Tegangan bolak-balik

sensor dengan obyek sasaran. Jarak

yang memiliki frekuensi kerja 40

antara sensor tersebut dihitung

KHz 400 KHz diberikan pada

dengan cara mengalikan setengah

plat logam. Struktur atom dari

waktu yang digunakan oleh sinyal

kristal

ultrasonik

piezoelectric

berkontraksi
mengembang

atau

akan

dalam

perjalanannya

(mengikat),

dari rangkaian pengirim sampai

menyusut

diterima oleh rangkaian penerima,

terhadap polaritas tegangan yang

dengan

kecepatan

rambat

dari

diberikan dan ini disebut dengan

sinyal ultrasonik tersebut pada

efek piezoelectric.

media rambat yang digunakannya,


yaitu udara.
Sebagai

contoh

adalah

sensor ultrasonic SRF04. Sensor


jarak SRF04 adalah sebuah device
transmitter dan receiver ultrasonic
dalam 1 package buatan Devantech

yang dapat membaca jarak dengan

pantulan sinyal ultrasonic tersebut.

prinsip sonar.

Receiver

akan

membaca

lebar

pulsa (dalam bentuk PWM) yang


2. Spesifikasi SRF04:

dipantulkan

objek

dan

Tegangan keja : 5V DC

waktu

Konsumsi arus : 30mA (max

pengukuran tersebut, jarak objek di

50mA)

depan

Frekuensi kerja : 40KHz

Untuk lebih jelasnya, perhatikan

Jangkauan

gambar di bawah ini :

Input trigger

: 3cm - 300cm

pemancaran.

selisih

sensor

dapat

Dengan
diketahui.

: 10us, level pulsa

TTL
Dimensi

: PxLxT (24 x 20 x

17) mm
SRF04 mempunyai 4 pin yaitu
VCC, Trigger, Output dan Gnd.

Gambar diagram pewaktuan


Dari gambar diatas sudah jelas
bahwa sensor ini membutuhkan
tegangan

supply

5VDC

yang

dihubungkan ke pin 5v Supply dan


ground yang di hubungkan ke pin
0v

ground.

Pin

echo

pulse

berfungsi sebagai pin output yang


nantinya dihubungkan ke controller
3. Prinsip kerja SRF04

sehingga kontroler dapat membaca

Transmitter memancarkan seberkas

pulsa yang dihasilkan sensor dan

sinyal ultrasonic (40KHz) yang

pin trigger pulse adalah pin input

bebentuk pulsatic, kemudian jika di

yang nantinya dihubungkan ke

depan SRF04 ada objek padat

kontroller

maka

pulsa dari kontroller.

receiver

akan

menerima

untuk

mendapatkan

Untuk memperoleh data yaitu pulsa


(yang valid) dari sensor maka
terlebih dahulu kita berikan sinyal
pulsa ke sensor melalui pin trigger
dengan Time ON selama 10 uS
(bisa

juga

100Khz),

dengan

setelah

frekuensi

kita

berikan

sinyal pulsa nantinya pin echo akan


high (ini menandakan data valid),
ketika

pin

echo

high

mulai

menghitung lamanya, yaitu dengan


menggunakan counter. Hasil dari

Gambar Diagram Blok Sistem

counter ini adlah jarak yang terukur

Pada Mikrokontroler

dengan

menggunakan

sensor

4. Konfigurasi pin LCD

SRF04. (hasil counter adalah nilai


yang mewakili jarak tetapi belum
yang

n
o

Symbol
LCD

PIN
Mikrokontroler

Jadi untuk mengaktifkan SRF04,

Vss/GND

GND

Vcc

VCC

Vee

V0

RS

PORT A. 0

R/W

PORT A. 1

PORT A.2

DB0

DB1

menunjukkan

jarak

sebenarnya).

mikrokontroler harus mengirimkan


pulsa positif minimal 10us melalui
pin trigger, maka SRF04 akan
mengeluarkan

sinyal

ultrasonic

sebesar 8 cycle dan selanjutnya


SRF04 akan memberikan pulsa
100us-18ms

pada

outputnya

tergantung pada informasi jarak


pantulan

objek

Berikut

ini

yang
adalah

diterima.
data

perbandingan antara sudut pantulan


dan jarak:

DB2

1
0

DB3

1
1

DB4

1
2
1
3

DB5

DB6

n
o

Srf04

Mikrokontroler

Vcc

VCC

Output

PIN B.0

Trigger

PIN B.1

DO NOT
CONNECT

0V/GND

GND

PORT A. 4

PORT A. 5

PORT A. 6
4. CONTOH GAMBAR RANGKAIAN

1
4

DB7

PORT A. 7

1
5

V+BL

1
6

V-BL

Konfigurasi pin SRF04

CONTOH PROGRAM

/
*************************************
****************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
Copyright 1998-2008 Pavel
Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 10/23/2014
Author :
Company :
Comments:
Chip type
: ATmega8535
Program type
: Application
Clock frequency
: 8.000000 MHz
Memory model
: Small
External RAM size : 0
Data Stack size
: 128
*************************************
****************/
#include <mega8535.h>
#include <stdio.h>
#include <delay.h>
#define trigger PORTB.1
#define echo PINB.0
unsigned int jarak;
char buf[33];
// Alphanumeric LCD Module
functions
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include <lcd.h>
#include <stdio.h>
// Declare your global variables here
void s0()
{
unsigned int i;
jarak=0;
delay_us(100);
trigger=1; //tout, H=5 us
delay_us(15);
trigger=0;
delay_us(100);
while(!echo);
for (i=0;i<=500;i++)
{
if (echo) {jarak++;}
delay_us(40);
}
}

void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T
State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T
State1=T State0=T
PORTB=0xFF;
DDRB=0xAA;
// Port C initialization
// Func7=Out Func6=In Func5=Out
Func4=In Func3=Out Func2=In
Func1=Out Func0=In
// State7=1 State6=P State5=1
State4=P State3=1 State2=P
State1=1 State0=P
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In
Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T
State4=T State3=T State2=T
State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.

// Noise Canceler: Of
// Input Capture on Rising Edge
// Timer 1 Overflow Interrupt: Of
// Input Capture Interrupt: Of
// Compare A Match Interrupt: Of
// Compare B Match Interrupt: Of
TCCR1A=0x00;
TCCR1B=0x40;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Of
// INT1: Of
// INT2: Of
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s)
initialization
TIMSK=0x00;
// Analog Comparator initialization

// Analog Comparator: Of
// Analog Comparator Input Capture
by Timer/Counter 1: Of
ACSR=0x80;
SFIOR=0x00;
// LCD module initialization
lcd_init(16);
//lcd_clear();
//lcd_gotoxy(0,0);
//lcd_putsf ("SRF04");
while (1)
{
// Place your code here
s0();
//jika
menggunakan srf 8 buah, mk panggil
ja lagi s4....s7()
sprintf (buf,"%d ",jarak);
lcd_gotoxy (0,0);
lcd_puts(buf);
delay_ms(100)
};
}
KESIMPULAN :
- Sensor ultrasonik SRF04 bisa
digunakan sebagai navigasi
dan sebagai sensor pendeteksi
penghalang benda yang ada di
depannya.
- Sensor ultrasonik SRF04 hanya
bisa digunakan untuk
mendeteksi benda padat saja.

Anda mungkin juga menyukai