Langsung ke konten utama

Arduino : Penggunaan Sensor Ultrasonik (HC-SR04) dengan LED dan Buzzer

Penggunaan Sensor Ultrasonik (HC-SR04) dengan LED dan Buzzer

1. Pendahuluan

Proyek ini bertujuan untuk mendeteksi jarak objek menggunakan sensor ultrasonik HC-SR04. Berdasarkan jarak yang terukur, LED warna-warni akan menyala dan buzzer berbunyi sebagai indikator. Alat ini bisa diaplikasikan pada sistem parkir, robotika, atau alat deteksi objek lainnya.


2. Komponen yang Dibutuhkan:

  • Arduino Uno: Sebagai mikrokontroler utama.

  • Sensor Ultrasonik HC-SR04: Untuk mendeteksi jarak objek.

  • LED:

    • LED Kuning

    • LED Hijau

    • LED Biru

    • LED Merah

  • Buzzer: Sebagai indikator suara.

  • Kabel Jumper: Untuk menghubungkan komponen (12 pcs)

  • Breadboard: Sebagai tempat penyambungan komponen.


3. Cara Kerja Sensor Ultrasonik (HC-SR04)

  • Sensor Ultrasonik HC-SR04 menggunakan gelombang suara ultrasonik untuk mengukur jarak objek di depannya.

  • Cara Kerja:

    1. Mengirimkan sinyal ultrasonik.

    2. Sinyal ini dipantulkan oleh objek.

    3. Sensor menerima sinyal pantulan tersebut dan menghitung waktu yang dibutuhkan untuk kembali, sehingga jarak objek dapat dihitung.


4. Fungsi LED dan Buzzer

  • LED Merah: Menyala jika jarak objek sangat dekat (misal kurang dari sama dengan 10 cm).

  • LED Biru: Menyala jika jarak objek berada dalam kisaran menengah (misal kurang dari sama dengan 20 cm).

  • LED Hijau: Menyala jika jarak objek lebih jauh (misal kurang dari sama dengan 30 cm).

  • LED Kuning: Menyala jika objek sangat jauh (misal kurang dari sama dengan 40 cm).

  • Buzzer: Mengeluarkan bunyi sebagai peringatan jika jarak objek terlalu dekat. Delay bunyi antar tone akan di sesuikan dengan jaraknya.


5. Rangkaian

Berikut adalah rangkaian komponen:

  • Sensor HC-SR04 terhubung ke pin digital Arduino.

  • LED terhubung ke pin digital lain untuk dikendalikan sesuai jarak yang terukur.

  • Buzzer terhubung ke salah satu pin digital yang akan menyala tergantung jartak.

  • Semua komponen dipasang pada breadboard menggunakan kabel jumper.


6. Kode Arduino

Berikut hasil rangkain yang sudah disisi coding : 



7. Kode Arduino

Berikut contoh kode untuk proyek dan penjelasannya :

// mendefinisikan pin sensorultrasonic
#define pintri 8
#define pinech 9

// mendefinisikan pin sensorultrasonic
#define pink 7
#define pinh 6
#define pinb 5
#define pinm 4

// mendefinisikan pin buzzer
#define pinbuz 11

void setup() {
  Serial.begin(9600);
// memberikan ouput atau input pada setiap pin yang sudah di definisan 
  pinMode(pintri, OUTPUT);
  pinMode(pinech, INPUT);
  pinMode(pink, OUTPUT);
  pinMode(pinh, OUTPUT);
  pinMode(pinb, OUTPUT);
  pinMode(pinm, OUTPUT);
}

void loop() {
  // bersihkan sensor ultrasonic
  digitalWrite(pintri, LOW); // matikan triger(pemancar sinyal)
  delayMicroseconds(2); // waktu tunggu skala mikrodetik

  // kirim sinyal sensor ultrasonic
  digitalWrite(pintri, HIGH); // menyalakan triger(pemancar sinyal)
  delayMicroseconds(10); // waktu tunggu skala mikrodetik
  digitalWrite(pintri, LOW); // matikan triger(pemancar sinyal)

  // membaca durasi
  int durasi = pulseIn(pinech, HIGH); // sinyal di terima echo dan dideklasikan sebagai "durasi"
  
  //menghitung jarak dalam satuan cm
  unsigned int jarak = durasi * 0.034/2; // 0.034 adalah kecepatan suara, dibagi 2 karena memancarkan lalu mantul dan di terima
                                        // unsigned berguna agar nilai jarak tidak mines saat tidak ada object di depan sensor
  //tampilkan jarak
  Serial.println(jarak); // untuk menampilkan jarak(cm) dalam serial monitor

  // Logika agar lampu dan buzzer menyala sesuai jarak
  if (jarak <=10){ // jika jarak kurang sama dengan 10 cm

    digitalWrite(pink, HIGH); // led kuning menyala
    digitalWrite(pinh, HIGH); // led hijau menyala
    digitalWrite(pinb, HIGH); // led biru menyala
    digitalWrite(pinm, HIGH); // led merah menyala

    tone(pinbuz, 900); // nyalakan buzzer dalam frekuensi tone
    delay(300); // durasi tone
    noTone(pinbuz); // matikan buzzer
    delay(10); // delay antar tone
  }
  else if (jarak > 10 && jarak <= 20) { // jika jarak lebih 10 cm dan kurang dari sama dengan 20 cm "11-20"

    digitalWrite(pink, HIGH); // led kuning menyala
    digitalWrite(pinh, HIGH); // led hijau menyala
    digitalWrite(pinb, HIGH); // led biru menyala
    digitalWrite(pinm, LOW); // led merah mati

    tone(pinbuz, 900); // nyalakan buzzer dalam frekuensi tone
    delay(300); // durasi tone
    noTone(pinbuz); // matikan buzzer
    delay(200); // delay antar tone
  }

else if (jarak > 20 && jarak <= 30) { // jika jarak lebih 20 cm dan kurang dari sama dengan 30 cm "21-30"

    digitalWrite(pink, HIGH); // led kuning menyala
    digitalWrite(pinh, HIGH); // led hijau menyala
    digitalWrite(pinb, LOW); // led biru mati
    digitalWrite(pinm, LOW); // led merah mati
    
    tone(pinbuz, 800); // nyalakan buzzer dalam frekuensi tone
    delay(300); // durasi tone
    noTone(pinbuz); // matikan buzzer
    delay(500); // delay antar tone
  }
  else if (jarak > 30 && jarak <= 40) { // jika jarak lebih 30 cm dan kurang dari sama dengan 40 cm "31-40"

    digitalWrite(pink, HIGH); // led kuning menyala
    digitalWrite(pinh, LOW); // led hijau mati
    digitalWrite(pinb, LOW); // led biru mati
    digitalWrite(pinm, LOW); // led merah mati

    tone(pinbuz, 700); // nyalakan buzzer dalam frekuensi tone
    delay(300); // durasi tone
    noTone(pinbuz); // matikan buzzer
    delay(800); // delay antar tone
  }
  else { // jika jarak lebih dari 40 cm
    digitalWrite(pink, LOW); // led kuning mati
    digitalWrite(pinh, LOW); // led hijau mati
    digitalWrite(pinb, LOW); // led biru mati
    digitalWrite(pinm, LOW); // led merah mati
  }

  delay(50); // waktu tunggu perulangan program selama 0.05 detik

}

Postingan populer dari blog ini

Plants Into Pets Menggunakan ESP32 Berbasis IoT

Plants Into Pets Menggunakan ESP32 Berbasis IoT "Plants into Pet" adalah proyek inovatif yang mengintegrasikan teknologi IoT untuk meningkatkan interaksi antara pemilik dan tanaman hias. Menggunakan ESP32 sebagai pusat sistem, proyek ini dilengkapi empat sensor: sentuh, getaran, cahaya, dan kelembaban tanah. Sensor-sensor ini memungkinkan tanaman "berkomunikasi" melalui layar OLED yang menampilkan emoji responsif sesuai kondisi, seperti saat membutuhkan penyiraman atau pencahayaan. Data juga dapat dipantau secara real-time melalui aplikasi Blynk, memberikan umpan balik langsung. Proyek ini tidak hanya menawarkan solusi praktis untuk perawatan tanaman tetapi juga menciptakan hubungan emosional yang lebih mendalam, menjadikan pengalaman merawat tanaman lebih interaktif dan bermakna. Tujuan     Proyek ini bertujuan untuk: Meningkatkan Interaksi dengan Tanaman Hias Menghadirkan pengalaman interaktif dengan memungkinkan tanaman "berkomunikasi" melalui emoji re...

Project Bluetooth Light : Kontrol Relay Menggunakan Arduino dan Bluetooth HC-05

Project Bluetooth Light : Kontrol Relay Menggunakan Arduino dan Bluetooth HC-05 1. Judul Proyek: Kontrol Relay Menggunakan Arduino dan Bluetooth HC-05 2. Tujuan Proyek: Proyek ini bertujuan untuk mengontrol relay menggunakan komunikasi Bluetooth. Relay akan dikendalikan dengan perintah yang dikirim dari smartphone melalui modul Bluetooth HC-05 , di mana perintah '1' akan menyalakan relay, dan perintah '0' akan mematikan relay. 3. Alat dan Bahan: Arduino Uno atau sejenisnya. Modul Bluetooth HC-05 . Relay 5V . Smartphone dengan aplikasi Bluetooth (misalnya Bluetooth Terminal ). Kabel jumper . Power supply untuk relay (jika diperlukan). 4. Skema Koneksi: Modul Bluetooth HC-05: VCC ke 5V Arduino. GND ke GND Arduino. TX ke Pin 10 Arduino (karena menggunakan SoftwareSerial ).   RX ke Pin 11 Arduino (dengan pembagi tegangan untuk menurunkan tegangan ke 3.3V...

Project Arduino Uno: Alat Ukur Tandon Air dan Otomatis Pompa

Deskripsi Singkat: Proyek ini menggunakan Arduino Uno untuk mengukur volume air di tandon atau tangki dengan sensor ultrasonik. Informasi tentang volume air ditampilkan di layar LCD 20x4 . Proyek ini juga mengotomatiskan kendali pompa air menggunakan servo motor , yang aktif atau mati berdasarkan tingkat ketinggian air yang terdeteksi. Tujuan: Mengukur ketinggian air di tandon/tangki menggunakan sensor ultrasonik. Menampilkan volume air di LCD dalam bentuk angka dan grafik bar. Mengontrol pompa air secara otomatis menggunakan servo motor berdasarkan ketinggian air di tandon. Komponen yang Digunakan: Arduino Uno - Sebagai pusat pemrosesan data. Sensor Ultrasonik HC-SR04 - Mengukur ketinggian air dengan menghitung waktu pantulan gelombang suara. Pin Echo : Digunakan untuk menerima pantulan. Pin Trig : Digunakan untuk mengirim sinyal ultrasonik. LCD 20x4 dengan I2C Module - Menampilkan informasi volum...