LAPORAN PRAKTIKUM
LABORATORIUM SENSOR dan TRANSDUSER
Modul Sensor PIR HC-SR501
Dosen pengampu : Wahyu Sulistiyo , S.T., M. Kom.
Disusun oleh :
1. Bulan Aura Dwi Yulinda 3.32.23.3.09
2. Dimas Fayzul Haq G. 3.32.23.3.10
3. Fariz Dwi Saputra 3.32.23.3.11
4. Kevin Cahya F. 3.32.23.3.12
PROGRAM STUDI TEKNIK ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO POLITEKNIK
NEGERI SEMARANG :
2024
1
I. TUJUAN
1. Mengetahui kegunaan Modul Sensor PIR HC-SR501 sebagai pendeteksi
gerak.
2. Membuat peralatan detektor gerak berbasis Arduino
II. DASAR TEORI
Modul Sensor PIR ini sebenarnya terdiri dari sensor piroelektrik yang
menghasilkan energi ketika terkena panas. Itu berarti ketika tubuh manusia atau
hewan akan berada dalam jangkauan sensor, ia akan mendeteksi gerakan karena
tubuh manusia atau hewan mengeluarkan energi panas dalam bentuk radiasi
inframerah. Di situlah nama sensor berasal, sensor Infra-Red Pasif. Dan istilah
"pasif" berarti bahwa sensor tidak menggunakan energi apa pun untuk mendeteksi
tujuan, itu hanya berfungsi dengan mendeteksi energi yang dilepaskan oleh benda-
benda lain. Sensor ini juga sering disebut sebagai, "Passive Infrared",
"Pyroelectric", atau "IR motion" sensor.
Gambar 1. Modul PIR motion sensor
Modul ini juga terdiri dari penutup yang dirancang khusus bernama lensa Fresnel,
yang memfokuskan sinyal inframerah ke sensor piroelektrik.
Gambar 2. Fungsi lensa fresnel pada sensor PIR
2
Modul ini hanya memiliki tiga pin, Ground dan VCC untuk memberi daya pada
modul dan pin output yang memberikan tingkat logika tinggi jika suatu objek
terdeteksi. Juga memiliki dua potensiometer. Satu untuk menyesuaikan
sensitivitas sensor dan lainnya untuk mengatur waktu sinyal output tetap tinggi
ketika objek terdeteksi. Waktu ini dapat disesuaikan dari 0,3 detik hingga 5 menit.
Gambar 3. Fungsi bagian-bagian dari sensor PIR
III. ALAT DAN BAHAN
1) Board Arduino Uno
2) Modul Sensor PIR HC-SR501
3) Kabel jumper
4) PC/laptop + Software Arduino IDE.
IV. LANGKAH PERCOBAAN
1) Susun rangkaian seperti pada gambar 4.
Gambar 4. Rangkaian percobaan detektor gerak dengan sensor PIR HC-SR501
3
2) Tulis program seperti di bawah ini;
1) /*
2) * PIR sensor tester
3) */
4)
5) int ledPin = 13; // pilih pin untuk LED
6) int inputPin = 2; // pilih pin input (untuk sensor PIR)
7) int pirState = LOW; // kondisi awal, dengan asumsi tidak ada gerakan
terdeteksi
8) int val = 0; // variable untuk membaca status pin
9)
10) void setup() {
11) pinMode(ledPin, OUTPUT); // pernyataan LED sebagai output
12) pinMode(inputPin, INPUT); // pernyataan sensor sebagai input
13)
14) Serial.begin(9600);
15) }
16)
17) void loop(){
18) val = digitalRead(inputPin); // baca nilai input
19) if (val == HIGH) { // periksa apakah inputnya HIGH
20) digitalWrite(ledPin, HIGH); // nyalakan LED
21) if (pirState == LOW) {
22)
23) Serial.println("Terdeteksi Gerakan!");
24)
25) pirState = HIGH;
26) }
27) } else {
28) digitalWrite(ledPin, LOW); // matika LED
29) if (pirState == HIGH){
30) // kondisi berlawanan
31) Serial.println("Gerakan Berhenti");
32)
33) pirState = LOW;
34) }
35) }
36) }
4
3) Jalankan program, dan amati hasil pembacaan pada monitor untuk
mendeteksi adanya gerakan.
V. TUGAS
1) Ubah program diatas agar dapat ditampilkan pada LCD dan bunyi alarm
5
VI. ANALISA
Pada prcobaan yang kami lakukan codingan kami mengeluarkan perintah
pada saat sensor terdeteksi gerakan maka buzzer akan berbunyi sebagai alarm
dan pada layar LCD akan mengeluarkan output yang sama pada layar serial
monitor.
VII. KESIMPULAN
6
Percobaan menggunakan modul sensor PIR HC-SR501 bertujuan untuk
mempelajari cara kerja sensor gerak dan implementasinya dalam proyek
elektronika. Dari percobaan ini, dapat disimpulkan beberapa hal berikut:
1. Fungsi Sensor PIR: Modul PIR HC-SR501 berfungsi untuk mendeteksi
adanya gerakan dalam area yang terjangkau oleh sensor. Sensor ini
bekerja dengan mendeteksi perubahan suhu yang terjadi akibat gerakan
tubuh manusia yang memiliki suhu lebih tinggi daripada lingkungan
sekitarnya.
2. Kinerja Sensor: Sensor PIR ini dapat mendeteksi gerakan dalam jarak
sekitar 3 hingga 7 meter, tergantung pada lingkungan sekitar dan sudut
deteksi. Ketika ada gerakan yang terdeteksi, sensor mengeluarkan sinyal
output digital yang dapat digunakan untuk mengaktifkan perangkat lain,
seperti lampu atau alarm.
3. Pengaturan Sensitivitas dan Waktu: Modul ini dilengkapi dengan dua
potensiometer yang memungkinkan pengaturan sensitivitas dan waktu
tunda. Pengaturan sensitivitas berguna untuk menentukan seberapa
sensitif sensor terhadap gerakan, sementara pengaturan waktu tunda
mengatur berapa lama sensor akan terus memberikan sinyal setelah
mendeteksi gerakan.
4. Aplikasi: Modul PIR HC-SR501 banyak digunakan dalam berbagai
aplikasi, seperti sistem pencahayaan otomatis, pengamanan rumah, atau
alat bantu untuk pengendalian perangkat lain berdasarkan deteksi
gerakan.
5. Keterbatasan: Meskipun sensor ini efektif dalam mendeteksi gerakan,
sensor PIR ini memiliki keterbatasan dalam deteksi objek yang tidak
mengeluarkan panas tubuh (seperti hewan atau objek mati). Selain itu,
sensor ini tidak dapat mendeteksi gerakan melalui halangan fisik seperti
dinding atau benda besar.
7
LAMPIRAN
/*
* PIR Sensor Tester with LCD and Alarm
*/
#include <LiquidCrystal.h> // Library untuk LCD
// Pin konfigurasi
int ledPin = 13; // Pin untuk LED
int inputPin = 2; // Pin input untuk sensor PIR
int buzzerPin = 3; // Pin untuk buzzer
// Status awal
int pirState = LOW; // Status awal (tidak ada gerakan
terdeteksi)
int val = 0; // Variabel untuk membaca status
pin
// Konfigurasi pin LCD (RS, EN, D4, D5, D6, D7)
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
pinMode(ledPin, OUTPUT); // Atur LED sebagai output
pinMode(inputPin, INPUT); // Atur sensor PIR sebagai
input
pinMode(buzzerPin, OUTPUT); // Atur buzzer sebagai
output
lcd.begin(16, 2); // Inisialisasi LCD 16x2
lcd.print("PIR Tester"); // Pesan awal di LCD
Serial.begin(9600); // Mulai komunikasi serial
delay(2000); // Tunggu 2 detik
lcd.clear(); // Bersihkan layar LCD
}
void loop() {
val = digitalRead(inputPin); // Baca nilai dari pin
sensor PIR
if (val == HIGH) { // Jika ada gerakan
terdeteksi
digitalWrite(ledPin, HIGH); // Nyalakan LED
digitalWrite(buzzerPin, HIGH); // Nyalakan buzzer
lcd.setCursor(0, 0); // Posisikan kursor di
baris pertama
lcd.print("Gerakan: Ada "); // Tampilkan pesan di
LCD
if (pirState == LOW) { // Jika status sebelumnya
LOW
Serial.println("Terdeteksi Gerakan!");
pirState = HIGH; // Ubah status menjadi
HIGH
}
} else { // Jika tidak ada gerakan
digitalWrite(ledPin, LOW); // Matikan LED
8
digitalWrite(buzzerPin, LOW); // Matikan buzzer
lcd.setCursor(0, 0); // Posisikan kursor di
baris pertama
lcd.print("Gerakan: Tidak "); // Tampilkan pesan di
LCD
if (pirState == HIGH) { // Jika status sebelumnya
HIGH
Serial.println("Gerakan Berhenti");
pirState = LOW; // Ubah status menjadi
LOW
}
}
}