On Off LED Berdasar Jarak dengan Arduino Uno

Pada studi kasus kali ini kita akan membuat sistem proximity (pendeteksi batas) dengan sensor jarak HC-SR04 yang berbasis suara elektronik. Data jarak kemudian ditampilkan di LCD 2004, sedangkan kontrol beban diindikasikan dengan LED. Sebagai pebdahuluan, dasar-dasar mengenai sensor ultrasonik HCSR04 dapat dibaca di artikel tentang sensor ultrasonik dan artikel ultrasonik dengan NodeMCU. Pada intinya sensor jarak ultrasonik bekerja berdasar waktu yang ditempuh gelombang ultrasonik dari pertama kali dikirim transmitter sampai diterima kembali oleh penerima (receiver)

Sensor ultrasonik yang tersedia di pasaran salah satunya adalah tipe HCSR04. Sensor ini cukup populer karena harganya yang murah, penggunaannya mudah dan hasil pengukuran yang relatif akurat (tingkat akurasinya 1 cm). Sensor ini memiliki 4 pin yaitu Vcc, TRIG, ECHO, dan Gnd. Pin TRIG digunakan untuk men-trigger awal pengukuran (awal ‘penembakan’ gelombang ultrasonik), sedangkan pin ECHO akan aktif ketika gelombang pantul sampai di receiver sensor (lihat gambar di atas)

Baiklah, mari kita segera buat sistemnya. Alat dan bahan yang diperlukan untuk membuat sistem penanda batas jarak dengan sensor HCSR04 da Arduino Uno ini adalah sebagai berikut:

Alat dan Bahan Percobaan On-Off LED dengan Arduino Uno dan Sensor Jarak HCSR04

  1. Arduino Uno
  2. Sensor ultrasonik HC-SR04
  3. Resistor 220
  4. LED merah
  5. Kabel jumper male to female secukupnya
  6. Protoboard
  7. LCD 2004 + I2C

Dari bahan-bahan di atas, buatlah rangkaian seperti gambar berikut

Source Code On-Off LED dengan Arduino Uno dan Sensor Jarak HCSR04

Setelah selesai membuat rangkaian di atas, mari kita isi Arduino Uno dengan program supaya dapat menjalankan sistem yang kita inginkan. Sketch ini membutuhkan library LiquidCrystal_I2C yang dapat diinstal melalui menu Tools-Manage Libraries (kmd ketikkan nama library di kotak search)

#include <Wire.h>                   // Memanggil library wire.h
#include <LiquidCrystal_I2C.h>      // Memanggil library LCD dengan I2C
LiquidCrystal_I2C lcd(0x27, 20, 4); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4) 

#define echoPin A0 //Deklarasi echo terhubung pada pin A0 HC-SR04
#define trigPin A1 //Deklarasi trig terhubung pada pin A1 HC-SR04
#define led 2      //Deklarasi LED terhubung pada pin 2

// defines variables
long durasi; // variabel durasi suara
int jarak;   // variabel untuk mengukur jarak

void setup() {
  lcd.init();               // instruksi untuk memulai LCD
  lcd.begin(20,4);          // instruksi untuk menggunakan lcd 20x4
  lcd.backlight();          // instruksi untuk mengaktifkan lampu latar LCD
  pinMode(trigPin, OUTPUT); // deklarasi pin trig sebagai output
  pinMode(echoPin, INPUT);  // deklarasi pin echo sebagai input
  pinMode(led, OUTPUT);     // deklarasi LED sebagai output
  Serial.begin(9600);       // Serial Communication is starting with 9600 of baudrate speed
}

void loop() {
  digitalWrite(trigPin, LOW);  // Trig tidak aktif
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH); // Trig aktif
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  // Membaca sinyal masuk pada echo
  durasi = pulseIn(echoPin, HIGH);
  // Menghitung Jarak
  jarak = durasi * 0.034 / 2;     // Rumus menghitung jarak ultrasonik
  lcd.setCursor(2, 0);            // karakter dimulai dari kolom 2 baris 1
  lcd.print("Tutorial HC-SR04");  // Karakter yang akan ditampilkan pada LCD
  lcd.setCursor(4, 1);            // karakter dimulai dari kolom 4 baris 2
  lcd.print("Arduino Uno");       // Karakter yang akan ditampilkan pada LCD
  lcd.setCursor(0,2);             // karakter dimulai dari kolom 1 baris 3
  lcd.print("Jarak:");            // Karakter yang akan ditampilkan pada LCD
  lcd.print(jarak);               // Menampilkan data jarak pada LCD
  lcd.print("   cm");
  delay(10);

  if (jarak < 5){                // instruksi untuk mengaktifkan LED jika jarak benda kurang dari 5 cm
    digitalWrite(led, HIGH);
    lcd.setCursor(0,3);
    lcd.print("LED ON ");
  }
  else {
    digitalWrite(led, LOW);      // instruksi untuk mematikan LED jika jarak benda lebih dari 5 cm
    lcd.setCursor(0,3);
    lcd.print("LED OFF");
  }
    delay(1000);
}

Upload program di atas ke Arduino Uno Anda, pastikan serial port yang dipilih sudah benar. Jika gambar rangkaian benar dan sketch yang diunggah sudah benar maka hasil percobaan seharusnya akan seperti gambar di bawah

Hasil percobaan saat jarak benda lebih dari 5 cm
Hasil percobaan saat jarak benda kurang dari 5 cm

Perhatikan baris program 43-53. Berdasarkan baris program ini, maka saat jarak benda yang terdeteksi lebih dari 5 cm maka LED akan padam dan saat jarak benda yang terdeteksi kurang dari 5 cm maka LED akan menyala (ON).

Demikian sedikit studi kasus bagaimana membuat sistem pendeteksi jarak dengan sensor HCSR04 dan Arduino Uno, semoga dapat bermanfaat bagi yang sudah mampir ke sini 😊. Jika ada pertanyaan silahkan disampaikan lewat kolom komentar. Terima kasih

Tags:,

Leave a Reply