Cara Menghubungkan, Mengkalibrasi, dan Memprogram Sensor Gerakan PIR HC-SR501 dengan Raspberry Pi
Konten
- 1 Cara Kerja Sensor PIR HC-SR501
- 1.1 Menyesuaikan Sensitivitas dan Penundaan
- 2 Diagram Rangkaian dan Penghubungan
- 3 Kode Python untuk Membaca Peristiwa Gerakan
- 4 Contoh Output dan Langkah Selanjutnya
Setiap makhluk hidup memancarkan radiasi inframerah, yang tidak terlihat oleh mata telanjang. Sensor inframerah pasif (PIR), seperti HC-SR501, mendeteksi perubahan suhu halus yang disebabkan oleh gerakan tubuh dan memicu output digital. HC-SR501 menggunakan dua elemen piroelektrik dan sirkuit diferensial untuk menekan alarm palsu yang disebabkan oleh variasi suhu lingkungan, menjadikannya ideal untuk proyek keamanan dan otomatisasi.
Mengintegrasikan HC-SR501 dengan Raspberry Pi cukup sederhana karena output sensor adalah 3,3 V TTL dan dapat diberi daya langsung dari rel 5 V Pi.
Modul ini memiliki tiga pin:
- Vcc – 4,5 V hingga 20 V, input daya
- OUTPUT – 0 V (LOW) / 3,3 V (HIGH)
- GND – ground
Cara Kerja Sensor PIR HC-SR501
Buka persegi panjang sensor menempatkan dua elemen deteksi inframerah di ujung yang berseberangan. Sebuah objek yang memancarkan panas melintasi bidang, waktu setiap elemen mendaftarkan perubahan suhu berbeda. Semakin besar perbedaan waktu ini, semakin sensitif unit tersebut. Lensa Fresnel memusatkan sinar inframerah pada elemen, sementara filter internal memblokir panjang gelombang non-IR untuk meningkatkan akurasi.
Menyesuaikan Sensitivitas dan Penundaan
- Penundaan Deteksi (0,3 s hingga 600 s): Putar potensiometer searah jarum jam untuk meningkatkan penundaan, berlawanan arah jarum jam untuk mengurangi.
- Jarak Sensasi (3 m hingga 7 m): Putar potensiometer searah jarum jam untuk meningkatkan jangkauan, berlawanan arah jarum jam untuk menyingkatnya.
Diagram Rangkaian dan Penghubungan
Hubungkan sensor sebagai berikut:
- Vcc ke pin 2 (5 V)
- OUTPUT ke pin 26 (GPIO 19)
- GND ke pin 6 (ground)
Periksa kembali nomor pin jika Anda menggunakan skema penomoran BCM; GPIO 19 sesuai dengan pin 26 pada header 40 pin.
Kode Python untuk Membaca Peristiwa Gerakan
Sebelum menjalankan skrip, instal library RPi.GPIO jika Anda belum melakukannya:
sudo apt-get install python3-rpi.gpio
Lalu buat pir_motion.py dengan konten berikut:
#!/usr/bin/env python3 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) # Gunakan penomoran pin fisik pir_pin = 26 # Pin 26 (GPIO 19) terhubung ke OUTPUT sensor GPIO.setup(pir_pin, GPIO.IN) print("Menunggu sensor menenang…") time.sleep(2) # Izinkan sensor untuk menstabilkan print("Mendeteksi gerakan…") try: while True: if GPIO.input(pir_pin): # Output sensor HIGH print("Gerakan terdeteksi!") time.sleep(2) # Penundaan debounce untuk menghindari pemicu ganda time.sleep(0.1) # Penundaan loop singkat except KeyboardInterrupt: print("Keluar…") finally: GPIO.cleanup()
Jalankan skrip dengan python3 pir_motion.py. Konsol akan menampilkan “Gerakan terdeteksi!” setiap kali sensor mendaftarkan gerakan.
Contoh Output dan Langkah Selanjutnya
Setelah penghubungan dan eksekusi kode berhasil, Anda akan melihat output yang serupa dengan berikut di terminal Anda:
Menunggu sensor menenang… Mendeteksi gerakan… Gerakan terdeteksi! Gerakan terdeteksi! ...
Di sinilah Anda dapat memperluas program untuk memicu alarm, menangkap gambar dengan kamera, atau mencatat peristiwa ke file atau basis data. HC-SR501 adalah komponen handal, biaya rendah untuk berbagai macam proyek otomatisasi dan keamanan.
Baca lebih lanjut tentang penggunaan sensor PIR lanjutan, teknik kalibrasi, dan integrasi dengan platform otomatisasi rumah di halaman Penggunaan PIR Lanjutan kami.