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.
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:
- Arduino Nano v3.0
- Sensor PIR
- Buzzer Piezo
- LCD 16x2
- i2c (LCM1602)
- Kabel Jumper
- Project Board
![]() |
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.
Mas ada foto rangkainnya tidak ?
ReplyDeleteRangkaian sudah ada diatas mbak, trims
DeleteMas mohon izin yaa . tulisan mas saya pake buat penulisan ya mass :)
DeleteSilahkan gunakan dengan bijak
DeleteSatu lagi kodingannya udah bener kan ya mas ?
ReplyDeleteIya mba sudah benar, untuk penggunaan pin tinggal diatur masing - masing saja
Deletemas ini yang jadi input apa ? yang jadi proses apa ? yang jadi outputapa ? . Thanks :) butuh infonya mas
ReplyDeleteYang jadi input sensor PIR, yang jadi proses Arduino, yang jadi output LCD & Buzzer
DeleteMakasih sudah membantu mas :)
DeleteSama - sama, manfaatkan dengan bijak ya.
Deletepastinya mass
ReplyDeleteKalo aku tambahin pake sensor panas bisa gaa mas di inputannya ?
ReplyDeleteMaksudnya sensor panas itu sensor temperatur kan? Klo pake sensor temperatur fungsinya cuma buat deteksi suhu mba, bisa dipasang sebagai input
Deletebang Haris punya skematik sistem keamanan berbasis RFID menggunakan Arduino Uno ga bang ?
ReplyDeleteBelum buat mas
DeleteTapi dp minta nya sensor panas itu untuk ngedeteksi kalo terjadi kebakaran gitu mas . jadi ga cuma maling yang ke deteksi (misal) .
ReplyDeletePake sensor api mba, bisa dipasang tinggal cari library nya dulu
DeleteIyaa 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 ??
DeleteUntuk fritzing bisa dicari dan didownload component part nya yang bernama i2c
Deletemas..cara resetnya gimana kalau alatnya sdh aktif/ mau di matikan
ReplyDeleteMas mau nanya dong ini buat program di windows apa di linux
ReplyDeleteMas kalo LCDnya kita ganti pake lcd keypad shild, jadi gk pake l2c lgi, programnya yg diubh yg mana ya??
ReplyDeleteprogram hanya diganti sesuai dengan library lcd keypad shield
DeleteJika tambahkan speaker bisa ga mas??
ReplyDeleteMaaf masi newbee, kan enak klo ada maling bisa bunyi...
Mas coding nya masih bisa digunakan tidak
ReplyDeleteThis 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