01 Januari 2012

Menggunakan Ultrasonic Range Sensor HC-SR04 dan SDM-IO

HC-SR04&SDM-IOSiapDigunakan300

Pada posting kali ini, kita akan membahas cara menggunakan Ultrasonic Range Sensor Module. Ultrasonic modul yang akan dibahas adalah Ultrasonic Range Sensor Module HC-SR04 dan Ultrasonic Module SDM-IO Range Sensor. Keduanya merupakan produk dari ITead Studio.

Sebelum kita membahas cara menggunakan ultrasonic module, ada baiknya sedikit dijelaskan garis besar cara kerjanya.

Ultrasonic modul umunya berbentuk papan elektronik ukuran kecil dengan beberapa rangkaian elektronik dan 2 buah transducer. Dari 2 buah transducer ini, salah satu berfungsi sebagai transmitter dan satu lagi sebagai receiver. Ada juga modul yang hanya mempunyai 1 buah transducer, berfungsi sebagai transmitter dan receiver sekaligus. Tersedia pin VCC, TRIG, ECHO dan GND. Ada juga modul yang pin TRIG dan ECHO-nya digabung menjadi satu dan pemakaiannya berganti-ganti.

Ultrasonic modul ini bekerja dengan cara menghasilkan gelombang suara pada frekuensi tinggi, yang kemudian dipancarkan oleh bagian transmitter. Pantulan gelombang suara yang mengenai benda di depannya akan ditangkap oleh bagian receiver. Dengan mengetahui lamanya waktu antara dipancarkannya gelombang suara sampai ditangkap kembali, kita dapat menghitung jarak benda yang ada di depan modul tersebut. Kita mengetahui kecepatan suara adalah 340m/detik. Lamanya waktu tempuh gelombang suara dikalikan kecepatan suara, kemudian dibagi 2 akan menghasilkan jarak antara ultrasonic modul dengan benda didepannya.

HC-SR04 dan SDM-IO siap digunakan

HC-SR04

HC-SR04 termasuk modul ultrasonic yang mudah digunakan. Sudah tersedia Arduino library sehingga anda sudah bisa langsung menggunakannya. Arduino library dan contoh program untuk HC-SR04 dapat didownload dari link ini. Copy-kan library ini pada folder libraries yang ada pada software Arduino di komputer anda.

HC-SR04 memiliki 4 pin, VCC, TRIG, ECHO dan GND. VCC dihubungkan dengan 5V dari Arduino dan GND dengan GND pada Arduino. TRIG terhubung pada pin digital 12 dan ECHO dihubungkan dengan pin digital 13. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini.

HC-SR04 terhubung dengan Arduino

Hubungkan board Arduino anda dengan komputer menggunakan kabel USB dan upload program di bawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
* HCSR04Ultrasonic/examples/UltrasonicDemo/UltrasonicDemo.pde
*
* SVN Keywords
* ----------------------------------
* $Author: cnobile $
* $Date: 2011-09-17 02:43:12 -0400 (Sat, 17 Sep 2011) $
* $Revision: 29 $
* ----------------------------------
*/

#include

#define TRIGGER_PIN  12
#define ECHO_PIN     13

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

void setup()
{
Serial.begin(9600);
}

void loop()
{
float cmMsec, inMsec;
long microsec = ultrasonic.timing();

  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
Serial.print("MS: ");
Serial.print(microsec);
Serial.print(", CM: ");
Serial.print(cmMsec);
Serial.print(", IN: ");
Serial.println(inMsec);
delay(1000);
}

Kalau tidak ada pesan error maka modul ultrasonic akan langsung bekerja mengukur jarak benda di depannya. Gunakan Serial Monitor (Ctrl+Shift+M) pada software Arduino untuk melihat hasil pengukuran.

SDM-IO

SDM-IO adalah modul ultrasonic yang sama seperti HC-SR04. Berbeda di jarak jangkauan pengukuran jarak, di mana SDM-IO memiliki jarak jangkauan yang lebih pendek. Cara pemakaiannya kurang lebih sama dengan HC-SR04, tapi dengan level sinyal yang terbalik. Kalau HC-SR04 menggunakan sinyal HIGH dengan durasi 10 microseconds, maka SDM-IO menggunakan sinyal LOW dengan durasi 10 micrseconds.

SDM-IO memiliki 4 pin, sama seperi HC-SR04, VCC, TRIG, ECHO dan GND. Hubungkan pin-pin ini sama seperti pada HC-SR04. VCC dihubungkan dengan 5V dari Arduino dan GND dengan GND pada Arduino. TRIG terhubung pada pin digital 12 dan ECHO dihubungkan dengan pin digital 13.

Hubungkan kembali board Arduino anda dengan komputer menggunakan kabel USB dan upload program di bawah ini.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#define SDM_IO_TIMEOUT 1000

int TrigPin = 12;
int EchoPin = 13;
unsigned long ultrasoundDuration;
int timeout;
unsigned long tStartPing = 0;
int sensorValue = 0;

void setup() {
Serial.begin(9600);
pinMode(TrigPin, OUTPUT); //pin is output
pinMode(EchoPin, INPUT); // pin is now input
}

void loop() {
sensorValue = read_sdm_io_range();
Serial.print(sensorValue);
Serial.println(" cm");
delay(100);

}

//SDM-IO Ultrasonic Range Sensor distance function
float read_sdm_io_range()
{
unsigned char pin = 0;
unsigned int time_flag = 0;

  digitalWrite(TrigPin, HIGH);
delayMicroseconds(2);
digitalWrite(TrigPin, LOW);
delayMicroseconds(10);
digitalWrite(TrigPin, HIGH);

  tStartPing = micros();
timeout = 0;
pin = digitalRead(EchoPin);
while(pin)
{
pin = digitalRead(EchoPin);
time_flag++;
if(time_flag > SDM_IO_TIMEOUT)
{
timeout = 1;
break;
}
}
ultrasoundDuration = micros() - tStartPing;
Serial.print(ultrasoundDuration);
Serial.print(" us, ");
Serial.print(ultrasoundDuration*0.017, DEC); // result in cm
Serial.print(" cm");
Serial.println();
if (timeout)
return 999;
else
return ultrasoundDuration * 0.017; // result in cm
}

Sama halnya pada penggunaan HC-SR04, kalau tidak ada pesan error maka modul ultrasonic akan langsung bekerja mengukur jarak benda di depannya. Gunakan Serial Monitor (Ctrl+Shift+M) pada software Arduino untuk melihat hasil pengukuran.

Bagaimana, cukup mudah bukan? Silahkan bereksperimen dengan Ultrasonis Range Sensor Module pada proyek-proyek Arduino anda.

Print Friendly

View the original article here

Ikuti Blog ini

Langganan

Mau dapet Update-an Blog ini lewat e-mail? Masukkin aja alamat Email kamu disini:

Dikirim Oleh FeedBurner