HC-SR04 adalah modul sensor ultrasonik yang dapat mengukur jarak dengan rentang 2cm – 4m yang terdapat pin trigger dan pin Echo.
Trigger/Pemicu, Pin ini yang digunakan untuk membangkitkan sinyal ultrasonik. Sedangkan Echo merupakan Receive/Penerima, Pin ini yang digunakan untuk mendeteksi sinyal pantulan ultrasonik.
Gelombang ultrasonik melakukan perjalanan pulang pergi (transmitreceive) sehingga waktu yang dibutuhkan menjadi 2x. Waktu tempuh menjadi 2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29,4 µs(microsecond) x 2 = 58,8 µs. Jadi untuk menghitung jarak menjadi jarak = waktu tempuh/58,8.
Berikut ini dasar prinsip kerja dari sensor ultrasonik HC-SR04:
1. Menggunakan IO trigger sedikitnya 10us sinyal high.
2. Modul HC-SR04 secara otomatis akan mengirimkan 8 kali sinyal frekuensi 40KHz dan mendeteksi apa terdapat sinyal balik atau tidak.
3. Jika terdapat sinyal balik, maka durasi waktu dari output high adalah waktu pengiriman dan penerimaan ultrasonik.
Pada kali ini kita akan mencoba menampilkan data sensor ultrasonik ke LCD 16X4.
Langsung saja rangkai projek seperti di Bawah ini :
Setelah itu upload code sesuai dengan yang dibawah ini :
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
#define trigPin 13 // intuk mendevinisikan dalam sebuah variable
#define echoPin 12
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(5,0);// baris, colom
lcd.print("SENSOR");
lcd.setCursor(3,1);
lcd.print("ULTRASONIK");
delay(3000);
lcd.clear();}
void loop()
{ long duration, distance; // panjang durasi durasi dan jarak
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/ 58.8); // jarak = waktu / kecepatan 2X // jarak 1cm = 29,4 ms pd sensor
lcd.setCursor(5,0);
lcd.print("RESULT");
lcd.setCursor(0,1);
lcd.print("DISTANCE = ");
lcd.setCursor(11,1);
lcd.print(distance);
lcd.setCursor(14,1);
lcd.print("CM");
delay(1000);
lcd.clear();
}
Hasilnya dapat dilihat pada gambar diBawah ini :
Sekian pada tutorial kali ini, Semoga bermanfaat.
0 Comments