6 Januari 2017 hendril satrian purnama arduino, CV-AVR, learning, microcontroller, robotic,
sensor, technologyarduino, control, elektro, mikrokontroller, programming, robot, sensor,
teknologi, tutorial
pada postingan kali ini saya akan membahas “Sensor PING)))* mulai dari rangkaian, cara kerja,
cara mengaksesnya, sampai dengan aplikasi dari sensor PING))) itu sendiri..
Devinisi Sensor PING disini sendiri merupakan sensor ultrasonik yang dapat mendeteksi jarak
obyek dengan cara memancarkan gelombang ultrasonik dengan frekuensi 40 KHz dan kemudian
mendeteksi pantulannya. Tampilan sensor jarak PING ditunjukkan pada Gambar berikut:
Sensor ini dapat mengukur jarak antara 3 cm sampai 300 cm. keluaran dari sensor ini berupa
pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5
mS. Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker
ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi
suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.
Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen
apapun. Ping hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari
mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan
dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik
(atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke Ping. Selama
menunggu pantulan, Ping akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika
suara pantulan terdeteksi oleh Ping. Oleh karena itulah lebar pulsa tersebut dapat
merepresentasikan jarak antara Ping dengan objek.
Iklan
Sensor ping tidak dapat membaca dengan baik dalam beberapa keadaan berikut :
//Program Ultrasonik
// Menggunakan PIN 8 digital
int signal=8;
int distance;
unsigned long pulseduration=0;
void setup()
{
pinMode(signal, OUTPUT);
Serial.begin(9600);
}
void measureDistance()
{
pinMode(signal, OUTPUT);
digitalWrite(signal, LOW);
delayMicroseconds(5);
digitalWrite(signal, HIGH);
delayMicroseconds(5);
digitalWrite(signal, LOW);
pinMode(signal, INPUT);
pulseduration=pulseIn(signal,HIGH);
}
void loop()
{
measureDistance();
pulseduration=pulseduration/2;
distance =int(pulseduration/29);
Serial.print("Distance -");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
#include <mega16.h>
#include <stdio.h>
#include <delay.h>
#include <string.h>
ARAH=OUT;
PULSE=1;
delay_us(5);
PULSE=0;
ARAH=INP;
PULSE=1;
while (ECHO==0)
{};
while (ECHO==1)
{
count++; //menghitung lebar sinyal ECHO high
}
jarak=(unsigned int)(((float)count)/25);
return(jarak);
}
void main(void)
{
unsigned char kata[16];
ACSR=0×80;
SFIOR=0×00;
while (1)
{
sprintf(kata, “J=%3d cm”, ultrasonic());
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(kata);//mengirim data ke LCD
delay_ms(300);
}
}
Dalam bidang pertahanan, gelombang ultrasonik digunakan sebagai radar atau navigasi, di darat
maupun di dalam air. Gelombang ultrasonik digunakan oleh kapal pemburu untuk mengetahui
keberadaan kapal selam, dipasang pada kapal selam untuk mengetahui keberadaan kapal yang
berada di atas permukaan air, mengukur kedalaman palung laut, mendeteksi ranjau, dan
menentukan posisi sekelompok ikan.