You are on page 1of 7

#include <LiquidCrystal.

h>
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

#include <SoftwareSerial.h>
SoftwareSerial espSerial = SoftwareSerial(2,3); // arduino RX pin=2 = 0
arduino TX pin=3 = 1 connect the arduino RX pin to esp8266 module TX pin -
connect the arduino TX pin to esp8266 module RX pin

String apiKey = "JB9ZM964AFWGPM5R"; // replace with your channel's thingspeak


WRITE API key

String ssid="CHROMASTONE SOLUTIONS"; // Wifi network SSID


String password ="mnbvcxz@24"; // Wifi network password

boolean DEBUG=true;
int val;

int ABC, XYZ, BED1, BED2, NABC, NXYZ, BUZZ1, BUZZ2;

void showResponse(int waitTime){


long t=millis();
char c;
while (t+waitTime>millis()){
if (espSerial.available()){
c=espSerial.read();
// if (DEBUG) Serial.print(c);
}
}

}
int M1 = 5;
int M2 = 6;
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(7, INPUT);
pinMode(A0, INPUT);
pinMode(4, OUTPUT);//BUZZER
pinMode(5, OUTPUT);//M1
pinMode(6, OUTPUT);//M2
DEBUG=true; // enable debug serial
lcd.setCursor(0,0);
lcd.print(" WI-FI ESP8266 ");
lcd.setCursor(0,1);
lcd.print("Connecting... ");
delay(50);
espSerial.begin(115200);
espSerial.println("AT+CWMODE=1");
showResponse(1000);
espSerial.println("AT+CWJAP=\""+ssid+"\",\""+password+"\"");
showResponse(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("CONNECTED...");
delay(500);
lcd.setCursor(0,0);
lcd.print("IOT BASED SALINE");
delay(500);
lcd.setCursor(0,1);
lcd.print("LEVEL MONITORING");
delay(500);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" SYSTEM ");
delay(500);
lcd.clear();
ABC = 0;
XYZ = 0;
NABC = 0;
NXYZ = 0;
BED1 = 0;
BED2 = 0;
BUZZ1 = 0;
BUZZ2 = 0;
}
char rfid[12];

void loop()
{
if(digitalRead(7) == HIGH)
{
BUZZ1 = 1;
digitalWrite(4, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
lcd.setCursor(0, 1);
lcd.print("BED NO 1 ALERT ");
delay(2000);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
delay(500);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);

//send_msg1();
}
else
{
BUZZ1 = 0;
//lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEV. MAINTAIN B1");
delay(500);
digitalWrite(4,LOW);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
}

if(digitalRead(A0) == HIGH)
{
BUZZ2 = 1;
digitalWrite(4, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
lcd.setCursor(0, 1);
lcd.print("BED NO 2 ALERT ");
delay(2000);
digitalWrite(M1, HIGH);
digitalWrite(M2, LOW);
delay(500);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);

//send_msg1();
}
else
{
BUZZ2 = 0;
//lcd.clear();
lcd.setCursor(0, 1);
lcd.print("LEV. MAINTAIN B2");
delay(500);
digitalWrite(4,LOW);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
}

if(Serial.available()>0)
{
for(int i=0;i<12;i++)
{
rfid[i] = Serial.read();
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("RFID DETECTED.");
lcd.setCursor(0, 1);

for(int i=0;i<12;i++)
{
lcd.print(rfid[i]);
delay(10);
}
delay(1000);
lcd.clear();

if(digitalRead(7) == HIGH)
{
if(rfid[11] == '3')
{
BED1 = 1;
ABC = 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);
digitalWrite(M1, HIGH);
delay(100);
digitalWrite(M2, LOW);
delay(200);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("BED No. 1");
lcd.setCursor(0, 1);
lcd.print("On Duty: Mr. ABC");
delay(1000);
delay(1000);
lcd.clear();
}
else if(rfid[11] == '8')
{
BED1 = 1;
XYZ = 1;

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);
digitalWrite(M1, HIGH);
delay(100);
digitalWrite(M2, LOW);
delay(200);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("BED No. 1");
lcd.setCursor(0, 1);
lcd.print("On Duty: Mr. XYZ");
delay(1000);
delay(1000);
lcd.clear();
}
else
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("INVALID ENTRY..");
delay(1000);
lcd.clear();
}
}
else
{
BUZZ1 = 0;
//lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEV. MAINTAIN B1");
delay(500);
digitalWrite(4,LOW);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
}
if(digitalRead(A0) == HIGH)
{
if(rfid[11] == '3')
{
BED2 = 1;
ABC = 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);
digitalWrite(M1, HIGH);
delay(100);
digitalWrite(M2, LOW);
delay(200);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("BED No. 2");
lcd.setCursor(0, 1);
lcd.print("On Duty: Mr. ABC");
delay(1000);
delay(1000);
lcd.clear();
}
else if(rfid[11] == '8')
{
BED1 = 1;
XYZ = 1;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("LEVEL GOES DOWN ");
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4,LOW);
delay(100);
digitalWrite(M1, HIGH);
delay(100);
digitalWrite(M2, LOW);
delay(200);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
delay(1000);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("BED No. 1");
lcd.setCursor(0, 1);
lcd.print("On Duty: Mr. XYZ");
delay(1000);
delay(1000);
lcd.clear();
}
else
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("INVALID ENTRY..");
delay(1000);
lcd.clear();
}

}
else
{
BUZZ2 = 0;
//lcd.clear();
lcd.setCursor(0, 1);
lcd.print("LEV. MAINTAIN B2");
delay(500);
digitalWrite(4,LOW);
digitalWrite(M1, LOW);
digitalWrite(M2, LOW);
}}
String cmd = "AT+CIPSTART=\"TCP\",\""; // TCP connection
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
espSerial.println(cmd);
// if (DEBUG) Serial.println(cmd);
if(espSerial.find("Error")){
//if (DEBUG) Serial.println("AT+CIPSTART error");
return false;
}

String getStr = "GET /update?api_key="; // prepare GET string


getStr += apiKey;

getStr +="&field1=";
getStr += String(ABC);

getStr +="&field2=";
getStr += String(NABC);
getStr +="&field3=";
getStr += String(XYZ);

getStr +="&field4=";
getStr += String(NXYZ);
getStr +="&field5=";
getStr += String(BED1);
getStr +="&field6=";
getStr += String(BED2);

getStr +="&field7=";
getStr += String(BUZZ1);
getStr +="&field8=";
getStr += String(BUZZ2);
// ...
getStr += "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";

// send data length


cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
espSerial.println(cmd);
//if (DEBUG) Serial.println(cmd);

delay(100);
if(espSerial.find(">")){
espSerial.print(getStr);
// if (DEBUG) Serial.print(getStr);
}
else{
espSerial.println("AT+CIPCLOSE");
// alert user
//if (DEBUG) Serial.println("AT+CIPCLOSE");
return false;
}
//thingSpeakWrite();
delay(15000);
}

You might also like