Created
October 26, 2018 03:54
-
-
Save rizkiandrianto/32e0c7cda9dfa1246e41724be824c194 to your computer and use it in GitHub Desktop.
Sistem Keamanan Kendaraan Dengan Menggunakan Layanan Pesan Singkat Berbasis Arduino + GSM Shield
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "SIM900.h" | |
#include <SoftwareSerial.h> | |
//If not used, is better to exclude the HTTP library, | |
//for RAM saving. | |
//If your sketch reboots itself proprably you have finished, | |
//your memory available. | |
//#include "inetGSM.h" | |
//If you want to use the Arduino functions to manage SMS, uncomment the lines below. | |
#include "sms.h" | |
SMSGSM sms; | |
int lampudepan = 8; | |
int lampubelakang = 9; | |
int kunci = 0; | |
String mem; | |
char pesan[70]; | |
String gabung; | |
String bukasimpan = "Your car is Not Locked Yet, and\nYour car is on "; | |
String kuncisimpan = "Your car is Already Locked, and\nYour car is on "; | |
String bukakosong = "Your car is Not Locked Yet"; | |
String kuncikosong = "Your car is Already Locked"; | |
String phone_number = "+6234567890" | |
//To change pins for Software Serial, use the two lines in GSM.cpp. | |
//GSM Shield for Arduino | |
//www.open-electronics.org | |
//this code is based on the example of Arduino Labs. | |
//Simple sketch to send and receive SMS. | |
//int numdata; | |
boolean started=false; | |
char smsbuffer[160]; | |
char n[20]; | |
void setup() | |
{ | |
pinMode(lampudepan, OUTPUT); | |
pinMode(lampubelakang, OUTPUT); | |
//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("3471234567", "Arduino SMS")) | |
//Serial.println("\nSMS sent OK"); | |
} | |
}; | |
void loop() | |
{ | |
if(started) { | |
//Read if there are messages on SIM card and print them. | |
if(gsm.readSMS(smsbuffer, 160, n, 20)) { | |
Serial.println(n); | |
Serial.println(smsbuffer); | |
Serial.print ("\nThe result of strcmp is : "); | |
Serial.println((strcmp (smsbuffer,"On"))); | |
//Fungsi Find | |
if ((strcmp (smsbuffer,"On")) == -9 && (strcmp (n,phone_number) == 0 )) | |
{ | |
cari(); | |
} | |
//Fungsi Stop | |
else if ((strcmp (smsbuffer,"On")) == 4 && (strcmp (n,phone_number) == 0 )) | |
{ | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
} | |
//Fungsi Penyimpan Keberadaan | |
else if ((strcmp (smsbuffer,"On")) == -44 && (strcmp (n,phone_number) == 0 )) | |
{ | |
mem = String(smsbuffer); | |
} | |
//Fungsi Status | |
else if ((strcmp (smsbuffer,"On")) == -16 && (strcmp (n,phone_number) == 0 )) | |
{ | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(200); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
if (kunci == 0) | |
{ | |
if (mem == "") { | |
gabung = bukakosong + mem; | |
gabung.toCharArray(pesan, 70); | |
delay(20); | |
sms.SendSMS(n, pesan); | |
} | |
else if (mem != "") { | |
gabung = bukasimpan + mem; | |
gabung.toCharArray(pesan, 70); | |
delay(20); | |
sms.SendSMS(n, pesan); | |
} | |
} | |
if (kunci == 1) | |
{ | |
if (mem == "") { | |
gabung = kuncikosong + mem; | |
gabung.toCharArray(pesan, 70); | |
delay(20); | |
sms.SendSMS(n, pesan); | |
} | |
else if (mem != "") { | |
gabung = kuncisimpan + mem; | |
gabung.toCharArray(pesan, 70); | |
delay(20); | |
sms.SendSMS(n, pesan); | |
} | |
} | |
} | |
// Fungsi Lock | |
else if ((strcmp (smsbuffer,"On")) == -3 && (strcmp (n,phone_number) == 0 )) | |
{ | |
int var = 0; | |
kunci = 1; | |
while (var < 2) | |
{ | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(200); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
delay(200); | |
var++; | |
} | |
} | |
// Fungsi Unlock | |
else if ((strcmp (smsbuffer,"On")) == 2 && (strcmp (n,phone_number) == 0 )) | |
{ | |
int var = 0; | |
kunci = 0; | |
while (var < 3) | |
{ | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(200); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
delay(200); | |
var++; | |
} | |
} | |
//============================ Batas Fungsi Utama ================= | |
} | |
delay(350); | |
} | |
}; | |
void cari () | |
{ | |
while (1) { | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(700); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
if(gsm.readSMS(smsbuffer, 160, n, 20)) { | |
// Fungsi Lock | |
if ((strcmp (smsbuffer,"On")) == -3 && (strcmp (n,phone_number) == 0 )) | |
{ | |
int var = 0; | |
kunci = 1; | |
while (var < 2) | |
{ | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(200); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
delay(200); | |
var++; | |
} | |
} | |
// Fungsi Unlock | |
else if ((strcmp (smsbuffer,"On")) == 2 && (strcmp (n,phone_number) == 0 )) | |
{ | |
int var = 0; | |
kunci = 0; | |
while (var < 3) | |
{ | |
digitalWrite(lampudepan, HIGH); | |
digitalWrite(lampubelakang, HIGH); | |
delay(200); | |
digitalWrite(lampudepan, LOW); | |
digitalWrite(lampubelakang, LOW); | |
delay(200); | |
var++; | |
} | |
} | |
return; | |
} | |
} | |
}; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment