Terima kasih banyak telah berkunjung.

Selamat datang di website: www.harisprasetyo.web.id

Tuesday, October 27, 2015

Membuat Sistem Keamanan Rumah Berbasis Arduino Nano Menggunakan Sensor PIR, Buzzer & LCD 16x2 Serial (i2c)

Disini saya akan berbagi cara membuat sistem keamanan rumah berbasis Arduino Nano versi 3.0 dengan menggunakan sensor PIR, Buzzer dan LCD 16x2 Serial (i2c), dalam penggunaan Arduino Nano versi 3.0 ini
adalah sebuah mikrokontroler yang dapat menghasilkan INPUT (Masukan) & OUTPUT (Keluaran) dari kaki pin yang tersedia, Arduino Nano ini dapat diprogram menggunakan bahasa pemograman yang umum seperti bahasa pemograman C++ ataupun Java.
Mikrokontroler Arduino Nano
Pin Arduino Nano
Selanjutnya dalam penggunaan sensor PIR ini bertujuan untuk mendeteksi pergerakan manusia, cara kerja sensor PIR adalah mendeteksi suhu tubuh manusia dan dapat mendeteksi hingga 7 meter tanpa ada halangan didepannya.
Sensor PIR
Selanjutnya dalam penggunaan alat Buzzer ini bertujuan untuk menghasilkan bunyi dari Output-an Arduino Nano, dalam proses ini Arduino Nano membaca sketch dari program yang dibuat dan dapat membunyikan Buzzer dengan dideklarasikan nilai "HIGH".
Buzzer Piezo
Dan yang terakhir adalah penggunaan sebuah LCD 16x2 yang sudah dihubungkan ke modul i2c (LCM1602), tujuannya adalah mengubah pin paralel yang berjumlah 16 menjadi serial dalam 4 pin saja yang terdiri dari pin VCC, GND, SDA & SCL.
LCD 16x2
 Langsung saja membuat & merangkai skema dari sistem keamanan rumah ini, alat - alat yang digunakan adalah:
  1. Arduino Nano v3.0
  2. Sensor PIR
  3. Buzzer Piezo
  4. LCD 16x2
  5. i2c (LCM1602)
  6. Kabel Jumper
  7. Project Board
Berikut skemanya:
Gambar Skema Membuat Sistem Keamanan Rumah
Lakukan perangkaian seperti gambar skema diatas dengan menggunakan kabel jumper untuk menghubungkan setiap komponen, warna kabel merah adalah pin 5V (+) dan kabel warna hitam adalah pin Ground (-).

Setelah semuanya selesai dirangkai selanjutnya menghubungkan Arduino Nano dengan komputer (PC/LAPTOP), drivernya bisa di unduh disini, dan download software Arduino IDE untuk memprogramnya disini, dan library untuk LCD bisa download versi terbaru disini, setelah download library LCD nya lalu ekstrak dan copy paste-kan folder NewliquidCrystal ke folder C:\Program Files\Arduino\libraries.

Setelah semuanya sudah didownload selanjutnya mengetikan programnya dalam software Arduino IDE, berikut sketch yang sudah saya buat:
int PIR = 2;
int BUZZ = 3;
#define wait 1
#define time 100
int freq = 0;
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR    0x27 
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
int n = 1;
LiquidCrystal_I2C    lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup() {
  Serial.begin(9600);
  pinMode(PIR, INPUT);
  pinMode(BUZZ, OUTPUT);
  lcd.begin(16, 2);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home ();
  lcd.print("Inisialisasi.");
  delay(1000);
  lcd.setCursor(13, 0);
  lcd.print(".");
  delay(1000);
  lcd.setCursor(14, 0);
  lcd.print(".");
  delay(1000);
  lcd.setCursor(15, 0);
  lcd.print(".");
  delay(1000);
  lcd.setCursor(16, 0);
  lcd.print(".");
  delay(1000);
  lcd.clear();
}

void loop() {
   if(digitalRead(PIR) == LOW){
    Serial.println(PIR);
    lcd.setCursor(2, 0);
    lcd.print("Situasi Aman!");
    /*
    lcd.setCursor(7, 1);
    lcd.print(":D");
    delay(1000);
    lcd.clear();
    delay(500);
    lcd.setCursor(2, 0);
    lcd.print("Situasi Aman!");
    lcd.setCursor(7, 1);
    lcd.print(":D");
    */

  }
  if(digitalRead(PIR) == HIGH) {
  Serial.println(PIR);
  digitalWrite(BUZZ, HIGH);
   lcd.clear();
   delay(1);
   lcd.setCursor(6, 0);
   //Print a message to second line of LCD
   lcd.print("Ada");
   lcd.setCursor(2, 1);
   //Print a message to second line of LCD
   lcd.print("Maling BRO!!");
              for (freq = 500; freq < 3000; freq += 10)             //
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
            for (freq = 3000; freq > 500; freq -= 10)
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
     
            for (freq = 500; freq < 3000; freq += 10)             //
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
            for (freq = 3000; freq > 500; freq -= 10)
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
     
            for (freq = 500; freq < 3000; freq += 10)             //
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
            for (freq = 3000; freq > 500; freq -= 10)
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
     
             for (freq = 500; freq < 3000; freq += 10)             //
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
            for (freq = 3000; freq > 500; freq -= 10)
      {
        tone(BUZZ, freq, time);     // Beep pin, freq, time
        delay(wait);
      }
      delay(1);
      digitalWrite(BUZZ, LOW);
      lcd.clear();
  }
}
Setelah selesai mengetikan programnya lalu selanjutnya klik Upload. Berikut contoh foto rangkaian yang sudah jadi setelah terdeteksi pergerakan manusia:
Foto Rangkaian Keamanan Rumah Sudah Jadi
Pada foto diatas LCD menampilkan "Ada Maling BRO!!" yang artinya sensor PIR telah mendeteksi pergerakan manusia.

26 comments:

  1. Mas ada foto rangkainnya tidak ?

    ReplyDelete
    Replies
    1. Rangkaian sudah ada diatas mbak, trims

      Delete
    2. Mas mohon izin yaa . tulisan mas saya pake buat penulisan ya mass :)

      Delete
  2. Satu lagi kodingannya udah bener kan ya mas ?

    ReplyDelete
    Replies
    1. Iya mba sudah benar, untuk penggunaan pin tinggal diatur masing - masing saja

      Delete
  3. mas ini yang jadi input apa ? yang jadi proses apa ? yang jadi outputapa ? . Thanks :) butuh infonya mas

    ReplyDelete
    Replies
    1. Yang jadi input sensor PIR, yang jadi proses Arduino, yang jadi output LCD & Buzzer

      Delete
    2. Makasih sudah membantu mas :)

      Delete
    3. Sama - sama, manfaatkan dengan bijak ya.

      Delete
  4. Kalo aku tambahin pake sensor panas bisa gaa mas di inputannya ?

    ReplyDelete
    Replies
    1. Maksudnya sensor panas itu sensor temperatur kan? Klo pake sensor temperatur fungsinya cuma buat deteksi suhu mba, bisa dipasang sebagai input

      Delete
  5. bang Haris punya skematik sistem keamanan berbasis RFID menggunakan Arduino Uno ga bang ?

    ReplyDelete
  6. Tapi dp minta nya sensor panas itu untuk ngedeteksi kalo terjadi kebakaran gitu mas . jadi ga cuma maling yang ke deteksi (misal) .

    ReplyDelete
    Replies
    1. Pake sensor api mba, bisa dipasang tinggal cari library nya dulu

      Delete
    2. Iyaa mas . nah ini kalo mau buat jalur skematik harus pake softwere apa mas . soalnya kalo pake eagle.proteus.atau prizing itu ga ada komponen i2c nya mas ??

      Delete
    3. Untuk fritzing bisa dicari dan didownload component part nya yang bernama i2c

      Delete
  7. mas..cara resetnya gimana kalau alatnya sdh aktif/ mau di matikan

    ReplyDelete
  8. Mas mau nanya dong ini buat program di windows apa di linux

    ReplyDelete
  9. Mas kalo LCDnya kita ganti pake lcd keypad shild, jadi gk pake l2c lgi, programnya yg diubh yg mana ya??

    ReplyDelete
    Replies
    1. program hanya diganti sesuai dengan library lcd keypad shield

      Delete
  10. Jika tambahkan speaker bisa ga mas??
    Maaf masi newbee, kan enak klo ada maling bisa bunyi...

    ReplyDelete
  11. Mas coding nya masih bisa digunakan tidak

    ReplyDelete
  12. This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.. Arduino in proteus

    ReplyDelete

Komentar Diperlukan Untuk Bila Kurang Paham Atau Ingin Bertanya Seputar Artikel Yang Dibaca...