• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Senin, Maret 27, 2023
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home Project

PROJECT ALARM ANTI MALING DENGAN SIM800L

Jimmi Sitepu by Jimmi Sitepu
Februari 26, 2022
0 0
10
alarm anti maling battrey

alarm anti maling battrey

1
SHARES
607
VIEWS
Share on FacebookShare on Twitter
site telekomunikasi
site

Hal yang paling garing bagi pencuri khusus di site site telekomunikasi adalah mencuri battrey, feeder ( sejenis kabel tembaga yang di hubungkan ke RBS dan Antenna), dan juga kabel kabel power lain nya. Mungkin karena teknik mencuri nya yang gampang atau bisa cepat di jual ke pengumpul pengumpul gelap. Sehingga menurut saya sangat di butuhkan sebuah alat alarm anti maling yang nanti nya kita buat di sini.

Dunia telekomunikasi ini memang memiliki warna warni seperti peristiwa peristiwa kriminal, seperti block access, stolen case seperti yang di jelaskan di atas, premanisme dan lain lain, heheh kebetulan saya dah hampir 5 tahunan kerja di dunia telekomunikasi. Jadi agak paham dengan dunia telkomunikasi ini.

READ ALSO

Sensor Tekanan Air Dan Udara Dengan Arduino

Data Logger Arduino, Simpan Data ke MikroSD atau SD Card

Aktivitas pencurian ini saya lihat cukup banyak. Bisa saya lihat di daftar police report yang harus di kumpul kan kemarin. Sudah bisa di pastikan besar nya kerugian yang di alami oleh provider, owner, vendor telekomunikasi. Belum lagi impact sinyal yang drop sehingga jaringan hilang di sekitar tower tersebut.

Nah. saya terpikir untuk membuat PROJECT ANTI MALING dengan menggunakan SIM800L. Menarik bukan, ternyata mikrokontroller bisa memberikan solusi akan masalah ini.

PROJECT ALARM ANTI MALING KHUSUS TOWER TELEKOMUNIKASI

Oke, bagaimana kah cara kerja alat alarm anti maling ini kita buat. Pertama adalah kita memasang 3 sensor di site, sensor di pintu site, sensor di cover feeder ( dikasih lilitan kabel, jika cover feeder di buka maka kabel terputus, sensor kebaca 1), dan sensor di pintu rack Battrey.

Terus bagaimanakah cara kerja sensor ini.? sensor sensor di hubungkan ke ground,. maksudnya adalah, jika sensor tidak aktif ( pintu tertutup, cover feeder masih tertutup/lilitan belum terputus) maka pin MIKRO akan membaca logika 0, namun jika sensor aktif maka logika yang terbaca menjadi 1.

oke, ketika sensor terbaca, maka MODUL SIM800L akan mengirim sms ke site keeper. ada tindakan maling di site, maka site keeper bisa segera menindak lanjuti apa kasus pencurian ini. Biasanya tindakan maling terjadi cukup memakan waktu. Minimal 2 jam, sehingga peluang tertangkap basah akan pencuri cukup tinggi.

nah bagaimanakah program nya?



#include <mega16.h>

// Alphanumeric LCD functions
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>

#define door PINB.0
#define batt PINB.1
#define feeder PINB.2

#define on 0
#define off 1

// Declare your global variables here
// Declare your global variables here
void simpan_dlm_1variabel();
void scanning_keypad();
void baca_sensor();
void send_sms();

//void tulis_epPass();
//void baca_epPass();

//void tampil_lcd();

float nilai = 0;
//unsigned char temp[12],
unsigned char array[10], i = 0;

float eeprom *epPass;
float pass;
float save_pass = 808080;   //password alat

unsigned char buf_pass[16];

//declarasi control
int run = 0, val_run = 0;
int ctrl = 0;
int reset = 0;

int sms_door = 0, sms_batt = 0, sms_feeder = 0;


void main(void)
{
  // Declare your local variables here

  PORTA = 0XFF;
  DDRA = 0XF0;

  PORTB = 0XFF;
  DDRB = 0X00;

  // USART initialization
  // Communication Parameters: 8 Data, 1 Stop, No Parity
  // USART Receiver: On
  // USART Transmitter: On
  // USART Mode: Asynchronous
  // USART Baud Rate: 9600
  UCSRA = (0 << RXC) | (0 << TXC) | (0 << UDRE) | (0 << FE) | (0 << DOR) | (0 << UPE) | (0 << U2X) | (0 << MPCM);
  UCSRB = (0 << RXCIE) | (0 << TXCIE) | (0 << UDRIE) | (1 << RXEN) | (1 << TXEN) | (0 << UCSZ2) | (0 << RXB8) | (0 << TXB8);
  UCSRC = (1 << URSEL) | (0 << UMSEL) | (0 << UPM1) | (0 << UPM0) | (0 << USBS) | (1 << UCSZ1) | (1 << UCSZ0) | (0 << UCPOL);
  UBRRH = 0x00;
  UBRRL = 0x47;


  // Alphanumeric LCD initialization
  // Connections are specified in the
  // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
  // RS - PORTC Bit 0
  // RD - PORTC Bit 1
  // EN - PORTC Bit 2
  // D4 - PORTC Bit 4
  // D5 - PORTC Bit 5
  // D6 - PORTC Bit 6
  // D7 - PORTC Bit 7
  // Characters/line: 20
  lcd_init(16);
  lcd_gotoxy(0, 0);
  lcd_putsf("MIKROAVR.COM");
  delay_ms(1000);
  lcd_clear();

  epPass = 0; // address eeprom password

  while (1)
  {
    // Place your code here
    scanning_keypad();
    while ( run == 0) {
      lcd_clear();
      while ( val_run == 0 && pass != save_pass) {
        scanning_keypad();
        lcd_gotoxy(0, 0);
        lcd_putsf("alarm Active");
        baca_sensor();
        delay_ms(500);
        lcd_clear();
        delay_ms(500);
      }

      while ( val_run == 0 && pass == save_pass) {
        scanning_keypad();
        lcd_gotoxy(0, 0);
        lcd_putsf("alarm non Active");
        lcd_gotoxy(0, 1);
        lcd_putsf("Silahkan Kerja");
        delay_ms(500);
        lcd_clear();
        delay_ms(500);
        if ( reset == 1) {
          pass = 0; ctrl = 0; nilai = 0; i = 0;
        }

      }
    }

    while ( run == 1) {
      lcd_clear();
      while ( val_run ==  1 && ctrl == 0) {
        scanning_keypad();
        lcd_gotoxy(0, 0);
        lcd_putsf("Non Active Alarm:");
        lcd_gotoxy(0, 1);
        lcd_putsf("Pass: ");
        ftoa(pass, 0, buf_pass);
        lcd_puts(buf_pass);

        baca_sensor();

      }

      while ( val_run == 1 && ctrl == 1) {
        lcd_clear();
        if ( pass != save_pass) {
          lcd_gotoxy(0, 0);
          lcd_putsf("Pass Salah");
          delay_ms(1000);
          lcd_clear();
          ctrl = 0; i = 0; nilai = 0; pass = 0;

          baca_sensor();
        }

        if ( pass == save_pass) {
          lcd_gotoxy(0, 0);
          lcd_putsf("Pass Benar");
          lcd_gotoxy(0, 1);
          lcd_putsf("Alarm non Active");
          run = 0; val_run = 0;
          delay_ms(1000);
          lcd_clear();


        }

      }
    }

  }
}


void scanning_keypad()
{
  int waktu = 100;

  PORTA = 0b01111111;
  delay_ms(20);
  if (PINA.3 == 0) {
    delay_ms(waktu); //D
  }
  if (PINA.2 == 0) {
    delay_ms(waktu); //C
  }
  if (PINA.1 == 0) {
    delay_ms(waktu); //B
  }
  if (PINA.0 == 0) {
    lcd_clear();  //A
    i = 0;
    nilai = 0;
    delay_ms(waktu);
  }

  PORTA = 0b10111111;
  delay_ms(20);
  if (PINA.3 == 0) {
    delay_ms(waktu);
    i = 0;
    nilai = 0;
    run = 0;
    val_run = 0;
    reset = reset + 1;
    if ( reset == 2)reset = 0;
    lcd_clear();
  }    //#
  if (PINA.2 == 0) {
    i++;
    array[i] = 9;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.1 == 0) {
    i++;
    array[i] = 6;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.0 == 0) {
    i++;
    array[i] = 3;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }

  PORTA = 0b11011111;
  delay_ms(20);
  if (PINA.3 == 0) {
    i++;
    array[i] = 0;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.2 == 0) {
    i++;
    array[i] = 8;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.1 == 0) {
    i++;
    array[i] = 5;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.0 == 0) {
    i++;
    array[i] = 2;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }

  PORTA = 0b11101111;
  delay_ms(20);
  if (PINA.3 == 0) {
    delay_ms(waktu); lcd_clear();
    run = 1;
    val_run = 1;
    ctrl = ctrl + 1;
    if ( ctrl == 2 ) ctrl = 0;

  } //*

  if (PINA.2 == 0) {
    i++;
    array[i] = 7;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.1 == 0) {
    i++;
    array[i] = 4;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }
  if (PINA.0 == 0) {
    i++;
    array[i] = 1;
    simpan_dlm_1variabel();
    delay_ms(waktu);
  }

}

void simpan_dlm_1variabel()
{
  if ( i == 1 ) {
    nilai = array[i];
  }
  if ( i >= 2 &&  i <= 8 )
  {
    nilai = (nilai * 10) + array[i];
  }

  if ( val_run == 1) {
    pass = nilai;
  }

}

void baca_sensor() {

  if ( door == on && batt == off && feeder == off)
  {
    sms_batt = 0; sms_feeder = 0;

    lcd_gotoxy(0, 1);
    lcd_putsf("alarm pintu.");

    if ( sms_door == 0) {

      send_sms();
      printf("WARNING !!!\r\n");
      printf("Alarm Pintu Active, Segera Cek Ke Site\r\n");
      printf("By MIKROAVR.COM\r\n");
      delay_ms(1000);
      putchar(26);

      while (getchar() != 'K') {};
      lcd_gotoxy(0, 1);
      lcd_putsf("SMS SUKSES");
      sms_door = 1;

    }
  }

  if ( door == off && batt == on && feeder == off)
  {
    sms_door = 0; sms_feeder = 0;
    lcd_gotoxy(0, 1);
    lcd_putsf("alarm batt..");

    if ( sms_batt == 0) {

      send_sms();
      printf("WARNING !!!\r\n");
      printf("Alarm Battrey Active, Segera Cek Ke Site\r\n");
      printf("By MIKROAVR.COM\r\n");
      delay_ms(1000);
      putchar(26);

      while (getchar() != 'K') {};
      lcd_gotoxy(0, 1);
      lcd_putsf("SMS SUKSES");
      sms_batt = 1;

    }


  }

  if ( door == off && batt == off && feeder == on)
  {
    sms_door = 0; sms_batt = 0;
    lcd_gotoxy(0, 1);
    lcd_putsf("alarm feeder");
    if ( sms_feeder == 0) {

      send_sms();
      printf("WARNING !!!\r\n");
      printf("Alarm Feeder Active, Segera Cek Ke Site\r\n");
      printf("By MIKROAVR.COM\r\n");
      delay_ms(1000);
      putchar(26);

      while (getchar() != 'K') {};
      lcd_gotoxy(0, 1);
      lcd_putsf("SMS SUKSES");
      sms_feeder = 1;
    }
  }

}

void send_sms() {
  //lcd_clear();

  lcd_gotoxy(0, 0);
  lcd_putsf("configure SMS");
  printf("AT\r\n");
  delay_ms(1000);
  printf("AT+CMGF=1\r\n");  // set sms sebagai text
  delay_ms(1000);
  printf("AT+CMGS=\"+6285207770631\"\r\n"); // masukkan no hp yang di tuju

}

Ohh saya hampir lupa, alarm anti maling ini bisa di non aktifkan dengan cara memasukkan password 808080 melalui keypad. Pingin nya sih bisa me non aktifkan alarm anti maling nya dengan sms,. tapi belum ada waktu untuk devlope alat nya.

selamat berkreasi, monggo jika ada pertanyaan

Tags: sim800
Share1TweetShare
Previous Post

Setting 4G LTE Only di Android

Next Post

Seven Segment Error Gara Gara Induksi Motor Listrik? Rangkaian RC Solusinya (SNUBBER CIRCUIT).

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

Arduino

Sensor Tekanan Air Dan Udara Dengan Arduino

Desember 20, 2020
Data Logger Arduino, Simpan Data ke MikroSD atau SD Card
Arduino

Data Logger Arduino, Simpan Data ke MikroSD atau SD Card

Juli 19, 2019
monitoring listrik
Arduino

Monitoring Arus Listrik dengan Internet

Oktober 4, 2020
Pendeteksi Banjir Berbasis Arduino dan GSM
Arduino

Pendeteksi Banjir Berbasis Arduino dan GSM

April 24, 2019
Membuat Robot Sederhana dengan Arduino dan Ultrasonik, Lengkap dengan Pengujian dan Coding nya
Project

Membuat Robot Sederhana dengan Arduino dan Ultrasonik, Lengkap dengan Pengujian dan Coding nya

Oktober 11, 2018
Cara Mudah Program HT1621 LCD Pertamini, dengan Library HT1621 Arduino
Arduino

Cara Mudah Program HT1621 LCD Pertamini, dengan Library HT1621 Arduino

Februari 26, 2022
Next Post
seven segment error

Seven Segment Error Gara Gara Induksi Motor Listrik? Rangkaian RC Solusinya (SNUBBER CIRCUIT).

mengirim sms dengan arduino

Mengirim SMS Arduino dengan SIM800 | alarm Pintu

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist