Penggunaan Sensor PING

30
Ultrasonik Ultrasonik adalah suara atau getaran dengan frekuensi yang terlalu tinggi untuk bisa didengar oleh telinga manusia atau diatas 20 KHz. Dalam hal ini, gelombang ultrasonik merupakan gelombang ultra (di atas) frekuensi gelombang suara (sonik). Sesuai yang kita tahu manusia mampu mendengarkan suara dari range 20 Hz sampai 20 KHz. Lebih dari itu hanya hewan tertentu yang mampu mendengarnya, seperti kelelawar dan lumba-lumba. lumba- lumba menggunakannya untuk komunikasi, sedangkan kelelawar menggunakan gelombang ultrasonik untuk navigasi. Gelombang ultrasonik dapat merambat dalam medium padat, cair dan gas. Karakteristik gelombang ultrasonik yang melalui medium mengakibatkan getaran partikel dengan medium amplitudo sejajar dengan arah rambat secara longitudinal sehingga menyebabkan partikel medium membentuk rapatan (Strain) dan tegangan (Stress). Proses kontinu yang menyebabkan terjadinya rapatan dan regangan di dalam medium disebabkan oleh getaran partikel secara periodik selama gelombang ultrasonik melaluinya. Reflektivitas dari gelombang ultrasonik ini di permukaan cairan hampir sama dengan permukaan padat, tapi pada tekstil dan busa, maka jenis gelombang ini akan diserap.

description

Cara menggunakan sensor ultrasonik PING

Transcript of Penggunaan Sensor PING

Page 1: Penggunaan Sensor PING

Ultrasonik

Ultrasonik adalah suara atau getaran dengan frekuensi yang terlalu tinggi untuk

bisa didengar oleh telinga manusia atau diatas 20 KHz. Dalam hal ini, gelombang

ultrasonik merupakan gelombang ultra (di atas) frekuensi gelombang suara (sonik).

Sesuai yang kita tahu manusia mampu mendengarkan suara dari range 20 Hz sampai

20 KHz. Lebih dari itu hanya hewan tertentu yang mampu mendengarnya, seperti

kelelawar dan lumba-lumba. lumba-lumba menggunakannya untuk komunikasi,

sedangkan kelelawar menggunakan gelombang ultrasonik untuk navigasi.

Gelombang ultrasonik dapat merambat dalam medium padat, cair dan gas.

Karakteristik gelombang ultrasonik yang melalui medium mengakibatkan getaran

partikel dengan medium amplitudo sejajar dengan arah rambat secara longitudinal

sehingga menyebabkan partikel medium membentuk rapatan (Strain) dan tegangan

(Stress). Proses kontinu yang menyebabkan terjadinya rapatan dan regangan di dalam

medium disebabkan oleh getaran partikel secara periodik selama gelombang

ultrasonik melaluinya. Reflektivitas dari gelombang ultrasonik ini di permukaan

cairan hampir sama dengan permukaan padat, tapi pada tekstil dan busa, maka jenis

gelombang ini akan diserap.

Kelebihan gelombang ultrasonik yang tidak dapat didengar, bersifat langsung

dan mudah difokuskan. Sehingga gelombang ultrasonic dapat digunakan untuk

mengukur jarak suatu benda yang memanfaatkan delay gelombang pantul dan

gelombang datang seperti pada sistem radar dan deteksi gerakan oleh sensor pada

robot atau hewan.

Sensor PING

Ping merupakan jenis sensor yang digunakan untuk mendeteksi jarak dengan

memanfaatkan gelombang ultrasonik. Prinsip kerja dari sensor ini adalah

memancarkan gelombang ultrasonik dan menerimanya kembali. Sehingga pada

hardware sensor ping terdapat pengirim dan menerima atau pendeteksi suara

pantulan. Cara pengukuran jarak adalah dengan menggunakan rumus :

Page 2: Penggunaan Sensor PING

Keterangan :

V = Cepat rambat bunyi di udara (344 m/s)

S = Jarak sensor dengan bidang pantul (m)

t = Waktu diperlukan gelombang ultrasonic (s)

Pada saat gelombang ultrasonic dipancarkan akan terjadi perambatan gelombang di

udara dengan kecepatan rata-rata 344 m/s. Gelombang yang merambat di udara

tersebut selanjutnya akan mengenai benda dan terpantul kembali kearah penerima

gelombang pada bagian sensor. Sehingga jarak gelombang yang dipancarkan akan

menempuh dua kali perjalanan. Oleh karena itu pada rumus akan dikalikan dengan

dua.

Ping dapat mengukur range jarak antara 3 cm sampai 300 cm tanpa ada kontak

fisik dengan jarak yang diukur. Pada dasanya, Ping terdiri dari sebuah chip

pembangkit sinyal 40KHz, sebuah speaker ultrasonik atau penghasil gelombang

ultrasonik dan sebuah mikropon ultrasonic penerima pantulan gelombang. Speaker

ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik

berfungsi untuk mendeteksi pantulan suaranya. Pada modul Ping terdapat 3 pin yang

digunakan untuk jalur power supply (+5 V), ground dan signal. Pin signal dapat

langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun.

Ping hanya akan mengirimkan suara ultrasonik ketika mendapat pulsa trigger dari

mikrokontroler (Pulsa high selama 5 µs). Selanjutnya Ping akan menghasilkan suara

ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara

ini akan merambat di udara dengan kecepatan 344.424 m/s, mengenai objek untuk

kemudian terpantul kembali ke Ping. Selama menunggu pantulan, pin signal pada

ping akan menghasilkan sebuah pulsa atau logika 1 (+5 V). Pulsa ini akan berhenti

atau low (0 V) ketika suara pantulan terdeteksi oleh Ping atau kembali diterima oleh

mikropon pada Ping. Lebar pulsa pada saat pin signal belogika 1 atau (+5 V) tersebut

dapat merepresentasikan jarak antara Ping dengan objek. Selanjutnya mikrokontroler

cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak.

Page 3: Penggunaan Sensor PING

Perlu diperhatikan adalah bahwa Ping tidak dapat mengukur objek yang

permukaannya dapat menyerap suara, seperti busa atau sound damper lainnya.

Pengukuran jarak juga akan kacau jika permukaan objek bergerigi dengan sudut

tajam. Hal tersebut disebabkan pantulan dari gelombang ultrasonic akan baur atau

pantulan tidak kembali ke mikropon Ping.

Gambar 1. Koneksi Sensor Ping

Gambar 2. Ilustrasi Kerja Ping

Page 4: Penggunaan Sensor PING

Gambar 3. Bentuk protokol komunikasi pada ping

Berdasarkan gambar diatas dapat disimpulkan bahwa untuk mengaktifkan ping

atau merequest piing diperlukan trigger logika 1 atau +5 V selama 2 µs sampai 5 µs.

Selanjutnya ping akan mengeluarkan gelombang ultrasonik selama tBRUST atau 200 µs

dengan besar frekuensi gelombang ultrasonik sebesar 40 kHz. Ketika gelombang

dipancarkan pin sig pada ping akan berubah menjadi logika 1. Ketika pantulan

gelombang diterima maka logika akan kembali nol lagi. Lama logika 1 tergantung

dari jarak sensor ke benda. TIN-MIN atau sebesar 115 µs diasumsikan jarak paling

terdekat yang mampu direspon dengan baik oleh ping atau sekitar 3 cm (sesuai yang

tertera pada data sheet). TIN-MAX atau sebesar 18,5 µs diasumsikan jarak paling terjauh

yang mampu direspon dengan baik oleh ping atau sekitar 300 cm (sesuai dengan data

sheet).

ATMega8535

ATmega8535 merupakan salah satu mikrokontroler dari buatan ATMEL

keluarga ATMEGA yang mempunyai 8 kbyte Flash PEROM (Flash Programmable

and Erasable Read Only Memory), 512 byte SRAM, 32 pin I/O (4 buah port I/O bit)

yang mana tiap pin tersebut dapat diprogram secara paralel dan tersendiri.

Pada dasarnya mikrokontroler adalah terdiri atas mikroprosesor, timer, dan

counter, perangkat I/O dan internal memori yang dikemas dalam satu chip (single

chip). Sebagai suatu sistem kontrol mikrokontroler ATmega8535 bila dibandingkan

dengan mikroprosesor memiliki kemampuan dan segi ekonomis yang bisa diandalkan

karena dalam mikrokontroler sudah terdapat RAM dan ROM sedangkan

Page 5: Penggunaan Sensor PING

mikroprosesor didalamnya tidak terdapat keduanya. Secara umum konfigurasi yang

dimiliki mikrokontroler ATmega8535 adalah sebagai berikut :

Sebuah CPU 8 bit dengan menggunakan teknologi dari Atmel.

Memiliki memori baca-tulis sebesar 512 byte SRAM.

Jalur dua arah (bidirectional) yang digunakan sebagai saluran masukan atau

keluaran yang dikontrol oleh register DDR.

Sebuah komunikasi serial USART yang dapat diprogram.

Dua buah timer/counter 8 bit dan sebuah timer/counter 16 bit.

Osilator internal dan rangkaian pewaktu.

Flash PEROM yang besarnya 8 kbyte untuk memori program

Kemampuan melaksanakan operasi perkalian, pembagian, dan operasi

Boolean.

Mampu beroperasi sampai 16 MHz.

ATmega8535 mikrokontroler mempunyai kompabalitas instruksi dan

konfigurasi pin dengan mikrokontroler ATMEGA. Blok diagram ATMEGA

ditunjukan pada Gambar 4 :

Page 6: Penggunaan Sensor PING

Gambar 4. Blok Diagram ATmega8535 *)

Masing-masing kaki dalam mikrokontroler ATmega8535 mempunyai fungsi

tersendiri. ATmega8535 mempunyai 40 pin, susunan masing-masing pin dapat dilihat

pada Gambar 5.

Page 7: Penggunaan Sensor PING

Gambar 5. Konfigurasi Pin ATmega8535 *)

Fungsi kaki-kaki ATmega8535 adalah :

Port A (Pin A0..7), merupakan saluran masukan/keluaran dua arah dan juga

mempunyai fungsi khusus. Fungsi khusus Port A adalah sebagai ADC (input

ADC channel 0..7).

Port B (Pin B0..7), merupakan saluran masukkan/keluaran dua arah dan juga

mempunyai fungsi khusus. Fungsi khusus Port B diantaranya adalah : Port B0

(T0 (timer/counter0 eksternal counter input) & XCK (USART eksternal clock

input/output ), Port B1 (T1 (timer/counter eksternel counter input)), Port B2

(AIN0 (Analog comparator positive input) & INT2 (Eksternal interrupt 2

input)), Port B3 (AIN0 (Analog comparator negative input) & OC0

(Timer/counter0 output compare match output)), Port B4 (SS (SPI slave select

input)), Port B5 (MOSI (SPI bus master output/slave input)), Port B6 (MISO

(SPI bus master input/slave output)), Port B7 (SCK (SPI bus serial clock)).

Port C (Pin C0..7), merupakan saluran masukkan/keluaran dua arah dan juga

mempunyai fungsi khusus. Fungsi khusus dari Port C diantaranya adalah :

Page 8: Penggunaan Sensor PING

Port C0 (SCL (Two-Wire serial bus clock line)), Port C1 (SDA (Two-Wire

serial bus data input/output line)), Port C6 (TOSC1 (Timer Oscilator pin1)),

Port C7 (TOSC2 (Timer oscillator pin2)).

Port D (Pin D0..7), merupakan saluran masukkan/keluaran dua arah dan juga

mempunyai fungsi khusus. Fungsi khusus dari Port D diantaranya adalah :

Port D0 (RXD (USART input pin)), Port D1 (TXD (USART output pin)),

Port D2 (INT0 (Eksternal interupt 0 input)), Port D3 (INT1 (Eksternal interupt

1 input)), Port D4 (OC1B (Timer/counter 1 output compare B match output)),

Port D5 (OC1A (Timer/counter 1 output compare A match output)), Port D6

(ICP (Timer/counter input capture pin)), Port D7 (OC2 (timer/counter 2

compare match output)).

Pin 9 RESET, merupakan saluran dua masukan untuk mereset mikrokontroler

dengan cara memberi masukan logika rendah.

Pin 10 VCC, merupakan saluran masukan untuk catu daya positif sebesar 5

volt DC.

Pin 11 GND, merupakan Ground dari seluruh rangkaian.

Pin 12 dan 13(XTAL2 dan XTAL1), merupakan saluran untuk mengatur

pewaktuan sistem. Untuk pewaktuan dapat dapat menggunakan pewaktuan

internal maupun eksternal.

Pin 32 AREF, merupakan Pin analog referensi untuk masukan ADC.

Pin 33 GND, merupakan ground dari ADC.

Pin 34 AVCC, merupakan supply untuk port A dan juga merupakan supply

untuk ADC.

Agar sebuah ic mikrokontroller dapat bekerja diperlukan komponen pendukung

atau sering disebut minimum system. Sebuah minimum system mikrokontroller

dibangun oleh dengan menyambungkan :

1. Menghubungkan Pin 10 atau VCC dengan tegangan +5 V.

2. Menghubungkan Pin 11 atau 31 dengan ground.

3. Menghubungkan Pin 12 dan 13 dengan kristal eksternal yang nilainya

disesuaikan dengan kebutuhan. Pemasangan kristal eksternal ini hanya

Page 9: Penggunaan Sensor PING

sebagai tambahan. ATMega8535 telah dilengkapi dengan kristal internal 8

MHz. Sehingga kristal eksternal tidak dipasang ic dapat bekerja. Namun

sebagai konsekuensinya harus mensetting regirster register tertentu untuk

mengaktifkan kristal internal yang sesuai dengan kebutuhan.

4. Menambahkan rangkaian reset pada pin 9. Penambahan rangkaian reset sangat

diperlukan. Karena pada saat mikrokontroller mengalami macet atau hang

maka program harus dijalankan ulang mulai dari awal. Untuk itu diperlukan

tombol reset.

Dibawah ini adalah komponen-komponen yang perlu ditambahkan agar

mikrokontroller dapat bekerja:

8 MHz

PB0 (XCK/T0)1

PB1 (T1)2

PB2 (AIN0/INT2)3

PB3 (AIN1/OC0)4

PB4 (SS)5

PB5 (MOSI)6

PB6 (MISO)7

PB7 (SCK)8

RESET9

PD0 (RXD)14

PD1 (TXD)15

PD2 (INT0)16

PD3 (INT1)17

PD4 (OC1B)18

PD5 (OC1A)19

PD6 (ICP)20

PD7 (OC2)21

XTAL212

XTAL113

GND11

PC0 (SCL)22

PC1 (SDA)23

PC224

PC325

PC426

PC527

PC6 (TOSC1)28

PC7 (TOSC2)29

AREF32

AVCC30

GND31

PA7 (ADC7)33

PA6 (ADC6)34

PA5 (ADC5)35

PA4 (ADC4)36

PA3 (ADC3)37

PA2 (ADC2)38

PA1 (ADC1)39

PA0 (ADC0)40

VCC10

ATMega8535

22pF

22pFPB10uF

5 V

Input Sensor

10 K5 V

Ke Modulator

Gambar 6. Skema minimum sistem ATMega8535

LCD

Tampilan kristal cair atau (Liquid Crystal Display) juga dikenal sebagai LCD

adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil

utama. Sumber cahaya di dalam sebuah perangkat lcd adalah lampu neon berwarna

putih di bagian belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya

puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair

yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik

Page 10: Penggunaan Sensor PING

yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan

sedangkan warna lainnya tersaring.

Jenis lcd yang dipakai untuk menampilkan hasil pengukuran pada Alat

Pengukur Jarak ini menggunakan lcd 2 x 16. Maksut dari 2x16 adalah tampilan pada

LCD akan terteran jumlah baris sebanyak dua baris dan 16 kolom. Pada lcd terdapat

16 pin yang masing-masing memiliki fungsi sendiri-sendiri, fungsi-fungsi tersebut

adalah :

No Nama Pin Deskripsi

1 VCC +5V

2 GND 0V

3 VEE Tegangan kontras LCD

4 RS Register seelct,0=register perintah, 1=register data

5 R/W 1=read,0=write

6 E Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data

7 D0 Data Bus 0

8 D1 Data Bus 1

9 D2 Data Bus 2

10 D3 Data Bus 3

11 D4 Data Bus 4

12 D5 Data Bus 5

13 D6 Data Bus 6

14 D7 Data Bus 7

15 Anoda (kabel coklat untuk lcd Hitachi) Tegangan positif backlight

16 Katoda (kabel merah untuk LCD Hitachi) Tegangan negative backlight

Dari 16 kaki tersebut dapat dikelompokkan menjadi 4 fungsi umum. Fungsi

tersebut antara lain :

1. Pada kaki 1 sampai kaki 3 merupakan kaki-kaki yang mempunyai fungsi

untuk mensupply lcd agar dapat bekerja atau menyala. Pin 1 VCC dihubung

dengan +5 V. Pin 2 GND dihubungkan dengan ground atau 0 V. Sedangkan

kaki 3 VEE merupakan tegangan yang digunakan untuk mengatur kontras

atau nyala lcd pada saat digunakan. Semakin rendah tegangan yang masuk

pada kaki kontras maka akan semakin hitam warna tampilan pada lcd.

2. Pada kaki 4 sampai 6 merupakan kaki-kaki yang mempunyai fungsi untuk

mengatur data atau mengontrol lcd yang masuk pada lcd. Kaki 4 RS

merupakan kaki yang berfungsi memberikan informasi pada lcd saat

Page 11: Penggunaan Sensor PING

komunikasi. Jika pin RS mendapat logika 0 maka lcd akan mendapatkan

instruksi atau data berupa perintah. Jika sebaliknya pin RS medapatkan

logika 1 maka lcd akan medapatkan data berupa karakter. Pin 5 R/W atau

Read/Write merupakan kaki pada lcd yang berfungsi menginstruksikan arah

jalur data. Jika pin 5 atau R/W mendapatkan logika 1 atau Read maka

karakter pada lcd akan dibaca atau data pada lcd akan dikeluarkan.

Sebaliknya jika pin R/W mendapatkan logika 0 atau Write, maka lcd akan

ditulis ulang atau lcd akan mendapatkan data baru. Apabila lcd hanya

digunakan untuk menampilkan data saja, maka pin R/W akan berlogika 0.

Pin 6 E atau Enable berfungsi untuk mengaktifkan lcd. Jika pin E bernilai 0

maka tidak ada komunikasi antara lcd dengan perangkat luar. Jika pin E

berlogika 1 maka akan terjadi komunikasi antara lcd dengan perangkat luar.

3. Pada kaki 7 sampai 14 merupakan kaki-kaki yang berfungsi sebagai jalur

data. Pada lcd 2x16 jalur data yang digunakan dapat dipilih menjadi 4 jalur

data saja. Sehingga pin yang dihubungkan dengan mikrokontroller hanya

pin 11 sampai pin 14 saja.

4. Pin 15 dan 16 merupakan pin yang digunakan untuk mengaktifkan

penerangan berupa cahaya pada lcd. Dengan menghubungkan pin 15 pada

+5 V dan pin 16 pada 0 V penerangan cahaya pada bagian belakang atau

dinding belakang lcd akan menyala.

Sehingga untuk interface lcd dengan menggunakan mikrokontroller maka

konfigurasi yang harus disambungkan adalah seperti gambar dibawah:

Page 12: Penggunaan Sensor PING

Gambar 7. Koneksi antara LCD dengan mikrokontroller

Blok Diagram

PING

MIKROKONTROLLER

LCD

Page 13: Penggunaan Sensor PING

Flow Chart

Page 14: Penggunaan Sensor PING
Page 15: Penggunaan Sensor PING

Pembuatan Jalur PCB

Pembuatan jalur pada PCB dengan menggunakan program Protel DXP. Hasil

Lay out dari Protel selanjutnya diprint dan difotokopi pada kertas transparan. Hasil

fotokopi selanjutnya di strika pada PCB. Di bawah ini merupakan layout jalur PCB

minimum sistem mikrokontroller :

Gambar 8. Lay out PCB mikrokontroller ATMega8535

Rangkaian Keseluruhan

12 MHz

PB0 (XCK/T0)1

PB1 (T1)2

PB2 (AIN0/INT2)3

PB3 (AIN1/OC0)4

PB4 (SS)5

PB5 (MOSI)6

PB6 (MISO)7

PB7 (SCK)8

RESET9

PD0 (RXD)14

PD1 (TXD)15

PD2 (INT0)16

PD3 (INT1)17

PD4 (OC1B)18

PD5 (OC1A)19

PD6 (ICP)20

PD7 (OC2)21

XTAL212

XTAL113

GND11

PC0 (SCL)22

PC1 (SDA)23

PC224

PC325

PC426

PC527

PC6 (TOSC1)28

PC7 (TOSC2)29

AREF32

AVCC30

GND31

PA7 (ADC7)33

PA6 (ADC6)34

PA5 (ADC5)35

PA4 (ADC4)36

PA3 (ADC3)37

PA2 (ADC2)38

PA1 (ADC1)39

PA0 (ADC0)40

VCC10

ATMega8535

33 pF

33 pFReset10uF

5 V

10 K

1 2 3 4 5 6 7 8 9 10

11 12

13

14

15

16

LCD 16 X 2

POT

IN1

2

OUT3

GND

LM7805

1 2 3

PINGBattery 9 V

Switch

LED

Gambar 9. Skema keseluruhan sistem

Page 16: Penggunaan Sensor PING

Program CV AVR/*****************************************************This program was produced by theCodeWizardAVR V1.24.8d ProfessionalAutomatic Program Generator© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.http://www.hpinfotech.com

Project : Alat Pengukur JarakVersion : 4Date : 15/10/2010Author : Hendra Dwi SapuTravis Barker Company : SAP2010 BrawijayaComments: Alat menggunakan sensor ultrasonik PING.Dibuat sebagai tugas PSE (Perancangan Sistem Elektronika)Dengan range pengukuran antara 3 cm sampai 300 cm.Dengan Tingkat error 1 cm.Tampilan menggunakan LCDMikrokontroller menggunakan ATMega8535Suply 9 V.Dilengkapi pengatur contras LCD, tombol Reset, indikator LED

Chip type : ATmega8535Program type : ApplicationClock frequency : 12,000000 MHzMemory model : SmallExternal SRAM size : 0Data Stack size : 128*****************************************************/

#include <mega8535.h> // Proto proses ATMega8535#include <stdio.h> // Proto proses pengolahan carakter#include <delay.h> // Proto proses penundaan#include <math.h> // Proto proses pengolahan bilangan

// Alphanumeric LCD Module functions#asm .equ __lcd_port=0x15 ;PORTC#endasm#include <lcd.h>

Page 17: Penggunaan Sensor PING

// Declare your global variables hereint animasi1,animasi2;float jarak;float atas;unsigned int clock;char tampilan1[20];char tampilan2[20];

//Signal ping dimasukkan pada Pin B.0void baca_ping(){ TCNT1=0; // Mereset nilai register TCNT1 PORTB&=0b11111110; // Setting pin B.0 = 0 DDRB|=0b00000001; // Setting pin B.0 sbg keluaran delay_ms(1); // tunggu selama 1 ms PORTB|=0b00000001; // Setting pin B.0 = 1 DDRB|=0b00000001; // setting pin B.0 sbg keluaran delay_us(5); // tunggu selama 5 µs PORTB&=0b11111110; // rubah pin B.0 = 0 DDRB|=0b00000001; // rubah pin B.0 sbg keluaran delay_us(5); // tunda selama 5 µs PORTB|=0b00000001; // rubah pin B.0 = 1 DDRB&=0b11111110; // rubah pin B.0 jadi masukan delay_us(5); // tunggu selama 5 µs while(PINB.0==0) // jika pin B.0 = 0 {} // tunggu sampai pin B.0 = 1 TCCR1B&=0b11111000; // setting stop register TCCR1B TCCR1B|=0b00000010; // start counter dengan prescaller 8 while(PINB.0==1) // jika pin B.0 = 1 {} // tunggu sampai pin B.0 = 0 TCCR1B&=0b11111000; // setting stop regirter TCCR1B clock=TCNT1; // copy nilai TCNT1 pd varibel clock atas=(344.424*100*0.5*TCNT1*8); jarak=(atas/12000000); PORTB&=0b11111110; // rubah pin B.0 = 0 DDRB|=0b00000001; // rubah pin B.0 sbg keluaran}

void main(void){// Declare your local variables here

// Input/Output Ports initialization

Page 18: Penggunaan Sensor PING

// 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=0x00;DDRB=0x00;

// Port C 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 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: DisconnectedTCCR0=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: Off// Input Capture on Falling Edge// Timer 1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off

Page 19: Penggunaan Sensor PING

TCCR1A=0x00;TCCR1B=0x00;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: DisconnectedASSR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: Off// INT1: Off// INT2: OffMCUCR=0x00;MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;

// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;

// LCD module initializationlcd_init(16);

while (1) { // Place your code here sprintf(tampilan1,"HENDRA DWI S"); // simpan karakter di variabel

tampilan 1

Page 20: Penggunaan Sensor PING

sprintf(tampilan2,"105060309111001"); // simpan karakter di variabel tampilan 1

lcd_gotoxy(0,0);lcd_puts(tampilan1); // koordinat pada LCD dan tampilkan isi var tampilan1

lcd_gotoxy(0,1);lcd_puts(tampilan2); // koordinat pada LCD dan tampilkan isi var tampilan1

delay_ms(2000); // tahan tampilan selama 2 detik lcd_clear(); // bersihkan tampilan LCD for(animasi1=0;animasi1<=3;animasi1++) // var 0<animasi1<3 kerjakan { for(animasi2=0;animasi2<=16;animasi2++) // var 0<animasi1<3

kerjakan { sprintf(tampilan1,"LOADING"); // simpan karakter pd var

tampilan 1 sprintf(tampilan2,"*"); // isi var

tampilan2 dengan karakter *

lcd_gotoxy(0,0);lcd_puts(tampilan1); // tampilkan isi var pd koordinat

lcd_gotoxy(animasi2,1);lcd_puts(tampilan2); // tampilakan isi var bergeser

delay_ms(100); // tunggu selama 100 ms

} lcd_clear(); // bersihkan layar } while(1) { lcd_clear(); // bersihkan layar baca_ping(); // kerjakan subrutine baca_ping sprintf(tampilan1,"Jmlh=%dClock",clock); // tampilkan karakter seperti

dalam tanda petik dan disisipi jumlah clock

sprintf(tampilan2,"Jarak= %3.2f cm",jarak); // tampilkan karakter seperti dalam tanda petik dan disisipi besar jarak dengan 3 angka didepan koma dan 2 angka dibelakang koma

lcd_gotoxy(0,0);lcd_puts(tampilan1); // tampilkan isi var pada koordinat lcd_gotoxy(0,1);lcd_puts(tampilan2); // tampilkan isi var pada koordinat delay_ms(1000); // tahan tampilan selama 1 detik }

Page 22: Penggunaan Sensor PING

http://reehokstyle.blogspot.com/2010/03/akses-lcd-16x2.html

http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf

http://www.parallax.com/Portals/0/Downloads/docs/prod/acc/28015-PING-

v1.5.pdf

http://www.atmel.com/dyn/resources/prod_documents/doc2502.pdf