#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize the library with the numbers of the interface pins;
// Define variables to store the input values
//12: RS (Register Select) pin
//11: E (Enable) pin
//5: D4 (Data Bit 4) pin
//4: D5 (Data Bit 5) pin
//3: D6 (Data Bit 6) pin
//2: D7 (Data Bit 7) pin
int MEm1; //Medical Emergency;
int REm1; //Rescue Emergency;
int SEm1; //Security Emergency;
int scon=1; //control Home1;
int scon1=0; //control Home2;
int scon2=0; //control Home3;
int scon3=0; //control Home4;
int buzzer_butt=1; // buzzer control button;
int Home1; // 1st home data hold;
int Home2; // 2nd home data hold;
int Home3; // 3rd home data hold;
int Home4; // 4th home data hold;
void setup() {
// put your setup code here, to run once:
Home1=Home2=Home3=Home4=0; // All Home data is make 0;
pinMode(6, INPUT); // 1st Input from Reciver;
pinMode(7, INPUT); // 2nd Input from Reciver;
pinMode(8, INPUT); // 3rd Input from Reciver;
pinMode(9, OUTPUT); // Input for 1st NPN transistor;
pinMode(10, OUTPUT); // Input for 2nd NPN transistor;
pinMode(13, OUTPUT); // buzzer;
pinMode(0, INPUT);
lcd.begin(20, 4); // Set up the LCD's number of columns and rows:
lcd.clear(); // initioal screen display
lcd.setCursor(0, 0);
lcd.print("HOME SAFETY EMERGENC"); // 1st line
lcd.setCursor(0, 1);
lcd.print("Y RESPONSE SYSTEM"); // 2nd line
delay(1000);
digitalWrite(13, LOW);
}
void loop() {
if (Home1 == 0 && Home2 == 0 && Home3 == 0 && Home4 == 0 && scon == 1) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HOME 1 NO_EMERGENCY"); // initioal screen
lcd.setCursor(0, 1);
lcd.print("HOME 2 NO_EMERGENCY");
lcd.setCursor(0, 2);
lcd.print("HOME 3 NO_EMERGENCY");
lcd.setCursor(0, 3);
lcd.print("HOME 4 NO_EMERGENCY");
scon=0;
}
digitalWrite(9, LOW);
digitalWrite(10, LOW);
// Read the input values
MEm1 = digitalRead(6);
REm1 = digitalRead(7);
SEm1 = digitalRead(8);
// Check the conditions
if (MEm1 == 0 && REm1 == 1 && SEm1 == 1) {
Home1=1; // medical emergency
scon=3;
} else if (MEm1 == 1 && REm1 == 0 && SEm1 == 1) {
Home1=2; //rescue emergency
scon=3;
} else if (MEm1 == 1 && REm1 == 1 && SEm1 == 0) {
Home1=3; //security emergency
scon=3;
}
if (MEm1 == 0 && REm1 == 0 && SEm1 == 0) {
Home1=0; // clear emergency
scon=3;
}
// Wait a little before reading again
delay(1);
digitalWrite(9, HIGH);
digitalWrite(10, LOW);
// Read the input values
MEm1 = digitalRead(6);
REm1 = digitalRead(7);
SEm1 = digitalRead(8);
// Check the conditions
if (MEm1 == 0 && REm1 == 1 && SEm1 == 1) {
Home2=1;
scon1=3;
} else if (MEm1 == 1 && REm1 == 0 && SEm1 == 1) {
Home2=2;
scon1=3;
} else if (MEm1 == 1 && REm1 == 1 && SEm1 == 0) {
Home2=3;
scon1=3;
}
if (MEm1 == 0 && REm1 == 0 && SEm1 == 0) {
Home2=0; // clear emergency
scon1=3;
}
// Wait a little before reading again
delay(1);
digitalWrite(9, LOW);
digitalWrite(10, HIGH);
// Read the input values
MEm1 = digitalRead(6);
REm1 = digitalRead(7);
SEm1 = digitalRead(8);
// Check the conditions
if (MEm1 == 0 && REm1 == 1 && SEm1 == 1) {
Home3=1;
scon2=3;
} else if (MEm1 == 1 && REm1 == 0 && SEm1 == 1) {
Home3=2;
scon2=3;
} else if (MEm1 == 1 && REm1 == 1 && SEm1 == 0) {
Home3=3;
scon2=3;
}
if (MEm1 == 0 && REm1 == 0 && SEm1 == 0) {
Home3=0; // clear emergency
scon2=3;
}
// Wait a little before reading again
delay(1);
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
// Read the input values
MEm1 = digitalRead(6);
REm1 = digitalRead(7);
SEm1 = digitalRead(8);
// Check the conditions
if (MEm1 == 0 && REm1 == 1 && SEm1 == 1) {
Home4=1;
scon3=3;
} else if (MEm1 == 1 && REm1 == 0 && SEm1 == 1) {
Home4=2;
scon3=3;
} else if (MEm1 == 1 && REm1 == 1 && SEm1 == 0) {
Home4=3;
scon3=3;
}
if (MEm1 == 0 && REm1 == 0 && SEm1 == 0) {
Home4=0; // clear emergency
scon3=3;
}
// Wait a little before reading again
delay(1);
// put your main code here, to run repeatedly:
// display emergence massage
if (Home1 != 0 || Home2 != 0 || Home3 != 0 || Home4 != 0) {
if (Home1 == 1 && scon == 3){
//Medical Emergency
clearLine(0);
lcd.setCursor(0, 0);
lcd.print("HOME 1 MEDICAL_EMERG");
digitalWrite(13, HIGH);
} else if (Home1 == 2 && scon == 3) {
//Rescue emergency
clearLine(0);
lcd.setCursor(0, 0);
lcd.print("HOME 1 RESCUE_EMERG");
digitalWrite(13, HIGH);
} else if (Home1 == 3 && scon == 3) {
//Security Emergence
clearLine(0);
lcd.setCursor(0, 0);
lcd.print("HOME 1 SECURITY_EMERG");
digitalWrite(13, HIGH);
} else if (Home1 == 0 && scon == 3) {
//Security Emergence
clearLine(0);
lcd.setCursor(0, 0);
lcd.print("HOME 1 NO_EMERGENCY");
digitalWrite(13, HIGH);
}
if (Home2 == 1 && scon1 == 3){
//Medical Emergency
clearLine(1);
lcd.setCursor(0, 1);
lcd.print("HOME 2 MEDICAL_EMERG");
digitalWrite(13, HIGH);
} else if (Home2 == 2 && scon1 == 3) {
//Rescue emergency
clearLine(1);
lcd.setCursor(0, 1);
lcd.print("HOME 2 RESCUE_EMERG");
digitalWrite(13, HIGH);
} else if (Home2 == 3 && scon1 == 3) {
//Security Emergence
clearLine(1);
lcd.setCursor(0, 1);
lcd.print("HOME 2 SECURITY_EMERG");
digitalWrite(13, HIGH);
} else if (Home2 == 0 && scon1 == 3) {
//Security Emergence
clearLine(1);
lcd.setCursor(0, 1);
lcd.print("HOME 2 NO_EMERGENCY");
digitalWrite(13, HIGH);
}
if (Home3 == 1 && scon2 == 3){
//Medical Emergency
clearLine(2);
lcd.setCursor(0, 2);
lcd.print("HOME 3 MEDICAL_EMERG");
digitalWrite(13, HIGH);
} else if (Home3 == 2 && scon2 == 3) {
//Rescue emergency
clearLine(2);
lcd.setCursor(0, 2);
lcd.print("HOME 3 RESCUE_EMERG");
digitalWrite(13, HIGH);
} else if (Home3 == 3 && scon2 == 3) {
//Security Emergence
clearLine(2);
lcd.setCursor(0, 2);
lcd.print("HOME 3 SECURITY_EMER");
digitalWrite(13, HIGH);
} else if (Home3 == 0 && scon2 == 3) {
//Security Emergence
clearLine(2);
lcd.setCursor(0, 2);
lcd.print("HOME 3 NO_EMERGENCY");
digitalWrite(13, HIGH);
}
if (Home4 == 1 && scon3 == 3){
//Medical Emergency
clearLine(3);
lcd.setCursor(0, 3);
lcd.print("HOME 4 MEDICAL_EMERG");
digitalWrite(13, HIGH);
} else if (Home4 == 2 && scon3 == 3) {
//Rescue emergency
clearLine(3);
lcd.setCursor(0, 3);
lcd.print("HOME 4 RESCUE_EMERG");
digitalWrite(13, HIGH);
} else if (Home4 == 3 && scon3 == 3) {
//Security Emergence
clearLine(3);
lcd.setCursor(0, 3);
lcd.print("HOME 4 SECURITY_EMER");
digitalWrite(13, HIGH);
} else if (Home4 == 0 && scon3 == 3) {
//Security Emergence
clearLine(3);
lcd.setCursor(0, 3);
lcd.print("HOME 4 NO_EMERGENCY");
digitalWrite(13, HIGH);
}
buzzer_butt=digitalRead(0);
if (buzzer_butt == 0) {
digitalWrite(13, LOW);
}
scon=0; //control Home1;
scon1=0; //control Home2;
scon2=0; //control Home3;
scon3=0; //control Home4;
}
}
//end
void clearLine(int line) { // for lcd line clear 0 to 4;
lcd.setCursor(0, line);
for (int i = 0; i < 20; i++) {
lcd.print(" ");
}
lcd.setCursor(0, line);
}
//clearLine(0); // Clear line 0
//clearLine(1); // Clear line 1
//clearLine(2); // Clear line 2
//clearLine(3); // Clear line 3
//clearLine(0);
//lcd.setCursor(0, 0);
//lcd.print("location1");