Lompat ke konten Lompat ke sidebar Lompat ke footer

Membuat Alarm Sensor Gerak

alarm sensor gerak

Pada project kali ini kita akan membahas tetang alarm sensor gerak berbasis arduino. Alarm sensor gerak ini bertujuan untuk membuat sebuah alarm untuk orang asing yang ingin memasuki ruangan tertentu seperti rumah kita dan lain lain. Alarm ini bertujuan untuk menjaga keamanan suatu tempat agar tidak ada orang asing yang memasuki ruangan tsb.

    

Umumnya untuk membuat alarm sensor gerak ini menggunakan sensor PIR. Sensor PIR (Passive InfraRed) merupakan sebuah sensor yang digunakan untuk mendeteksi pergerakan / movement melalui pancaran cahaya pasif infrared dari setiap benda yang terdeteksi.


Jadi sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah yang dimiliki setiap benda dan mahluk hidup. Apabila sensor PIR ini mendeteksi adanya pergerakan dalam jangkauan sensor maka sensor akan mengeluarkan sinyal HIGH. Sinyal HIGH inilah yang kemudian akan diproses dengan coding yang kita rancang di arduino sehingga membuat alarm menyala.


Cara Membuat Alarm Sensor Gerak

rangkaian alarm sensor gerak


Alat dan Bahan

  1. Arduino (Mega / Nano / arduino versi apapun bisa dipakai)
    Arduino ini merupakan otak dari rangkaian ini.

  2. Buzzer 5 VDC (Sebagai Alarm)

  3. LCD + Module I2C (Module I2C digunakan agar sambungan kabel lcd tidak terlalu banyak. Selain itu kabel I2C juga memudahkan dalam peng-codingan arduino IDE)

  4. Sensor PIR (Merupakan sensor gerakan seperti saya jelaskan di atas)


Rangkaian

Sensor PIR
  • Output  : Pin D6 Arduino
  • Input    : 5V 
  • GND     : Ground
Catatan:
  • OUTPUT merupakan komponen yang dikendalikan oleh arduino berdasarkan program yang di tulis di arduino IDE.

  • INPUT berupa sinyal dari sensor HIGH / LOW. 

    HIGH berarti sensor PIR mendeteksi gerakan.
    LOW berarti sensor PIR tidak mendeteksi gerakan.

    INPUT tsb yang akan diproses oleh arduino menjadi bunyi alarm dengan coding tertentu.

LCD + Module I2C
  • SCA  : A4
  • SCL  : A5
  • GND : GND Arduino
  • VCC  : 5V Arduino
Catatan : Pada project kali ini kita menggunakan lcd 16 x 2.

Buzzer 5V
  • Output : D7
  • Input   : 5V Arduino
Catatan : Buzzer ini digunakan sebagai alarm.

Jadi secara sederhana prinsip kerjanya adalah : 

  • Ketika sensor mendeteksi adanya gerakan maka sensor akan mengeluarkan output HIGH.
    Output tsb yang akan diproses oleh arduino dengan coding yang kita rancang sehingga alarm akan menyala dan LCD juga akan membuat notifikasi "alarm menyala".
  • Ketika sensor mendeteksi tidak adanya gerakan maka sensor akan mengeluarkan output LOW. 
    Output tsb yang akan diproses oleh arduino dengan coding yang kita rancang sehingga alarm akan mati dan LCD juga akan membuat notifikasi "Kondisi Aman".


Coding Pada Arduino
// Kode Alarm Sensor Gerak 
// www.TeknikElektro.com 

#include<Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16, 2);

int WaktuKalibrasi = 10;
int PinSensorPIR = 6;
int PinBuzzer = 7;

void setup() 
{
  // inisialisasikan code untuk persiapan:
Serial.begin(9600);
lcd.begin();
lcd.backlight();

pinMode (PinSensorPIR, INPUT);
pinMode (PinBuzzer, OUTPUT);
digitalWrite(PinSensorPIR, LOW);

lcd.setCursor(1,0);
lcd.print("Sedang Kalibrasi");
delay(500);

lcd.setCursor(0,1);
lcd.print("Sensor.....");


Serial.println("Please wait, now calibrating the sensor....");
    for(int i = 0; i <= WaktuKalibrasi; i++)
      {
      Serial.print(((i*100)/WaktuKalibrasi));
      Serial.print("% ");      
      lcd.setCursor(12,1);
      lcd.print(((i*100)/WaktuKalibrasi));
      lcd.print("%");
      Serial.println("Selesai.....");
      delay(1000);
      }
    Serial.println("Kalibrasi Sensor Selesai");
    Serial.println("** SENSOR AKTIF **");
    delay(50);

lcd.clear(); 
lcd.setCursor(1,0);
lcd.print(" Selesai ");
delay(500);

lcd.setCursor(0,1);
lcd.print(" SENSOR AKTIF! ");
delay(2000);

}

void loop() 
{
  // put your main code here, to run repeatedly:
if(digitalRead(PinSensorPIR) == HIGH)
     {
       digitalWrite(PinBuzzer, HIGH);
       Serial.println("----------------------------");
       Serial.println("** ALARM! MALING **");
       Serial.println("----------------------------");
       Serial.println("");

       lcd.clear();
       lcd.setCursor(1,0);
       lcd.print(" ALARM! ALARM! ");
       lcd.setCursor(0,1);
       lcd.print("ADA MALING!");
       delay(10000);   
   }
    
     else
     {
       digitalWrite(PinBuzzer, LOW);
       lcd.clear();
       lcd.setCursor(1,0);
       lcd.print("Alarm");
       lcd.setCursor(0,1);
       lcd.print("Ada Gerakan ");
       delay(10000);    
     }
}


Penjelasan Coding 
Pada coding paling atas merupakan inisialisasi komponen dimana menyebutkan semua komponen yang digunakan serta sambungan pin ke arduino. Kemudian juga library yang digunakan. 
  • Tanda // merupakan coding komentar sehingga tidak dibaca oleh arduino.
  • Pada coding paling atas terdapat tanda #include<Wire.h> dan #include <LiquidCrystal_I2C.h> , itu merupakan tanda library dimana kita menggunakan library tsb (library I2C dan Wire).
  • Kemudian tulisan LiquidCrystal_I2C lcd(0x27, 16, 2); merupakan coding untuk menyatakan bahwa kita menggunakan LCD 16 x 2.
  • int WaktuKalibrasi = 10;
    Merupakan tanda bahwa waktu kalibrasi sensor sebesar 10 detik.(Berdasarkan datasheet sensor harus didiamkan selama 10 detik sebelum digunakan).
  • int PinBuzzer = 7;
    Menyatakan bahwa Buzzer / alarm dihubungkan di Pin Digital 7 (D7) Arduino
  • int PinSensorPIR = 6;
    Menyatakan bahwa Sensor PIR dihubungkan di Pin Digital 6 (D6) Arduino
void setup()
  • Serial.begin(9600); merupakan kode untuk memanggil serial monitor pada arduino. 
  • lcd.begin(); merupakan kode untuk memanggil lcd
  • Pin Mode (); merupakan tanda kita menyatakan komponen yang terhubung ke arduino sebagai INPUT atau OUTPUT.  

    INPUT maksudnya adalah komponen yang memberikan sinyal ke arduino (biasanya berupa sensor) dan sinyal tsb akan diproses oleh arduino sesuai dengan program yang ditanamkan.

    OUTPUT maksudnya adalah komponen yang dikendalikan oleh arduino sesuai dengan program / coding yang ditanam

  • for(int i = 0; i <= WaktuKalibrasi; i++) 
    {
    xxxxxx
    }
    Merupakan coding untuk menghitung 1 sampai 10 sebelum sensor aktif.

  • lcd.setCursor (x,x) merupakan coding untuk menentukan posisi tulisan dimana baris ke berapa dan kolom ke berapa.
  • lcd.print( ) merupakan perintah untuk membuat tulisan di lcd 16 x 2 tsb.

Void loop();
void loop merupakan coding yang akan berulang secara terus menerus dan tidak akan pernah berhenti.
  • Pada void loop terlihat hanya ada dua perintah yaitu If dan Else.
  • if(digitalRead(PinSensorPIR) == HIGH)
    {
    digitalWrite(PinBuzzer, HIGH);
    lcd.setCursor(1,0);
    lcd.print(" ALARM! ALARM! ");
    lcd.setCursor(0,1);
    lcd.print("ADA MALING!");
    }
    Maksud dari kode tsb adalah jika sensor pir mendeteksi ada benda (sensor tsb akan mengeluarkan sinyal HIGH) maka buzzer akan berbunyi dan lcd akan mengeluarkan tulisan "alarm! ada maling!"
  • else
    {
    digitalWrite(PinBuzzer, LOW);
    lcd.setCursor(1,0);
    lcd.print(" Keadaan ");
    lcd.setCursor(0,1);
    lcd.print("AMAN");
    }
    Maksud dari kode tsb adalah jika tidak ada terdeteksi gerakan maka alarm akan mati dan lcd mengeluarkan tulisan "keadaan aman"


Langkah Pembuatan
  1. Siapkan semua bahan yang akan digunakan.
  2. Rangkaian komponen sesuai gambar di atas.
  3. Buka Arduino IDE
  4. Copy-Paste coding di atas.
  5. Download dan Install library Wire.h dan I2C (Jika kalian belum menginstal library tsb coding kalian akan error).
    Jgn tanya bagaimana cara download dan install library-nya kalian tinggal ketik di google "download library I2C" ""download library wire.h"
  6. Untuk cara meng-install library-nya kalian tinggal liat tutorial di youtube juga bertebaran.
  7. Uji alat kalian apakah sudah berjalan dengan baik atau belum. Jika belum silahkan cek kembali rangkaian apakah ada yang salah atau tidak.

2 komentar untuk "Membuat Alarm Sensor Gerak"

Mohon berkomentar dengan baik dan sopan.

- Admin berhak menghapus komentar yang tidak pantas.
..(Mengandung kata kasar dan SARA).
- Dilarang menaruh Link di kolom komentar.
- Dilarang SPAM

Terimakasih sudah berkunjung.....
Mari Berdiskusi di Kolom Komentar......