Alarm Laser dengan Buzzer

Oleh Bagas Dika Anggoro pada Senin, April 13th, 2015


Tentu kita pernah melihat film, dimana latar belakangnya adalah sebuah museum, lalu ada sekelompok orang yang menaburkan sesuatu, entah bedak, entah tepung atau apapun itu yang berupa butiran halus, lalu muncullah jejak garis merah. Kemudian orang-orang tersebut berusaha untuk melewatinya tanpa menyentuh jalur laser itu. Kira-kira, apa fungsi dari laser tersebut?

Cat burglar negotiating laser beam alarm system
Ilustrasi Penjelasan di atas (sumber: http://www.miamirealestate.com/)

Fungsi dari jalur laser itu adalah untuk mentrigger alarm. Ketika jalur laser mengenai anggota tubuh orang itu, secara otomatis alarm akan berbunyi dan petugas keamanan akan berdatangan. Ya, alarm ini memanfaatkan sifat cahaya yang bergerak lurus, dan jejak lurus cahaya yang berupa laser tidak akan nampak kecuali kita menaburkan padatan berupa partikel-partikel kecil.

Dalam artikel kali ini, saya akan membahas bagaimana cara membuat alarm laser ini. Sebut saja nama project kali ini adala Laser Tripwire Alarm menggunakan Arduino UNO. Ketika alarm berbunyi, dibutuhkan kata sandi untuk mematikannya. Kata sandi diinputkan melalui keypad membran 3×4. Alat-alat yang dibutuhkan adalah:

  • Arduino UNO
  • Buzzer 5 Volt (karena versi ini versi alarm mini, buzzer berperan sebagai alarm nya)
  • LDR (Long Distance Relationship, no! No! Light Dependent Resistor)
  • Saklar (untuk mengaktifkan dan menon-aktifkan alarm)
  • Laser Diode
  • LED 5mm (berperan sebagai indikator)
  • Keypad Membrane 3×4

Rangkai alat-alat tersebut menjadi seperti gambar berikut:

Alarm Sensor Laser_bb

Skema Rangkaian Laser Tripwire Alarm (dibuat menggunakan Fritzing)

Sketch Arduino yang harus diupload:

 //Pin 7 -> Keypad Col 1
 //Pin 6 -> Keypad Col 2
 //Pin 5 -> Keypad Col 3
 //Pin 4 -> Keypad Col 4

 //Pin 3 -> Keypad Row 1
 //Pin 2 -> Keypad Row 2
 //Pin 8 -> Keypad Row 3

 //Pin 12 -> Buzzer +
 //Skema rngkaian ada di file
 
#include "Keypad.h"
 
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] =
{{'1','2','3'},
 {'4','5','6'},
 {'7','8','9'},
 {'*','0','#'}};
byte rowPins[ROWS] = {
 7, 6, 5, 4}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {
 3, 2, 8}; //connect to the column pinouts of the keypad
 
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
 
char PIN[6]={'1','1','1','2','1','3'}; // our secret (!) number
char attempt[6]={
 0,0,0,0,0,0}; // used for comparison
int z=0;
int enabledpin=A2;
int stat=0;
void setup()
{
 pinMode(enabledpin, INPUT);
 pinMode(12, OUTPUT);
 pinMode(9, OUTPUT);
 pinMode(A2,OUTPUT);
 correctPIN();
 digitalWrite(A2,HIGH);
 delay(500);
 if (digitalRead(A0)==1){
 stat=1;
 }
 else {
 stat=0;
 incorrectPIN();
 }
 
}
 
void correctPIN() // do this if correct PIN entered
{
 digitalWrite(A2,HIGH);
 stat=1;
 delay(200);
 digitalWrite(12, LOW);
 digitalWrite(9, HIGH);
 

}
 
void incorrectPIN() // do this if incorrect PIN entered
{
 digitalWrite(9, LOW);
 digitalWrite(12, HIGH);
 //digitalWrite(A2,LOW);
 stat=0;
 delay(500);
}
 
void checkPIN()
{
 int correct=0;
 for (int q=0; q<6; q++)
 {
 if (attempt[q]==PIN[q])
 {
 correct++;
 }
 }
 if (correct==6)
 {
 correctPIN();
 } else
 {
 incorrectPIN();
 }
 for (int zz=0; zz<6; zz++) // wipe attempt
 {
 attempt[zz]=0;
 }
}
 
void readKeypad()
{
 char key = keypad.getKey();
 if (key != NO_KEY)
 {
 switch(key)
 {
 case '*':
 z=0;
 incorrectPIN();
 break;
 case '#':
 delay(100); // for extra debounce
 checkPIN();
 break;
 default:
 attempt[z]=key;
 z++;
 }
 }
}
 
void loop()
{
 if (digitalRead(A0)==0) {
 incorrectPIN();
 }
 //else {
 //correctPIN();
 //}
readKeypad();
}

Di source code di atas, terdapat plugin keypad.h Silahkan download di sini:

Selamat berkreasi! Salam,

Bags Dika Anggoro

Bagikan ke temanShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn



Kategori


Satu komentar pada “Alarm Laser dengan Buzzer

    ABDUL KHOLIK pada 14 Januari 2017 1:43 pm

    Bagus sekali gan project nya, secepatnya akan sy coba. Penasaran hasilnya x”aja bisa dibikin yg udh gk prototipe tp mendekati aslinya. Biar bisa di aplikasi kan ke berbagai mcm keperluan. Baik perkantoran dan industri

    Balas

Ada Komentar?


Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

*