Translate

Membuat Alat Pengaman Rumah / Ruangan Berbasis Password dan SMS Gateway Arduino

Membuat Alat Pengaman Rumah / Ruangan Berbasis Password dan SMS Gateway Arduino


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat alat untuk pengaman rumah atau ruangan berbasis password dan SMS Gateway, alat ini memiliki fitur yang pertama yaitu dapat menghidupkan alarm ketika ada orang masuk pintu tanpa menggunakan password, dan juga jika terjadi getaran atau pecah kaca maka alarm juga berbunyi, alat ini harus menggunakan kode atau password agar alarm tidak berbunyi saat pintu dibuka dan juga terdapat sebuah tombol yang digunakan untuk membuka pintu bagi orang dari dalam ruangan yang mau keluar. selain itu alat ini juga akan SMS ke nomer tujuan saat alarm berbunyi. untuk lebih jelasnya berikut adalah skema dan programnya. 



a. Arduino Mega + Skema






b. LCD 16x2





c. Push Button dan Limit Switch






d. SIM800L (GSM Module)






e. Piezo Sensor Module (Sensor Getar)





f. Buck Converter Module






g. Program Arduino IDE

// VCC SIM800L = 4.0 volt
// Hubungkan Pin RX - TX SIM800L ke pin 50 dan 51 Arduino Mega

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "sms.h"
SMSGSM sms;

#include "Wire.h"
#include <LiquidCrystal.h>
LiquidCrystal lcd(A2, A3, A4, A5, A6, A7);

int ledhijau = 6;
int ledmerah = 7;
int getar;
int lim = 9;
int proxy = 0;
int x;
int buzzer = 10;
int z = 0;

int tb1 = 2;
int tb2 = 3;
int tb3 = 4;
int tb4 = 5;

int tbdalam = 11;

int tbx1 = 0;
int tbx2 = 0;
int tbx3 = 0;
int tbx4 = 0;

int tbdalamx = 0;

int a = 0;

int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];



void setup() {
  lcd.begin(16, 2);
  lcd.clear();
  lcd.noCursor();
    
  lcd.setCursor(0, 0);
  lcd.print("Loading......");
 
  digitalWrite(ledhijau, LOW);
  digitalWrite(ledmerah, HIGH);
 
  pinMode(buzzer, OUTPUT);
  pinMode(ledhijau, OUTPUT);
  pinMode(ledmerah, OUTPUT);
  pinMode(lim, INPUT);
 
  pinMode(tb1, INPUT);
  pinMode(tb2, INPUT);
  pinMode(tb3, INPUT);
  pinMode(tb4, INPUT); 
  pinMode(tbdalam, INPUT);
 
  digitalWrite(tbdalam, HIGH); 
  digitalWrite(tb1, HIGH);
  digitalWrite(tb2, HIGH);
  digitalWrite(tb3, HIGH);
  digitalWrite(tb4, HIGH);
  digitalWrite(lim, HIGH);
  digitalWrite(buzzer, HIGH);  
 
      //Serial connection.
     Serial.begin(9600);
     Serial.println("GSM Shield testing.");
     //Start configuration of shield with baudrate.
     //For http uses is raccomanded to use 4800 or slower.
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

     if(started) {
          //Enable this two lines if you want to send an SMS.
          if (sms.SendSMS("085387096788", "Alat Siap"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "Alat Siap"))
          Serial.println("\nSMS sent OK");

         
     }
    
lcd.clear();
 
}

void loop() {

  getar = analogRead(A0);
  proxy = analogRead(A1);
  x = digitalRead(lim);
  tbx1 = digitalRead(tb1);
  tbx4 = digitalRead(tb4);
  tbdalamx = digitalRead(tbdalam);


  
  if (getar >= 200){
    digitalWrite(buzzer, LOW);
          if (sms.SendSMS("085387096788", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

  }
 
  if(tbx1 == 0){
  delay(200);
  lcd.clear();
  setting();
  }
 
  if((x == 0)&&(a == 0)){
  delay(200);
  digitalWrite(buzzer, LOW);
          if (sms.SendSMS("085387096788", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "ada maling masuk"))
          Serial.println("\nSMS sent OK");


  }
 
  if((x == 0)&&(a == 4)&&(z == 0)){
  delay(200);
  digitalWrite(buzzer, HIGH);
  z = 1;
  }
 
  if(tbdalamx == 0){
   delay(200);
   digitalWrite(ledhijau, HIGH);
   digitalWrite(ledmerah, LOW);  
   a = 4;
   z = 0;
  }
 
  if((x == 1)&&(z == 1)){
  delay(200);
   digitalWrite(ledhijau, LOW);
   digitalWrite(ledmerah, HIGH);  
  a = 0;
  z = 0;
  }
 
   
  lcd.setCursor(0, 0);
  lcd.print("Password");
  lcd.setCursor(0, 1);
  lcd.print(getar);
  lcd.setCursor(5, 1);
  lcd.print(x);
delay(200);

}



void setting(){
 
 x = digitalRead(lim);

  if((x == 0)&&(a == 1)){
  delay(200);
  digitalWrite(buzzer, LOW);
          if (sms.SendSMS("085387096788", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

  }
 
  if((x == 0)&&(a == 2)){
  delay(200);
  digitalWrite(buzzer, LOW);
          if (sms.SendSMS("085387096788", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

  }
 
  if((x == 0)&&(a == 3)){
  delay(200);
  digitalWrite(buzzer, LOW);
          if (sms.SendSMS("085387096788", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

          if (sms.SendSMS("082150777300", "ada maling masuk"))
          Serial.println("\nSMS sent OK");

  }
 
 
  lcd.setCursor(0, 0);
  lcd.print("Input Password");
 
  tbx1 = digitalRead(tb1);
  tbx2 = digitalRead(tb2);
  tbx3 = digitalRead(tb3);
  tbx4 = digitalRead(tb4);
  
   if(tbx3 == 0){
   delay(200);
   lcd.setCursor(0, 1);
   lcd.print("OK1");
   a = 1;
   }
  
   if((tbx1 == 0)&&(a == 1)){
   delay(200);
   lcd.setCursor(0, 1);
   lcd.print("OK2");
   a = 2;
   }
  
   if((tbx4 == 0)&&(a == 2)){
   delay(200);
   lcd.setCursor(0, 1);
   lcd.print("OK3");
   a = 3;
   }
  
   if((tbx2 == 0)&&(a == 3)){
   delay(200);
   lcd.setCursor(0, 1);
   lcd.print("OK4");
   a = 4;
   }
  
   if((tbx1 == 0)&&(a == 4)){
   delay(200);
   digitalWrite(ledhijau, HIGH);
   digitalWrite(ledmerah, LOW);
   lcd.clear();
   a = 4;
   z = 0;
   return;
   }
  
   setting();
  
}




h. Cara Setting Library SIM800L

- Agar library kompatibel dengan Arduino Mega maka lakukan langkah berikut
- Buka library SIM800L lalu cari GSM.cpp
- Rubah jadi seperti berikut lalu SAVE







i. VIDEO HASILNYA












No comments:

Post a Comment