Blog Paldi

SISTEM DETEKSI JARAK BERBASIS SENSOR ULTRASONIK MENGGUNAKAN ARDUINO

Abstrak

Proyek ini mengembangkan sistem deteksi jarak berbasis sensor ultrasonik HC-SR04, layar LCD, dan LED untuk meningkatkan keselamatan di berbagai sektor. Sensor mendeteksi jarak objek dan mengaktifkan LED berdasarkan kategori: bahaya (35–50 cm), hati-hati (51–100 cm), dan aman (>100 cm). Hasil percobaan menunjukkan sistem bekerja sesuai tujuan, namun terdapat fluktuasi pengukuran dan tampilan LCD berkedip. Untuk meningkatkan kinerja, disarankan menerapkan algoritma filter dan optimasi tampilan LCD. Dengan biaya terjangkau dan desain sederhana, proyek ini memiliki potensi besar dalam meningkatkan keselamatan dan efisiensi di kehidupan sehari-hari.

Flowchart Cara Kerja

Alat & Bahan

  1. Arduino Uno R3, Mikrokontroler sebagai otak sistem.
    1. Sensor Ultrasonik HC-SR04, Sensor ultrasonik untuk mengukur jarak.
    1. LCD 16×2, Layar untuk menampilkan informasi jarak.
    1. LED, Indikator visual untuk peringatan.
    1. Resistor (220 ohm dan 200 ohm), Untuk mengatur tegangan
    1. BreadBoard, menempatkan dan menyusun piranti atau komponen-komponen elektronika menjadi rangkaian elektronika tanpa penyolderan.

Rangkaian

Projek ini dibuat menggunakan software Tinkercad untuk mensiumulasikan perangkat projek yang dibuat. Tinkercad adalah platform berbasis web yang memungkinkan simulasi dan perancangan rangkaian elektronik, termasuk penggunaan Arduino.

Bisa diakses melalui (link ini)

Source Code:

            #include <LiquidCrystal.h>

// Pin definisi

#define D4 4

#define D5 5

#define D6 6

#define D7 7

#define E 8

#define RS 9

LiquidCrystal LCD(RS, E, D4, D5, D6, D7);

// pin untuk HC-SR04

const int trigPin = 12;

const int echoPin = 11;

// LED pin

const int ledPin = 13;

void setup() {

  // Inisiasi LCD

  LCD.begin(16, 2);

  Serial.begin(9600);

  // Sensor Pin

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(ledPin, OUTPUT);

}

void loop() {

  // Clear the trigPin by setting it LOW

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  // Send a 10-microsecond HIGH pulse to trigger the sensor

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  // Measure the duration of the echo pulse

  long duration = pulseIn(echoPin, HIGH);

  // Calculate the distance in cm

  long distance = duration * 0.0344 / 2;

  // Menampilkan jarak di LCD

  LCD.clear();

  LCD.print(“Jarak: “);

  LCD.print(distance);

  LCD.print(” cm”);

  delay(1000); // Delay to allow reading the distance

  // Logika LED terhadap jarak

  LCD.clear();

  if (distance > 35 && distance <= 50) {

    LCD.print(“Bahaya”);

    digitalWrite(ledPin, HIGH); // LED ON

  }

  else if (distance > 50 && distance <= 100) {

    LCD.print(“Hati-hati”);

    // Blink LED

    int blinkSpeed = map(distance, 51, 100, 200, 500);  // Map the distance to blink speed

    for (int i = 0; i < 5; i++) { // Blink 5 times

      digitalWrite(ledPin, HIGH);

      delay(blinkSpeed);

      digitalWrite(ledPin, LOW);

      delay(blinkSpeed);

    }

  }

  else if (distance > 100) {

    LCD.print(“Aman”);

    digitalWrite(ledPin, LOW); // LED OFF

  }

  delay(1000); // Delay to allow reading the alert message

}

Hasil Pengujian

Percobaan Ke-JarakStatusIndikator
143BahayaLED Menyala
2122AmanLED Mati
367Hati-HatiLED Berkedip
473Hati-HatiLED Berkedip
5113AmanLED Mati
636BahayaLED Menyala

Kesimpulan

Dari hasil percobaan, sistem pengukuran jarak berbasis Arduino dengan sensor HC-SR04, LCD, dan LED telah berhasil bekerja sesuai tujuan. Sistem mampu mendeteksi jarak objek dengan akurasi memadai dan memberikan respons visual melalui LCD dan LED berdasarkan kategori jarak: bahaya (35–50 cm), hati-hati (51–100 cm), dan aman (>100 cm). Pada kondisi bahaya, LED menyala penuh; pada kondisi hati-hati, LED berkedip dengan kecepatan tertentu; dan pada kondisi aman, LED mati. Namun, terdapat beberapa kekurangan, seperti fluktuasi hasil pengukuran yang mengurangi stabilitas data dan tampilan LCD yang berkedip akibat seringnya penggunaan fungsi LCD.clear(). Kecepatan berkedip LED pada kondisi hati-hati juga membutuhkan penyempurnaan agar lebih konsisten. Untuk meningkatkan kinerja, disarankan menambahkan algoritma filter seperti moving average untuk memperbaiki kestabilan data. Selain itu, pembaruan LCD dapat dioptimalkan dengan hanya mengganti teks yang berubah, sehingga tampilan lebih nyaman dibaca. Fitur tambahan, seperti buzzer untuk peringatan suara atau koneksi IoT untuk pemantauan jarak jarak jauh, dapat meningkatkan fungsionalitas sistem. Dengan perbaikan ini, sistem akan lebih andal dan aplikatif di berbagai kondisi.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *