0% found this document useful (0 votes)
8 views11 pages

Dam Level Monitoring with GSM IOT

Uploaded by

yunusbasha
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views11 pages

Dam Level Monitoring with GSM IOT

Uploaded by

yunusbasha
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

#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);

You might also like