Deteksi Gerakan Dengan Sensor PIR HC-SR501 Dan ESP8266

by Fardigi in Circuits > Arduino

55 Views, 0 Favorites, 0 Comments

Deteksi Gerakan Dengan Sensor PIR HC-SR501 Dan ESP8266

4 (1).png

Pada proyek kali ini, kita akan belajar cara mendeteksi gerakan manusia menggunakan sensor PIR (Passive Infrared) dengan ESP8266 NodeMCU.

Sensor ini banyak digunakan dalam sistem keamanan, lampu otomatis, dan berbagai proyek IoT cerdas lainnya.

Melalui tutorial ini, kamu akan belajar cara:

  1. Menyambungkan sensor PIR ke ESP8266.
  2. Membaca sinyal digital dari sensor PIR.
  3. Menyalakan LED ketika gerakan terdeteksi.

Ini adalah salah satu proyek dasar dari Fardigi Education IoT Prototype Kit, bagian dari modul IoT Sensor & Automation.

Supplies

Dari Fardigi IoT Prototype Kit, siapkan:

  1. ESP8266 NodeMCU
  2. Sensor PIR HC-SR501
  3. LED (opsional, untuk indikator gerakan)
  4. Resistor 220Ω (jika menggunakan LED eksternal)
  5. Kabel jumper (male to female)
  6. Breadboard

Pahami Prinsip Kerja Sensor PIR

SensorPIR.jpg

Sensor PIR HC-SR501 mendeteksi perubahan radiasi infra merah yang dipancarkan oleh tubuh manusia.

Ketika seseorang bergerak di depan sensor, maka sinyal HIGH (1) akan dikirim ke pin output-nya.

Saat tidak ada gerakan, sinyalnya LOW (0).

Sensor ini memiliki dua potensiometer kecil di bagian belakang:

  1. Sensitivitas (SENS) → mengatur jarak deteksi (hingga ±7 meter).
  2. Delay Time (TIME) → mengatur lama waktu output tetap HIGH setelah gerakan terdeteksi.

Rangkaian Koneksi

Screenshot 2025-10-23 170928.png
images (1).png

💡 Catatan:

Gunakan breadboard untuk menyusun rangkaian agar lebih rapi.

Kode Program Arduino

Buka Arduino IDE, lalu salin kode berikut:


int pirPin = D5; // Pin sensor PIR
int ledPin = D2; // Pin LED indikator
int pirState = LOW; // Status awal sensor
int val = 0; // Menyimpan pembacaan sensor

void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
Serial.println("Sistem Sensor Gerak Siap!");
}

void loop() {
val = digitalRead(pirPin);

if (val == HIGH) {
digitalWrite(ledPin, HIGH); // Nyalakan LED
if (pirState == LOW) {
Serial.println("Gerakan terdeteksi!");
pirState = HIGH;
}
} else {
digitalWrite(ledPin, LOW); // Matikan LED
if (pirState == HIGH) {
Serial.println("Tidak ada gerakan.");
pirState = LOW;
}
}
delay(100);
}


Upload Program Ke ESP8266

  1. Hubungkan ESP8266 ke laptop menggunakan kabel USB.
  2. Di Arduino IDE, pastikan:
  3. Board: NodeMCU 1.0 (ESP-12E Module)
  4. Port: sesuai dengan yang muncul di Tools → Port.
  5. Klik Upload (→) dan tunggu hingga selesai.
  6. Buka Serial Monitor (Ctrl + Shift + M) dengan baud rate 115200.
  7. Coba gerakkan tangan di depan sensor PIR — kamu akan melihat pesan “Gerakan terdeteksi!” dan LED menyala.

Pengujian

  1. Jika sensor tidak langsung merespons, tunggu sekitar 10–30 detik untuk proses inisialisasi PIR.
  2. Ubah potensiometer untuk mengatur jarak deteksi atau waktu tunda.
  3. Pastikan sensor tidak menghadap langsung ke sumber panas seperti sinar matahari atau kipas angin.

Pengembangan Lanjutan

Setelah berhasil membaca data dari sensor PIR, kamu bisa mengembangkan proyek ini menjadi:

  1. Sistem keamanan rumah yang mengirim notifikasi ke web dashboard Fardigi saat ada gerakan.
  2. Lampu otomatis yang menyala hanya saat seseorang lewat.
  3. Monitoring ruangan yang terintegrasi dengan kamera atau sensor lainnya.