HC-SR501 adalah modul sensor gerakan inframerah pasif (PIR) yang populer yang mendeteksi gerakan dengan mengukur perubahan radiasi inframerah di lingkungannya. Ini biasanya digunakan dalam pencahayaan yang diaktifkan gerak, sistem keamanan, dan proyek IoT. Tutorial ini akan memandu Anda melalui pengaturan dan menggunakan HC-SR501 dengan Arduino.
Apa yang Anda Butuhkan
- Modul sensor gerak HC-SR501
- Dewan Arduino (mis., Uno, mega, nano)
- Papan tempat memotong papan dan kabel jumper
- Komputer dengan IDE Arduino diinstal
Langkah 1: Memahami sensor HC-SR501
Modul HC-SR501 memiliki sensitivitas yang dapat disesuaikan dan pengaturan waktu tunda, menjadikannya serbaguna untuk berbagai aplikasi deteksi gerak. Ini beroperasi pada daya 5V dan mengeluarkan sinyal tinggi ketika gerakan terdeteksi.
HC-SR501 Pinout
Pin | Fungsi |
---|---|
Vcc | Catu daya (5V) |
KELUAR | Sinyal output digital |
Gnd | Tanah |
Pengaturan yang dapat disesuaikan
- Kepekaan: Sesuaikan rentang deteksi (hingga ~ 7 meter).
- Waktu tunda: Sesuaikan durasi sinyal tinggi setelah gerakan terdeteksi (sekitar 5 detik hingga 5 menit).
Langkah 2: Kabel HC-SR501 ke Arduino
Inilah cara menghubungkan HC-SR501 ke Arduino UNO:
Pin HC-SR501 | Pin Arduino |
---|---|
Vcc | 5v |
KELUAR | Pin 2 |
Gnd | Gnd |
Langkah 3: Unggah kode
Berikut adalah contoh sketsa untuk memantau deteksi gerak dan menampilkan status pada monitor serial:
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
void setup() {
pinMode(pirPin, INPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
Serial.println("Motion detected!");
} else {
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
Langkah 4: Uji pengaturan
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - Bergerak dalam kisaran sensor, dan amati status gerak yang dicetak pada monitor serial.
Opsional: Mengontrol LED dengan gerakan
Anda dapat memodifikasi kode untuk menyalakan LED saat gerakan terdeteksi:
Pengkabelan LED
Pin LED | Pin Arduino |
---|---|
Anoda (+) | Pin 13 |
Katoda (-) | Gnd |
Kode yang dimodifikasi
const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13
void setup() {
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.println("HC-SR501 PIR Motion Sensor Test");
}
void loop() {
int motionStatus = digitalRead(pirPin); // Read the sensor output
if (motionStatus == HIGH) {
digitalWrite(ledPin, HIGH); // Turn on LED
Serial.println("Motion detected!");
} else {
digitalWrite(ledPin, LOW); // Turn off LED
Serial.println("No motion detected.");
}
delay(500); // Update every 500ms
}
Aplikasi HC-SR501
- Pencahayaan yang diaktifkan gerakan
- Alarm penyusup
- Otomatisasi Rumah Cerdas
- Perangkat IoT yang dipicu oleh kedekatan
Pemecahan masalah
- Tidak ada gerakan yang terdeteksi: Pastikan sensor didukung dengan benar dan sensitivitas disesuaikan dengan tepat.
- Pemicu palsu: Kurangi kebisingan lingkungan (mis., Sumber panas) dan hindari paparan sinar matahari langsung.
- Bacaan yang tidak stabil: Periksa catu daya grounding dan stabil yang tepat.
Kesimpulan
Anda telah berhasil menghubungkan sensor gerak HC-SR501 PIR dengan Arduino. Sensor serbaguna ini sangat cocok untuk deteksi gerak di berbagai proyek. Eksperimen dengan fitur tambahan, seperti menyesuaikan sensitivitas atau mengintegrasikannya dengan komponen lain, untuk membuat sistem berbasis gerak canggih!