Membuat Alat Anti Maling Dengan Sensor PIR

Posted on

Anti Maling Sensor PIR

Membuat Alat Anti Maling Dengan Sensor PIR – Kemalingan sangat merugikan bagi kita semua. Banyak masyarakat mengatasi kemalingan dengan memasang CCTV untuk memantau keadaan suatu lokasi. 

Namun, kekurangan dari CCTV adalah kita baru sadar setelah kemalingan dan CCTV hanya akan menayangkan adegan pencurian setelah terjadi pencurian. Itu sangat merugikan kita dimana benda sudah hilang di curi.

CCTV tidak bisa memberitahu kepada kita secara real time bahwa ada orang yang mencuri. Saya mencoba membuat sebuah sistem sederhana, dimana lampu akan menyala ketika ada orang yang datang.

Alat kita fokuskan bekerja pada melam hari. Kita semua pasti sudah tahu, sensor yang dapat mendeteksi adanya orang yang datang, paling sederhana adalah sensor PIR. Ya, sensor yang mendeteksi pergerakan manusia. Sensor yang sangat mudah untuk digunakan.

Bagi anda yang belum mengetahui bagaimana sensor bekerja, saya akan jelaskan secara singkat.
Sensor PIR atau yang di sebut juga Passive Infrared Sensor bekerja ketika ada pergerakan. Ketika pergerakan manusia terdeteksi, sensor PIR akan memberikan logika HIGH (5V).

Jika tidak mendeteksi adanya pergerakan manusia akan memberikan logika LOW (0V). Dari keadaan , sistem anti maling sederhana dapat kita buat.

Mari kita buat alatnya, logikanya seperti “Ketika sekeluarga ingin keluar rumah pada malam hari, ya katakanlah mau jalan-jalan atau berkunjung silaturrahmi, semua lampu di rumah dimatikan untuk menghemat daya listrik.

Namun, ketika pencuri mendatangi rumah kita, tidak ada yang tahu, bahkan tetangga sekalipun, karena ruangan yang gelap. Nah, kita ingin semua lampu yang ada di rumah kita atau beberapa lampu akan menyala secara tiba-tiba ketika ada orang yang masuk dan tidak akan mati sampai kita pulang.

Tentunya, ketika lampu tersebut menyala tiba-tiba, maling pasti terkejut dan berfikir, “Oh, ada orang, lebih baik pergi saja ”. Kemungkinan juga tetangga pada lihat mengapa rumah kita tiba-tiba lampu menyala padahal tidak ada orang.

Sensor kita letakkan di tempat yang tersembunyi atau di plafon supaya tidak sembarangan orang dapat menjangkau nya. Karena letaknya di plafon atau tempat yang tinggi, maka kita butuh sebuah IR remote untuk mematikannya atau menghidupkannya.” Seperti itu sistem yang akan kita buat.

Rangkaian

Pada artikel Alat Anti Maling Dengan Sensor PIR saya menggunakan ATtiny13 sebagai mikrokontrollernya, TSOP1738 sebagai sensor IR, sebuah Relay untuk saklarnya, sebuah dioda 1N4148 untuk fly-back, dan HLK-PM01 modul untuk power supplynya, Untuk rangkaiannya adalah sebagai berikut:
Membuat Alat Anti Maling Dengan Sensor PIR
Rangkaian Alat Anti Maling Dengan Sensor PIR

Program

Silahkan teman-teman gunakan program berikut:
// https://hamboelektronik.com/
// ATtiny13A + IR Remote + Relay

// Perhatian:file core_settings.h dari #ENABLE_MICROS pada librari ATtiny13 Perlu di aktifkan
//
// +-V-+
// PB5 1| |8 Vcc
// LED PB3 2| |7 PB2 RELAY
// PB4 3| |6 PB1 PIR
// GND 4| |5 PB0 IR
// +----+
//


int a = 0;
int b = 0;

#define led_on PORTB |= (1<<PORTB3)
#define led_off PORTB &= ~(1<<PORTB3);
#define relay_on PORTB |= (1<<PORTB2)
#define relay_off PORTB &= ~(1<<PORTB2)
#define IR_PORT PORTB
#define IR_PININ PINB
#define IRbitRead() (IR_PININ&_BV(PB0))
#define RC_RDH_TS 9000
#define RC_RDL_TS 3800
#define RC_BITLOW_TS 1000
#define RC_TMOVER 8000


uint32_t Read_IR() {
uint8_t repeat = 0;
uint32_t dt = 0;
unsigned long t ;

while (1) {
while (IRbitRead()) {
if ((b == 1) && (PINB & (1 << PINB1))) {
relay_on;
}
}
}

while (IRbitRead());
t = micros();
while (!IRbitRead());
t = micros() - t;
if (t > RC_RDH_TS) {
t = micros();
while (IRbitRead());
t = micros() - t;
break;
}
}


if (t < RC_RDL_TS) {
repeat = 1;
} else {
for (uint8_t i = 0; i < 32; i++) {
while (!IRbitRead());
t = micros();
while (IRbitRead());
t = micros() - t;
if (t > RC_TMOVER)
return 0xFFFFFFFF;
dt <<= 1;
dt |= (t > RC_BITLOW_TS) ? 1 : 0;
}
}

while (IRbitRead());
if (repeat)
return 0;
return dt;
}

void setup() {
DDRB |= (1 << DDB3); // LED sebagai output
DDRB |= (1 << DDB2); // RELAY sebagai output
DDRB &= ~(1 << DDB1); // PIR sebagai input;
DDRB &= ~(1 << DDB0); // IR sebagai input;
// Serial.begin(9600);
}

void loop() {
uint32_t rc = Read_IR(); // IR Penerimaan
if (rc) { // Jika ada data (jika terdeteksi tembakan IR dari remote
if (rc != 0xFFFFFFFF) {
if ((rc == 16724175) && (a == 0)) { // 16724175 adalah kode yang diteima dari remote, anda dapat mengubah sesuai remote yang anda gunakan
led_on;
delay(60000);
delay(60000);
a++;
b = 1;
rc = 0;
}
if ((rc == 16724175) && (a == 1)) {
led_off;
relay_off;
delay(100);
a--;
rc = 0;
b = 0;
}
}
}
}
Bagi teman-teman yang belum tahu cara program ATtiny13, silahkan klik dis.

Penjelasan Program Secara Umum:

Tipe IR Receiver yang saya gunakan adalah TSOP1738. ATtiny13 akan aktif ketika menerima perintah dari IR Remote. 

Ketika aktif, ATtiny13 akan membuat waktu delay selama kurang lebih 2 menit. Setelah 2 menit, maka ATtiny akan mendeteksi pergerakan manusia.

Ketika pergerakan manusia terdeteksi, maka ATtiny akan menghidupkan lampu. Untuk mematikan lampu, harus menggunakan IR Remote. 

Semoga bermanfaat.