#include <LiquidCrystal.
h>
#include <stdio.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9);
LiquidCrystal lcd(6, 7, 5, 4, 3, 2);
int lvl1 = A0;
int lvl2 = A1;
int m1a = 10;
int m1b = 11;
int buzzer = 13;
int red = A4;
int green = A5;
unsigned char rcv,count,gchr='x',gchr1='x',robos='s';
char rcvmsg[10],pastnumber[11];
int sti=0;
String inputString = ""; // a string to hold incoming data
boolean stringComplete = false; // whether the string is complete
void okcheck1()
unsigned char rcr;
do{
rcr = [Link]();
}while(rcr != 'K');
}
void okcheck()
unsigned char rcr;
do{
rcr = [Link]();
}while(rcr != 'K');
void beep()
digitalWrite(buzzer,LOW);delay(1000);delay(1000);digitalWrite(buzzer,HIGH);
void setup()
[Link](9600);serialEvent();
[Link](9600);
pinMode(lvl1, INPUT);pinMode(lvl2, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(m1a, OUTPUT);pinMode(m1b, OUTPUT);
pinMode(red, OUTPUT);pinMode(green, OUTPUT);
digitalWrite(buzzer, HIGH);
digitalWrite(m1a, LOW);digitalWrite(m1b, LOW);
digitalWrite(red, HIGH);digitalWrite(green, HIGH);
[Link](16, 2);[Link]();
[Link]("Dam Level Using");
[Link](0,1);
[Link](" GSM and IOT");
delay(1500);
[Link]("AT\r\n"); delay(2500);// okcheck();
[Link]("ATE0\r\n"); okcheck1();
[Link]("AT+CWMODE=3\r\n");delay(2500);//
[Link]();
[Link]("Waiting For");
[Link](0,1);
[Link](" Connection ");
do{
rcv = [Link]();
}while(rcv != 'C');
[Link]();[Link](0,0);[Link](" Connected ");
gsminit();
delay(1500);
[Link]();
[Link](0,0);
[Link]("Level:"); //6,0
}
void loop()
if(digitalRead(lvl1) == LOW && digitalRead(lvl2) == LOW)
[Link](6,0);[Link]("Empty ");
digitalWrite(red, HIGH);digitalWrite(green, LOW);
digitalWrite(m1a, LOW);digitalWrite(m1b, LOW);
[Link]("AT+CIPSEND=0,17\r\n");delay(1500);
[Link]("Dam Level Empty\r\n");delay(2000);
delay(4000); delay(4000);
[Link]("AT+CMGS=\"");
[Link](pastnumber);
[Link]("\"\r\n"); delay(2500);
[Link]("Dam Level Empty\r\n");
[Link](0x1A);
delay(4000); delay(4000);
while(digitalRead(lvl1) == LOW && digitalRead(lvl2) == LOW);
if(digitalRead(lvl1) == HIGH && digitalRead(lvl2) == LOW)
[Link](6,0);[Link]("-1 ");
digitalWrite(red, HIGH);digitalWrite(green, LOW);
digitalWrite(m1a, LOW);digitalWrite(m1b, LOW);
[Link]("AT+CIPSEND=0,13\r\n");delay(1500);
[Link]("Dam Level 2\r\n");delay(2000);
delay(4000); delay(4000);
[Link]("AT+CMGS=\"");
[Link](pastnumber);
[Link]("\"\r\n"); delay(2500);
[Link]("Dam Level 2\r\n");
[Link](0x1A);
delay(4000); delay(4000);
while(digitalRead(lvl1) == HIGH && digitalRead(lvl2) == LOW);
if(digitalRead(lvl1) == HIGH && digitalRead(lvl2) == HIGH)
[Link](6,0);[Link]("Full ");
digitalWrite(red, red);digitalWrite(green, HIGH);
digitalWrite(m1a, HIGH);digitalWrite(m1b, LOW);
delay(1000);
beep();
digitalWrite(m1a, LOW);digitalWrite(m1b, LOW);
[Link]("AT+CIPSEND=0,16\r\n");delay(1500);
[Link]("Dam Level Full\r\n");delay(2000);
delay(4000); delay(4000);
[Link]("AT+CMGS=\"");
[Link](pastnumber);
[Link]("\"\r\n"); delay(2500);
[Link]("Dam Level Full-Plz Goto Secure Place\r\n");
[Link](0x1A);
delay(4000); delay(4000);
while(digitalRead(lvl1) == HIGH && digitalRead(lvl2) == HIGH);
void serialEvent()
while([Link]())
char inChar = (char)[Link]();
if(inChar == '*')
gchr = [Link]();
int readSerial(char result[])
int i = 0;
while (1)
while ([Link]() > 0)
char inChar = [Link]();
if (inChar == '\n')
return 0;
if (inChar != '\r')
{
result[i] = inChar;
i++;
void gsminit()
[Link]("AT\r\n"); okcheck();
[Link]("ATE0\r\n"); okcheck();
[Link]("AT+CSMP=17,167,0,0\r\n"); okcheck();
[Link]();
[Link]("SEND MSG STORE");
[Link](0,1);
[Link]("MOBILE NUMBER");
do{
rcv = [Link]();
}while(rcv != '*');
readSerial(pastnumber);pastnumber[10] = '\0';
/*
pastnumber1[0] = pastnumber[0];pastnumber1[1] = pastnumber[1];pastnumber1[2] =
pastnumber[2];pastnumber1[3] = pastnumber[3];pastnumber1[4] = pastnumber[4];pastnumber1[5]
= pastnumber[5];
pastnumber1[6] = pastnumber[6];pastnumber1[7] = pastnumber[7];pastnumber1[8] =
pastnumber[8];pastnumber1[9] = pastnumber[9];pastnumber1[10] = '\0';
*/
/*
pastnumber3[0] = pastnumber[20];pastnumber3[1] = pastnumber[21];pastnumber3[2] =
pastnumber[22];pastnumber3[3] = pastnumber[23];pastnumber3[4] =
pastnumber[24];pastnumber3[5] = pastnumber[25];
pastnumber3[6] = pastnumber[26];pastnumber3[7] = pastnumber[27];pastnumber3[8] =
pastnumber[28];pastnumber3[9] = pastnumber[29];pastnumber3[10] = '\0';
*/
[Link]();
[Link](pastnumber);
delay(4000); delay(4000);
[Link]("AT+CMGS=\"");
[Link](pastnumber);
[Link]("\"\r\n"); delay(3000);
[Link]("Reg\r\n");
[Link](0x1A);
delay(4000); delay(4000);
void converts(unsigned int value)
unsigned int a,b,c,d,e,f,g,h;
a=value/10000;
b=value%10000;
c=b/1000;
d=b%1000;
e=d/100;
f=d%100;
g=f/10;
h=f%10;
a=a|0x30;
c=c|0x30;
e=e|0x30;
g=g|0x30;
h=h|0x30;
[Link](a);
[Link](c);
[Link](e);
[Link](g);
[Link](h);
void convertl(unsigned int value)
unsigned int a,b,c,d,e,f,g,h;
a=value/10000;
b=value%10000;
c=b/1000;
d=b%1000;
e=d/100;
f=d%100;
g=f/10;
h=f%10;
a=a|0x30;
c=c|0x30;
e=e|0x30;
g=g|0x30;
h=h|0x30;
//[Link](a);
//[Link](c);
[Link](e);
[Link](g);
[Link](h);
void convertk(unsigned int value)
unsigned int a,b,c,d,e,f,g,h;
a=value/10000;
b=value%10000;
c=b/1000;
d=b%1000;
e=d/100;
f=d%100;
g=f/10;
h=f%10;
a=a|0x30;
c=c|0x30;
e=e|0x30;
g=g|0x30;
h=h|0x30;
// [Link](a);
// [Link](c);
// [Link](e);
// [Link](g);
[Link](h);