Sensor Jarak (Gelombang Suara)

Mempelajari sensor ultrasonik HC-SR04 dan menggunakannya untuk membuat sistem parkir.

90 Menit
Modul 1 & 2: Review & Eksplorasi Sensor Tingkat Lanjut
Pertemuan 4

TPTujuan Pembelajaran

  1. Peserta didik dapat menjelaskan prinsip kerja sensor ultrasonik HC-SR04 menggunakan gelombang suara
  2. Peserta didik dapat menghitung jarak menggunakan rumus fisika kecepatan suara
  3. Peserta didik dapat membuat parking sensor dengan indikator LED dan buzzer proporsional
  4. Peserta didik dapat mengkombinasikan sensor jarak dengan aktuator (servo atau buzzer)

Prinsip Gelombang Suara & Ultrasonik

Tahukah kamu bagaimana kelelawar bisa terbang di malam hari tanpa menabrak pohon? Mereka menggunakan teknik ekolokasi (pantulan suara). Mereka mengeluarkan suara melengking tinggi, lalu mendengarkan gema atau pantulannya ketika suara itu mengenai objek, lalu kembali ke telinga mereka.

Sensor jarak ultrasonik (seperti HC-SR04) meniru persis cara kelelawar ini! Kata "ultra" berarti di atas, dan "sonik" berarti suara. Suara ultrasonik adalah gelombang suara yang frekuensinya di atas ambang pendengaran manusia (di atas 20.000 Hz).

Cara Kerja Sensor HC-SR04

Sensor HC-SR04 memiliki dua "mata" (silinder logam), namun sebenarnya itu bukan mata. Yang satu adalah pemancar suara (Speaker / Transmitter), dan yang satunya lagi adalah penerima suara (Microphone / Receiver).

  1. Mikrokontroler memberikan sinyal HIGH singkat ke pin TRIG (Trigger).
  2. Transmitter memancarkan 8 siklus gelombang suara pada frekuensi 40 kHz.
  3. Gelombang suara ini merambat di udara, memantul ketika mengenai benda, dan kembali ke sensor.
  4. Pin ECHO menjadi HIGH selama gelombang belum kembali, dan berubah menjadi LOW saat pantulan ditangkap oleh Receiver.

Fisika: Rumus Menghitung Jarak

Arduino tidak langsung memberikan nilai "10 cm". Arduino hanya bisa mengukur waktu yang dihabiskan sejak suara dipancarkan sampai pantulannya ditangkap (durasi pin Echo HIGH).

Dengan rumus fisika sederhana Jarak = Kecepatan × Waktu:

Jarak = Durasi (µs) × 0.034 (cm/µs)

Membuat Sistem Sensor Parkir Mobil

Sekarang mari kita buat sistem sensor parkir. Kita akan membuat indikator peringatan menggunakan 3 LED (Hijau, Kuning, Merah) dan Buzzer, sesuai dengan zona jaraknya.

Parking_Sensor.ino
cpp
#define TRIG_PIN 9
#define ECHO_PIN 10
#define BUZZER_PIN 8
#define LED_MERAH  13
#define LED_KUNING 12
#define LED_HIJAU  11

long bacaJarak() {
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  long durasi = pulseIn(ECHO_PIN, HIGH);
  return durasi * 0.034 / 2;
}

void setup() {
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(LED_MERAH, OUTPUT);
  pinMode(LED_KUNING, OUTPUT);
  pinMode(LED_HIJAU, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  long jarak = bacaJarak();
  
  // Reset semua LED
  digitalWrite(LED_MERAH, LOW);
  digitalWrite(LED_KUNING, LOW);
  digitalWrite(LED_HIJAU, LOW);
  
  if (jarak < 10) {
    // BAHAYA: terlalu dekat
    digitalWrite(LED_MERAH, HIGH);
    tone(BUZZER_PIN, 1000); // bunyi terus
  } else if (jarak < 25) {
    // PERINGATAN: dekat
    digitalWrite(LED_KUNING, HIGH);
    tone(BUZZER_PIN, 600, 200); // bunyi berkala
  } else {
    // AMAN
    digitalWrite(LED_HIJAU, HIGH);
    noTone(BUZZER_PIN);
  }
  
  Serial.print("Jarak: ");
  Serial.print(jarak);
  Serial.println(" cm");
  delay(200);
}
Serial Monitor Output
Jarak: 32 cm Jarak: 30 cm Jarak: 22 cm Jarak: 8 cm

Troubleshooting Sensor HC-SR04

Troubleshooting

Masalah:Jarak yang terbaca selalu 0 cm atau angka acak tidak masuk akal (misalnya 3000 cm).

Solusi:Cek pin koneksi kabel jumper! Sering kali kabel TRIG dan ECHO tertukar di Arduino. Pastikan juga objek pemantul datar dan kokoh; bahan kain berbulu/spons dapat menyerap gelombang suara alih-alih memantulkannya.


Masalah:Jarak kurang stabil saat disentuh atau dekat.

Solusi:Sensor ini memiliki 'blind spot' (titik buta) di bawah 2 cm. Jarak minimal yang bisa dideteksi dengan akurat biasanya di atas 2-3 sentimeter.

Kuis

Mengapa dalam rumus perhitungan jarak HC-SR04, hasil akhir harus dibagi dengan 2?

Sedang

Latihan Praktik

Modifikasi Sensor Parkir

Sempurnakan program sensor parkir di atas dengan aturan:

  1. Tambahkan satu kondisi jarak tambahan: jika jarak antara 25 cm sampai 50 cm, nyalakan LED Biru (tambahkan komponen LED Biru pada pin yang kosong) dan buzzer berbunyi pendek (50 ms) setiap 500 ms (bunyi bip lambat).
  2. Jika jarak di atas 50 cm, maka hanya LED Hijau yang menyala (Buzzer benar-benar mati).
Kesimpulan Pertemuan
  • Sensor ultrasonik HC-SR04 menggunakan gelombang suara berfrekuensi tinggi (di atas pendengaran manusia) untuk mengukur jarak.
  • Pin TRIG berfungsi sebagai pemancar (speaker), dan pin ECHO berfungsi sebagai penerima pantulan (mikrofon).
  • Pengukuran jarak bergantung pada durasi perjalanan gelombang suara. Rumus utamanya melibatkan kecepatan suara (0.034 cm/µs).
  • Rumus akhir pembacaan adalah Jarak = (Durasi × 0.034) / 2 karena suara menempuh perjalanan bolak-balik.

RRefleksi

Luangkan 2–3 menit untuk menjawab pertanyaan di bawah secara jujur.

Kejutan & Penemuan

Apa yang paling mengejutkan atau menarik hari ini?

Konsep fisika apa yang baru kamu sadari memiliki aplikasi langsung dalam program yang kita buat?

Masih Membingungkan

Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?

Apakah penggunaan fungsi `pulseIn()` dan delay microsecond pada sensor ini dapat kamu pahami?

Rencana Selanjutnya

Apa yang ingin kamu coba atau pelajari minggu depan?

Selain sensor parkir mobil, sistem apa lagi yang bisa kamu buat dengan memanfaatkan sensor pengukur jarak ini?

Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.