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.
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