Professional Documents
Culture Documents
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
boolean DEBUG=true;
int val;
}
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;
}
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";
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);
}