DAFTAR PUSTAKA Kadir, Abdul. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan Pemrogramannya Menggunakan Arduino.Yogyakarta: Penerbit ANDI.2012 Djuandi,Feri.Pengenalan Arduino.tokobuku.com.2011 M.Mc Roberts, Arduino Starter Kit Manual A Couplete Beginners Guide To The Arduino, First Edition.Eartshine Electronics, May 2009. Datasheet Arduino UNO.Dokumen PDF.(Online). Diakses 3 Mei 2014. Atmel.Coorporation.Datasheet ATMega 328.Dokumen PDF (Online). http://atmel.com. Saptadi,Arief Hendra. Modul Modul Praktikum-Mikroprosesor dan Antarmukav.0.5 “Arduino: I/O Digital dan Komunikasi Serial”. Sekolah Tinggi Teknologi Telematika Telkom, Purwokerto, 2013. Inc., M.I. Datasheet Fastrack Modem M1306B User Guide. Dokumen PDF (Online). Diakses 3 Mei 2014. Masoem, Wardani, Kusuma, Ayu. Perancangan dan Realisasi Sistem Informasi Akademik Menggunakan SMS Pada Jurusan Teknik Elektro. Institit Teknologi Nasional, Bandung, 2012. Abdurachmin, Erwin. Rancang Bangun Aplikasi Sistem Kontrol Lampu berbasis SMS Gateway. Bandung; Politeknik Negeri Telkom, 2011. Ahmad Solikin: Perancangan dan Pembuatan Komunikasi Serial Antara Handphone dengan Mikrokontroler sebagai Alat Kontrol Jarak Jauh, Surakarta: Teknik Elektro Universitas Muhamadiyah Surakarta, 2010. Trisnanto, Agus., Santosa, Yomas A., S.P, Arum R. Monitoring dan Pengendalian Level Cairan Jarak Jauh Berbasis WEB. Jurusan Teknik Elektro: Universitas Lampung Purnomo, Adi. 2007. AT Command http://javaku.wordpress.com. Diakses tanggal 3 Oktober 2013. https://wangready.wordpress.com/2011/02/02/rs232-komunikasi-serial-denganmikrokontroler/. Diakses tanggal 2 Februari 2011
http://digilib.mercubuana.ac.id/
Mudjirahardjo, Panca, tth., Transfer Data PC Menggunakan Serial Port (online), http://pancamr.lecture.ub.ac.id/electronics/transfer-data-pc-menggunakanserial -port/, diakses 28 Maret 2012
LAMPIRAN #include
//program kontrol Relay #include #include <SoftwareSerial.h> LiquidCrystal lcd(2,3, 4, 5, 6, 7); const int rxpin = 8; const int txpin = 9; SoftwareSerial gsm(rxpin, txpin); String inString=""; String inString2=""; String Stemp=""; String inbox=""; char str,f; int i,j; int tinggi; #define SONAR_NUM
15 // Number or sensors.
#define PING_INTERVAL 33 // Milliseconds between sensor pings (29ms is about the min to avoid cross-sensor echo). #define trigPin 13
#define echoPin 12
void setup() {
http://digilib.mercubuana.ac.id/
pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); gsm.begin(9600); lcd.begin(16, 2); lcd.print("Tes Koneksi .."); delay(1000); gsm.println("AT"); getmodem(); getmodem(); lcd.setCursor(0, 1); lcd.print(inString); if(inString=="OK") { lcd.clear(); lcd.print(" Koneksi OK "); } else{ lcd.clear(); lcd.print(" Gagal ... "); lcd.setCursor(0,1); lcd.print("Coba lagi !"); while(1); } pinMode(A1,OUTPUT); // digitalWrite(A1,HIGH); // delay(2000); // digitalWrite(A1,LOW); lcd.clear(); lcd.print(" Kontrol Relay "); lcd.setCursor(0,1);
http://digilib.mercubuana.ac.id/
lcd.print("Tunggu Perintah"); }
void(* resetFunc) (void) = 0; //declare reset function @ address 0 void loop() { long duration, distance; digitalWrite(trigPin, LOW); // Added this line delayMicroseconds(2); // Added this line digitalWrite(trigPin, HIGH); // delayMicroseconds(1000); - Removed this line delayMicroseconds(10); // Added this line digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; tinggi=20-distance;//tinggi air getmodem(); getmodem2(); i=inString2.indexOf(':'); if(i>0) { Stemp=inString2.substring(0,i); if(Stemp=="+CMTI") { i=inString2.indexOf(','); j=inString2.length (); i=i+1; inbox=inString2.substring(i,j); gsm.print("AT+CMGR="); gsm.println(inbox);
http://digilib.mercubuana.ac.id/
getmodem(); getmodem(); getmodem2(); lcd.clear(); lcd.print("SMS:"); lcd.print(inString2); if(inString2=="on"){ digitalWrite(A1,HIGH); gsm.println("AT+CMGS=08562527813"); //no HP yang akan di SMS delay(1000); gsm.print("RELAY ON"); gsm.write((byte)26); gsm.println(); lcd.setCursor(0,1); lcd.print("RELAY ON ");
} else if(inString2=="off"){ digitalWrite(A1,LOW); gsm.println("AT+CMGS=08562527813"); //no HP yang akan di SMS delay(1000); gsm.print("RELAY OFF"); gsm.write((byte)26); gsm.println(); lcd.setCursor(0,1); lcd.print("RELAY OFF");
}
http://digilib.mercubuana.ac.id/
else if (inString2=="cek"){ lcd.setCursor(0,1); gsm.println("AT+CMGS=08562527813"); //no HP yang akan di SMS delay(1000); gsm.print(tinggi); gsm.print(" cm"); gsm.write((byte)26); gsm.println(); lcd.clear(); lcd.print(tinggi); lcd.print(" cm");
}
gsm.println("AT+CMGD=1,4"); gsm.println(inbox); delay(5000); lcd.clear(); lcd.print(" Kontrol Relay "); lcd.setCursor(0,1); lcd.print("Tunggu Perintah"); resetFunc(); //call reset
} } }
http://digilib.mercubuana.ac.id/
//===================== void getmodem() { f=1; inString=""; while(f) { if(gsm.available()) { str=gsm.read(); switch (str) { case '\r': break; case '\n':f=0; break; default:inString+=(char)str; } } } } //========================= void getmodem2() { f=1; inString2=""; while(f) { if(gsm.available()>0) { str=gsm.read();
http://digilib.mercubuana.ac.id/
switch (str) { case '\r': break; case '\n':f=0; break; default:inString2+=(char)str; } } }
}
http://digilib.mercubuana.ac.id/