Cara menggunakan sensor PIR HC SR501 Arduino
Cara menggunakan sensor PIR HC SR501 Arduino untuk menghidupkan lampu secara otomatis
HC SR501 Pir Arduino Cara Membuat Lampu Menyala Otomatis - Sensor PIR merupakan sensor yang mampu mendeteksi "Pergerakan" Manusia. PIR merupakan singkatan dari Passive Infrared.
1. Apa itu sensor PIR?
Sensor PIR adalah sensor yang mendeteksi perubahan radiasi inframerah yang berasal dari pergerakan benda atau manusia.PIR merupakan singkatan dari Passive Infra Red. Sensor ini pada dasarnya dibuat dengan Sensor Pyroelectric.
Sederhananya sensor PIR adalah sensor yang bisa mendeteksi pergerakan manusia.
Beberapa benda tertentu atau manusia memiliki pancaran radiasi inframerah. Ketika benda atau menusia bergerak, maka radiasi yang terpancar akan berubah. Perubahan radiasi ini yang dimanfaatkan oleh sensor PIR dan mengolahnya menjadi sebuah sinyal.
Dengan sinyal ini nanti diproses untuk kebutuhan tertentu, salah satunya untuk menyatakan kehadiran manusia.
2. Dimana sensor PIR akan digunakan?
Berdasarkan fungsinya, sensor PIR dapat digunakan pada banyak aplikasi, baik pada rumah, taman, kantor dan lainnya, seperti:
- Lampu hidup otomatis
- AC hidup otomatis
- Alarm untuk CCTV
- Kipas Ventilasi
- Alarm anti maling
- dan sebagainya
3. Cara Kerja Sensor PIR HC SR501
Banyak jenis dan produsen yang memproduksi sensor PIR, seperti Panasonic, Adafruit, Kemet, Murata, Parallax, Seed Technology, Sparkfun, Zilog dan lain-lain.
Ketika kita berbicara tentang sensor, itu sebenarnya kita berbicara tentang satu komponen utama pendeteksi. Namun jika kita berbicara tentang sensor PIR HC SR501, itu sebenarnya kita berbicara tentang modul sensor HC SR501.
A. Apa yang dimaksud dengan modul?
Modul adalah suatu papan elektronik yang telah terdiri dari komopnen-komponen tambahan pendukung, dari komponen utama.
Sensor PIR (komponen utama) itu tugasnya hanya mendeteksi perubahan suhu infrared dan mengeluarkan sinyal listrik yang sangat kecil.
Sinyal listrik ini harus dikuatkan untuk bisa kita gunakan pada tahapan selanjutnya. Salah satu komponen penguat sinyal ini adalah IC BISS0001.
BISS0001 adalah sebuah IC yang digunakan khusus untuk membaca sinyal output dari sensor PIR dan merubahnya menjadi sinyal yang dapat digunakan oleh komponen lain seperti mikrokontroller.
Beberapa fitur dari IC BISS0001 adalah:
- Chip CMOS Berdaya rendah (cocok untuk mengggunakan baterai)
- Chip CMOS dengan Amplifier operasional impedansi input tinggi
- Bisa deteksi level dua arah / tahan terhadap noise(gangguan)
- Built-in Power up menonaktifkan & mengeluarkan logika kontrol pulsa
- Mode ganda: dapat dipicu & tidak dapat dipicu.
B. Bagaimana cara kerja sensor PIR HC SR501?
![]() |
Pin Out PIR HC SR501 dan Konfigurasinya |
4. Rangkaian PIR HC SR501 Arduino
![]() |
Rangkaian PIR HC SR501 Arduino Uno |
5. Program PIR SR501 Arduino
A. Mendeteksi Gerak
/* Deteksi Gerak - https://www.chippiko.com/ Kode dasar edit dari https://learn.adafruit.com/ */ int pinSensor = 2; int pinLed = 13; int statusSensor = LOW; int nilai = 0; void setup() { Serial.begin(9600); pinMode(pinLed, OUTPUT); pinMode(pinSensor, INPUT); } void loop() { nilai = digitalRead(pinSensor); if (nilai == HIGH) { digitalWrite(pinLed, HIGH); if (statusSensor == LOW) { Serial.println("Terdeteksi!"); statusSensor = HIGH; } } else { digitalWrite(pinLed, LOW); if (statusSensor == HIGH) { Serial.println("Tidak terdeteksi!"); statusSensor = LOW; } } }
B. Menyalakan Lampu Disaat Ada Orang Diruangan dan Mematikannya ketika Orang tersebut keluar dari Ruangan
int ketentuan = 4 * 60; //Atur nilai maksimal 4 menit const unsigned long batasAngka = 250; //Setiap 250 mili detik lakukan perhitungan unsigned long millisSebelumnya = 0; //Digunakan untuk millis unsigned long millisSekarang = 0; //Digunakan untuk millis float penghitung = 0; int sensorPin1 = 10; //Pin D10 untuk Sensor 1 int sensorPin2 = 11; //Pin D11 untuk Sensor 2 int sensorPin3 = 12; //Pin D12 untuk Sensor 3 int kondisiSensorPin1 = 0; //Untuk menyimpan data HIGH/LOW dari Sensor 1 int kondisiSensorPin2 = 0; //Untuk menyimpan data HIGH/LOW dari Sensor 1 int kondisiSensorPin3 = 0; //Untuk menyimpan data HIGH/LOW dari Sensor 1 int lampu = 13; //Pin D13 Untuk Lampu/Relay void setup() { Serial.begin(9600); Serial.println("Mulai"); pinMode(sensorPin1, INPUT); //Jadikan pin D10 sebagai input pinMode(sensorPin2, INPUT); //Jadikan pin D11 sebagai input pinMode(sensorPin3, INPUT); //Jadikan pin D12 sebagai input pinMode(lampu, OUTPUT); //Jadikan pin D13 sebagai output } void loop() { //Ambil data nilai millis millisSekarang = millis(); //Baca nilai dari sensor kondisiSensorPin1 = digitalRead(sensorPin1); kondisiSensorPin2 = digitalRead(sensorPin2); kondisiSensorPin3 = digitalRead(sensorPin3); //Kirim data nilai sensor ke serial monitor if (kondisiSensorPin1 == HIGH) {Serial.println("Pin 10 HIGH");} if (kondisiSensorPin2 == HIGH) {Serial.println("Pin 11 HIGH");} if (kondisiSensorPin3 == HIGH) {Serial.println("Pin 12 HIGH");} //Jika salah satu dari sensor memberikan sinyal HIGH, maka hidupkan lampu if ((kondisiSensorPin1 == HIGH) || (kondisiSensorPin2 == HIGH) || (kondisiSensorPin3 == HIGH)) { digitalWrite(lampu, HIGH); Serial.println("Lampu dihidupkan"); penghitung = 0; } //Hitung data setiap per 250 milidetik if ((millisSekarang - millisSebelumnya) >= batasAngka) { penghitung = penghitung + .25; Serial.print(penghitung); Serial.println(" Detik"); millisSebelumnya = millisSekarang; } //Jika data yang dihitung telah sampai 4 menit, maka lampu dimatikan if (penghitung == ketentuan) { digitalWrite(lampu, LOW); Serial.println("Lampu di matikan"); } }
6. Download Datasheet BISS0001
Semoga artikel ini bermanfaat untuk dapat membantu proyek arduino anda. Terima kasih telah berkunjung.
Posting Komentar untuk "Cara menggunakan sensor PIR HC SR501 Arduino"