SMS - Sensor Jarak - RTC - Arduino

#include
"Wire_h"
"LiquidCrystal_I2C_h"
"RTClib_h"
"SoftwareSerial_h"

LiquidCrystal_I2C lcd(0x3F, 16, 2);
RTC_DS1307 rtc;

int lastminute=0;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

#define trigPin 2
#define echoPin 3
const int buzzer = 7; //buzzer to arduino pin 7
long duration, distance, distanceOld, TinggiAir;
long distanceA, distanceB,distanceC,distanceD,distanceE,distanceF;

int  dataMenitOld = 0;
int  MarkdataMenit = 0;
int  MarkdataJam = 0;
int errorloop = 0;

SoftwareSerial SIM800L(8, 9); // RX | TX
// Connect the SIM800L TX to Arduino pin 8 RX.
// Connect the SIM800L RX to Arduino pin 9 TX.

void setup() {
  // put your setup code here, to run once:
  pinMode(buzzer, OUTPUT); // Set buzzer - pin 7 as an output
 
  tone(buzzer, 2000); // Send 1KHz sound signal...
  delay(50);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...
  delay(1000);
    lcd.begin();
    Serial.begin(57600);

  if (! rtc.begin()) {
    lcd.print("Couldn't find RTC");
    while (1);
  }

  if (! rtc.isrunning()) {
    lcd.print("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }

 delay(1000);
    SIM800L.begin(57600); 

    lcd.print("SIM800L started at 57600");
    delay(1000);
    lcd.print("Setup Complete!");
     lcd.setCursor(0,1); 
    lcd.print("SIM800L is Ready!");
 delay(1000);

lcd.clear();
lcd.print("www.wahyucf.com");
lcd.setCursor(0,1); 
lcd.print(" 087770-187770 ");
 delay(1000);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  
 //   lcd.print(distance);
 //   lcd.print(" cm");
 
 
 
 delay(5000);

     DateTime now = rtc.now();

    String thn=String(now.year(), DEC);
    Serial.print(thn);
    Serial.print('/');
    String bln=String(now.month(), DEC);
    Serial.print(bln);
    Serial.print('/');
    String hr=String(now.day(), DEC);
    Serial.print(hr);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    String dataJam=String(now.hour(), DEC);
    Serial.print(':');
    String dataMenit=String(now.minute(), DEC);
    Serial.print(':');
    String dataDetik=String(now.second(), DEC);
    Serial.println();

  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1; 
 
 distance = ukur(); 
  TinggiAir =100 - distance;

//String Tanggal = "\n"+ thn + '/'+ bln + '/'+ hr + " - "+ dataJam + ":" + dataMenit + ":" + dataDetik + "\n"+  "Level air: "  + String(TinggiAir) + " cm"+ "\n";
String Tanggal = "\n"+ thn + '/'+ bln + '/'+ hr + " - "+ dataJam + ":" + dataMenit + "\n"+  "Level air: "  + String(TinggiAir) + " cm"+ "\n";

    Serial.print(Tanggal);

 // String message = Tanggal + " - " + dataJam + ":" + dataMenit + ":" + dataDetik + " -" + " Jarak saat ini: ";  + String(distance) + " cm"+ "\n"; 

delay(5000);

 lcd.clear(); 
   lcd.print("Setup Complete!");
 lcd.setCursor(0,1);  
  lcd.print("Sending SMS...");
   
  //Set SMS format to ASCII
  SIM800L.write("AT+CSCS?\r\n");
  delay(1000);

  SIM800L.write("AT+CSCS=\"GSM\"\r\n");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);  
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  //Send new SMS command and message number
  SIM800L.write("AT+CMGS=\"+6287770187770\"\r\n");
  delay(1000);   
  //Send SMS content
  SIM800L.write("Piranti Start: ");
  delay(1000);
  SIM800L.write(Tanggal.c_str());
  //Send Ctrl+Z / ESC to denote SMS message is complete
  SIM800L.write((char)26);
  delay(20000);
 
  SIM800L.write("AT+CSCS=\"GSM\"\r\n");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);  
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  //Send new SMS command and message number
  SIM800L.write("AT+CMGS=\"+628977143153\"\r\n");
  delay(1000);   
  //Send SMS content
  SIM800L.write("Piranti Start: ");
  delay(1000);
  SIM800L.write(Tanggal.c_str());
  //Send Ctrl+Z / ESC to denote SMS message is complete
  SIM800L.write((char)26);
  delay(1000);
 
 
 
 
 
  
  lcd.clear();   
  lcd.print("Piranti Start");
 
    tone(buzzer, 2000); // Send 1KHz sound signal...
  delay(50);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...
  delay(100);
    tone(buzzer, 2000); // Send 1KHz sound signal...
  delay(50);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...
  delay(1000);
   
 delay(5000);
 
 
 
}

void loop() {
  // put your main code here, to run repeatedly:
    DateTime now = rtc.now();
    

    String thn=String(now.year(), DEC);
    Serial.print(thn);
    Serial.print('/');
    String bln=String(now.month(), DEC);
    Serial.print(bln);
    Serial.print('/');
    String hr=String(now.day(), DEC);
    Serial.print(hr);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    String dataJam=String(now.hour(), DEC);
    Serial.print(dataJam);
    int dataJamInt=dataJam.toInt();
    Serial.print(':');
    String dataMenit=String(now.minute(), DEC);
    Serial.print(dataMenit);
    int dataMenitInt=dataMenit.toInt();
   Serial.print(':');
   String dataDetik=String(now.second(), DEC);
    Serial.print(dataDetik);
    Serial.println();
 
 
    Serial.println(dataMenitInt);
    Serial.println(dataMenitOld);   
    

 distance = ukur(); 
  TinggiAir =100 - distance;

if ((distance >25)&&(errorloop!=0))
{
  errorloop=0;
}

if ((distance <=25)&&(errorloop<5)){

    lcd.setCursor(0,1); 
    lcd.print("Object To Close");
    errorloop=errorloop+1;

if ((distance ==25)){    
String Tanggal = thn + '/'+ bln + '/'+ hr ;     
     kirimsms("CekSensor","Jarak Obj", Tanggal, dataJam, dataMenit, dataDetik, distance, "- www.wahyucf.com -"); 
}

  } 

if (((dataJamInt == 17)||(dataJamInt==7))&&(dataMenitOld==0)){

  if(  MarkdataJam != dataJamInt)
{
  
String Tanggal = thn + '/'+ bln + '/'+ hr ;     
     kirimsms("Data", "Level air", Tanggal, dataJam, dataMenit, dataDetik, TinggiAir, "================"); 
    dataMenitOld = dataMenitInt;
    MarkdataJam = dataJamInt;

}

  } 
  
if ((dataMenitInt == (dataMenitOld + 30)) || (dataMenitInt == 0) || (dataMenitOld == 0)){
    dataMenitOld = dataMenitInt;

    

  if(  MarkdataMenit != dataMenitInt)
{
String Tanggal = thn + '/'+ bln + '/'+ hr ;     
     kirimsms("CekSMS", "Level air", Tanggal, dataJam, dataMenit, dataDetik, TinggiAir, "- www.wahyucf.com -"); 
    MarkdataMenit= dataMenitInt;
}

  } 

    
 if ((distanceOld!=distance) || (lastminute!=now.minute()))
 // if (now.second()!= lastminute) 
 {    
    lcd.clear();
    lcd.setCursor(0,0); 
    lcd.print(now.year(), DEC);
    lcd.print('/');
    lcd.print(now.month(), DEC);
    lcd.print('/');
    lcd.print(now.day(), DEC);
    

//    lcd.print(" (");
//    lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
//    lcd.print(") ");
    
    lcd.setCursor(11,0);
    lcd.print(now.hour(), DEC);
    lcd.print(':');
    lcd.print(now.minute(), DEC);
//    lcd.print(':');
//    lcd.print(now.second(), DEC);
//    lcd.setCursor(8,1);

    lcd.setCursor(0,1); 
    lcd.print("Level Air:");
    lcd.print(" ");
    lcd.print(TinggiAir);
    lcd.print("cm");

//    lcd.println();
    lastminute=now.minute();

    distanceOld=distance;

  }
}

void kirimsms(String dataTipe,String dataNote,String Tanggal, String dataJam, String dataMenit, String dataDetik, long distance,String Closer) 
{

    tone(buzzer, 2000); // Send 1KHz sound signal...
  delay(50);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...
  delay(100);
    tone(buzzer, 2000); // Send 1KHz sound signal...
  delay(50);        // ...for 1 sec
  noTone(buzzer);     // Stop sound...

  
  
//String message = "\n"+dataTipe + "\n"+Tanggal + " - "+ dataJam + ":" + dataMenit + ":" + dataDetik + "\n"+ dataNote + ": "  + distance + " cm"+ "\n"+"\n"+Closer;

String message = "\n"+dataTipe + "\n"+Tanggal + " - "+ dataJam + ":" + dataMenit + "\n"+ dataNote + ": "  + String(TinggiAir) + " cm"+ "\n"+"\n"+Closer;
    Serial.print(message);

  lcd.clear(); 
  lcd.print("Tinggi air:");
  lcd.print(TinggiAir);
  lcd.print("cm");
  lcd.setCursor(0,1);  
  lcd.print("Sending SMS...");
   
  //Set SMS format to ASCII
  SIM800L.write("AT+CSCS?\r\n");
  delay(1000);
  SIM800L.write("AT+CSCS=\"GSM\"\r\n");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);  
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  //Send new SMS command and message number
  SIM800L.write("AT+CMGS=\"+6287770187770\"\r\n");
  delay(1000);
  //Send SMS content
  SIM800L.write("Irigasi-ID ");
  delay(1000);
  SIM800L.write(message.c_str());
  //Send Ctrl+Z / ESC to denote SMS message is complete
  SIM800L.write((char)26);
  delay(20000);

  //Set SMS format to ASCII
  SIM800L.write("AT+CSCS?\r\n");
  delay(1000);
  SIM800L.write("AT+CSCS=\"GSM\"\r\n");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);  
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  //Send new SMS command and message number
  SIM800L.write("AT+CMGS=\"+628977143153\"\r\n");
  delay(1000);
  //Send SMS content
  SIM800L.write("Irigasi-ID ");
  delay(1000);
  SIM800L.write(message.c_str());
  //Send Ctrl+Z / ESC to denote SMS message is complete
  SIM800L.write((char)26);
 delay(2000);

if(dataTipe == "Data") {

  delay(18000);
 
   //Set SMS format to ASCII
  SIM800L.write("AT+CSCS?\r\n");
  delay(1000);
  SIM800L.write("AT+CSCS=\"GSM\"\r\n");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);  
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  //Send new SMS command and message number
  SIM800L.write("AT+CMGS=\"+628977143153\"\r\n");
  delay(1000);
  //Send SMS content
  SIM800L.write("Irigasi-ID ");
  delay(1000);
  SIM800L.write(message.c_str());
  //Send Ctrl+Z / ESC to denote SMS message is complete
  SIM800L.write((char)26);
  delay(2000);
 
  
}

}
long ukur () {
  

  distanceA = dist ();    
  delay(100);
  distanceB = dist ();  
  delay(100);
  distanceC = dist ();  
  delay(100);  
  distanceD = dist ();  
  delay(100); 
  distanceE = dist ();  
  delay(100); 
  distanceF = dist ();  
 
 
 if (distanceA == distanceF) {
   return distanceA;
 }  
    
 if (distanceA == distanceE) {
   return distanceA;
 }  
  
 if (distanceA == distanceD) {
   return distanceA;
 }

 if (distanceA == distanceC) {
   return distanceA;
 } 

 if (distanceA == distanceB) {
   return distanceA;
 } 

 if (distanceB == distanceF) {
   return distanceB;
 } 

 if (distanceB == distanceE) {
   return distanceB;
 } 
 
 if (distanceB == distanceD) {
   return distanceB;
 } 

 if (distanceB == distanceC) {
   return distanceB;
 } 

 if (distanceC == distanceF) {
   return distanceC;
 } 

 if (distanceC == distanceE) {
   return distanceC;
 }  

 if (distanceC == distanceD) {
   return distanceC;
 } 

 if (distanceD == distanceE) {
   return distanceD;
 }  

 if (distanceD == distanceE) {
   return distanceD;
 } 

 if (distanceE == distanceF) {
   return distanceE;
 } 

}

long dist () {
  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = ((duration) / 58.138)+4;  
  return distance;
}

Arduino Sketch kirim SMS dengan Modul GSM SIM800L

#include <SoftwareSerial.h>
SoftwareSerial SIM800L(10, 11); // RX | TX
// Connect the SIM800L TX to Arduino pin 10 RX.
// Connect the SIM800L RX to Arduino pin 11 TX.
char c = ' ';
void setup()
{
    // start th serial communication with the host computer
    Serial.begin(9600);
    while(!Serial);
    Serial.println("Arduino with SIM800L is ready");

    // start communication with the SIM800L in 9600
    SIM800L.begin(9600); 
    Serial.println("SIM800L started at 9600");
    delay(1000);
    Serial.println("Setup Complete! SIM800L is Ready!");
   
  
  Serial.println("Set format SMS ke ASCII");
  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);

  Serial.println("SIM800L Set SMS ke Nomor Tujuan");
  SIM800L.write("AT+CMGS=\"08977143153\"\r\n");
  delay(1000);
  
  Serial.println("SIM800L Send SMS content");
  SIM800L.write("Testing Kirim SMS via SIM800L");
  delay(1000);
  
  Serial.println("Mengirim Char Ctrl+Z / ESC untuk keluar dari menu SMS");
  SIM800L.write((char)26);
  delay(1000);
    
  Serial.println("SMS Selesai Dikirim!");
}

void loop()
{

     // Keep reading from SIM800 and send to Arduino Serial Monitor
    if (SIM800L.available())
    { c = SIM800L.read();
      Serial.write(c);}

    // Keep reading from Arduino Serial Monitor and send to SIM800L
    if (Serial.available())
    { c = Serial.read();
      SIM800L.write(c); 
       }

}

Hari Libur Tahun 2017

Tahun Baru Masehi
Minggu
1 Januari 2017

Cuti Bersama
Senin
2 Januari 2017

Tahun Baru Imlek
Sabtu
28 Januari 2017

Hari Raya Nyepi
Selasa
28 Maret 2017

Jumat Agung
Jumat
14 April 2017

Isra Miraj
Senin
24 April 2017

Hari Buruh
Senin
1 Mei 2017

Hari Raya Waisak
Kamis
11 Mei 2017

Kenaikan Isa Almasih
Kamis
25 Mei 2017

Hari Lahir Pancasila
Kamis
1 Juni 2017

Idul Fitri
Minggu - Senin
25 - 26 Juni 2017

Cuti Bersama
Selasa - Jumat
27 - 30 Juni 2017

Hari Kemerdekaan
Kamis
17 Agustus 2017

Idul Adha
Jumat
1 September 2017

Tahun Baru Hijriyah
Kamis
21 September 2017

Maulid Nabi
Jumat
1 Desember 2017

Hari Natal
Senin
25 Desember 2017

Cuti Bersama
Selasa
26 Desember 2017

Lagu Dolanan Jawa

Lagu Dolanan Jawa

1. GUNDUL GUNDUL PACUL
Gundul-gundul pacul…cul gembelengan
Nyunggi-nyunggi wakul…kul gembelengan
Wakul ngglimpang segane dadi sak latar
Wakul ngglimpang segane dadi sak latar

2. SLUKU SLUKU BATOK
Sluku-sluku bathok
Bathoke ela-elo
Si Rama menyang Solo
Oleh-olehe payung mutho
Mak jenthit lolo lo bah
Wong mati ora obah
Yen obah medeni bocah
Yen urip golekko dhuwit

3. PADHANG MBULAN
Yo Prokonco dolanan neng njobo
Padhang mbulan padhange koyo rina
rembulane… e
Seng ngawe awe
Ngelingake ojo podho turu sore

4. TIKUS BUNTUNG
Tikus buntung .... Nduwe anak .. Buntung ..... Cicit cuwit cicit cuwit ..... Si tikus sobo neng lumbung. 🐀

5. CUBLAK CUBLAK SUWENG
Cublak cublak suweng..
suwenge ting gelenterl..
mambu ketundung gudel
pak empong lera-lere
sopo ngguyu ndelik–ake
sir-sir pong dhele gosong
sir sir pong dhele gosong...

6. GOTRI
Gotri legendri nogo sari.. ri
riwul owal awul jadah mentul.. tul
tolen olen olen jadah manten ..ten
(ti)tenana besuk gede dadi opo.. po
podho mbakul enak mbakul sedeng.. deng
dengklok engklak engklok koyo kodok

7. BANG BANG TUT
Bang bang tut cendelo ewo ewo
sopo prei ngentut ditembak rojo tuo
nyang kali ngiseni kendhi
jeruk purut wadhah entut

8. DOMINO
Domino idomino ono babu nggendong sinyo
sinyone nangis wae didolani montor mabur
montor mabur kapal udara numpak sepur mudhun Jakarta
jakarta akeh copete sopir becak akeh duite
duite mung selawe lambe ndomble njaluk dijotos

9. KUCING GANDHIK
Kucing gandhik………. meong
(o)Mahmu ngendi…… ngerong
(o)Po ra gatel………….  adus
(o)Po ra adem………… kemul
(o)Po nduwe kemul…. tuku
(o)Po nduwe duit……..             utang
(o)Po (i)soh nyaur……. ngemplang
Yen ditagih……………..  ndhelik
Yen dioyak……………..  mlayu
Yen dicegat…………….  mlumpat

10. DAYOH
E… dayohe teko
e… gelarno kloso
e… klosone bedhah
e… tambalen jadah
e… jadahe mambu
e… pakakno asu
e…. asune mati
e…. kelekno kali
e…. kaline asat
e…. centhelno pager
e….. pagere ambruk
e…. delehno ngebuk

11. MENTHOK
Menthok menthok , tak kandani
Mung rupamu , angisin ngisini
Mbok ya aja ngetok , ono kandang wae
Enak enak ngorok , ora nyambut gawe
Menthok menthok , mung lakumu
Megal megol , gawe guyu

12. KIDANG TALUN
Kidang talun
Mangan kacang talun
Mil kethemil mil kethemil
Si Kidang mangan lembayung

13. TE KATE DIPANAH
Te kate dipanah
Dipanah ngisor gelagah
Ono manuk onde onde
Bok sir bombok , Bok sir kate
Bok sir bombok , Bok sir kate

14. LIR   ILIR
Lir ilir lir ilir , tandure wus sumilir
Tak ijo royo royo , tak sengguh temanten anyar
Cah angon cah angon , penekno blimbing kuwi
Lunyu lunyu penekno , gawe ngumbah dododira
Dododira dododira , kumitir bedah ing pinggir
Domana jlumatana , kanggo seba mengko sore
Mumpung padhang rembulane , mumpung jembar kalangane
Ya…surak-a…..surak….Horeeeeeeeee…..

15. SUWE ORA JAMU
Suwe ora jamu
Jamu godhong tela
Suwe ora ketemu
Ketemu pisan gawe gela

16. GAMBANG SULING
Gambang suling kumandhang swarane
Tulat tulit , kepenak unine
Unine mung nrenyuhake
Barengan kentrung , ketipung suling
Sigrak kendangane.

17. SAKIKI AKU WIS GEDE
Saiki aku wis gede..
sekolah mangkat dewe..
ora usah  dieterake..
bareng karo kancane..

Yen mlaku turut pinggiran,
ora pareng gojegan…
neng ndalan akeh kendaraan
mengko mundhak tabrakan

18. SIJI LORO TELU
Siji loro telu,
astane sedheku,
mirengake bu guru
menawa didangu..

papat nuli lima..
lenggahe sing tata,
ojo podho sembronoo,
mundhak ora bisa

19. JARANAN
Jaranan-jaranan…jarane jaran teji
Sing numpak ndara bei
Sing ngiring para mantri
Jeg jeg nong…jeg jeg gung
Prok prok turut lurung
Gedebug krincing gedebug krincing
Prok prok gedebug jedher.

20. KODOK NGOREK
Kodok ngorek kodok ngorek , ngorek nyang mblumbangan
Theyot theblung theyot theblung , theyot theyot theblung

Golek pangan golek pangan, golek pangan

21. Pitik walik jambul kuk, sego golong mambu enthong mangga sami kondur, weteng kulo sampun kothong. Enak eeenak sega liwet jangan terong. Teronge bunder bunder bocah sregep mesti pinter, teronge ijo ijo bocah kesed mesthi bodho
dll....

Lapis Aspal Beton (laston)

Lapis Aspal beton adalah beton aspal yang  bergradasi menerus, lapis aspal beton (laston) juga sering disebutl dengan AC (Asphal Concrete), ...