# ALARM SENSOR PARKIR

## 🎥 VIDEO TUTORIAL LENGKAP

Bingung mulai dari mana? Tenang, kami sudah siapkan panduan lengkap dalam bentuk video! Yuk tonton dulu sebelum ngoprek:

<iframe height="314" src="https://www.youtube.com/embed/eusbkPm47Aw?si=khiDwMZEwT3EPEY9" style="max-width: 100%; border: none;" width="560"></iframe>

---

## 🔌 WIRING ATAU RANGKAIAN

<span style="white-space: pre-wrap;">Masih ragu cara pasangnya? Jangan khawatir. Kamu bisa cek skema lengkap dan petunjuk pemasangan di halaman ini: 👉 </span>[WIRING MAKE KIT ULTRASONIC](https://docs.ichibot.id/books/ichibot-make-kit-ultrasonic/page/wiring-make-kit-ultrasonic)

---

## 💻 SOURCE CODE

Nah, ini dia bagian serunya! Berikut adalah source code yang bisa langsung kamu upload ke Arduino. Tinggal copy-paste, upload, dan... lihat keajaibannya! 😎

```c++
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define trigPin 9
#define echoPin 10
#define buzzerPin 8

LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C bisa disesuaikan (umum: 0x27 atau 0x3F)

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  
  lcd.init();
  lcd.backlight();
  lcd.setCursor(3, 0);
  lcd.print("Alarm Parkir");
  delay(1000);
  lcd.clear();
}

void loop() {
  long duration;
  float distance;

  // Kirim sinyal trigger
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Hitung jarak
  duration = pulseIn(echoPin, HIGH);
  distance = (duration * 0.0343) / 2;

  // Tampilkan di LCD
  lcd.setCursor(0, 0);
  lcd.print("Jarak: ");
  lcd.print(distance, 1);
  lcd.print(" cm   ");

  // Buzzer berdasarkan jarak
  if (distance < 10) {
    tone(buzzerPin, 1000);
    delay(100);
    noTone(buzzerPin);
    delay(100);
  } else if (distance < 30) {
    tone(buzzerPin, 1000);
    delay(500);
    noTone(buzzerPin);
    delay(500);
  } else {
    noTone(buzzerPin);
  }

  delay(100);
}
```

<span style="white-space: pre-wrap;">Sudah di-copy? Sekarang tinggal upload ke board Arduino kamu! Kalau belum tahu cara upload, tenang… semua sudah kami bahas di halaman ini: 🔗 </span>[SEMUA TENTANG ARDUINO IDE](https://docs.ichibot.id/books/semua-tentang-arduino-ide)

---

## 🧠 PENJELASAN PROGRAM

- ****Library:****<span style="white-space: pre-wrap;"> Program ini menggunakan </span>`<span class="editor-theme-code">Wire.h</span>`<span style="white-space: pre-wrap;"> dan </span>`<span class="editor-theme-code">LiquidCrystal_I2C.h</span>`<span style="white-space: pre-wrap;"> untuk komunikasi I2C ke LCD 16x2.</span>
- ****Pin Setup:****<span style="white-space: pre-wrap;"> Pin 9 digunakan sebagai </span>**trigger**<span style="white-space: pre-wrap;">, pin 10 sebagai </span>**echo**, dan pin 8 untuk buzzer.
- ****LCD Display:****<span style="white-space: pre-wrap;"> Menampilkan jarak secara real-time dalam satuan centimeter.</span>
- ****Pengukuran Jarak:****<span style="white-space: pre-wrap;"> Menggunakan </span>`<span class="editor-theme-code">pulseIn()</span>`<span style="white-space: pre-wrap;"> untuk menghitung durasi pantulan ultrasonik, lalu dikonversi jadi jarak.</span>
- ****Buzzer:****
    - Jarak &lt; 10 cm → buzzer cepat (alarm bahaya)
    - Jarak &lt; 30 cm → buzzer lambat (peringatan)
    - Jarak &gt;= 30 cm → buzzer mati (aman)

<span style="white-space: pre-wrap;">Program ini cocok untuk proyek seperti </span>****alarm parkir otomatis****<span style="white-space: pre-wrap;">, </span>****deteksi halangan robot****<span style="white-space: pre-wrap;">, atau bahkan jadi dasar sistem </span>**proximity warning**.

---

**Selamat mencoba dan teruslah bereksperimen! Karena inovasi besar sering dimulai dari rangkaian kecil seperti ini. 🚀**