#include <LiquidCrystal.h>
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal lcd(50, 48, 46, 44, 42, 40);
const int sw1 = 8;
const int sw2 = 9;
const int sw3 = 10;
const int sw4 = 11;
const int sw5 = 12;
const int off1 = 49;
const int off2 = 47;
const int off3 = 45;
const int off4 = 43;
const int off5 = 41;
const int emergency = 7;
int s1 = 0;
int s2 = 0;
int s3 = 0;
int s4 = 0;
int s5 = 0;
int o1 = 0;
int o2 = 0;
int o3 = 0;
int o4 = 0;
int o5 = 0;
int E1 = 0;
void setup()
{
lcd.begin(20, 4);
lcd.print(" Nyi Nyi Phyo- MOEP");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("33/11kV CB control");
lcd.setCursor(6, 3);// (0 is colum, 2 is roll)
lcd.print("Project");
pinMode(sw1, INPUT);
pinMode(sw2, INPUT);
pinMode(sw3, INPUT);
pinMode(sw4, INPUT);
pinMode(sw5, INPUT);
pinMode(off1, INPUT);
pinMode(off2, INPUT);
pinMode(off3, INPUT);
pinMode(off4, INPUT);
pinMode(off5, INPUT);
pinMode(emergency, INPUT);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
pinMode(16, OUTPUT);
pinMode(17, OUTPUT);
pinMode(18, OUTPUT);
pinMode(4, OUTPUT);
pinMode(2, OUTPUT);
}
void loop()
{
int readsw1 = digitalRead(sw1);
int readsw2 = digitalRead(sw2);
int readsw3 = digitalRead(sw3);
int readsw4 = digitalRead(sw4);
int readsw5 = digitalRead(sw5);
int readsw11 = digitalRead(off1);
int readsw22 = digitalRead(off2);
int readsw33 = digitalRead(off3);
int readsw44 = digitalRead(off4);
int readsw55 = digitalRead(off5);
int emerg = digitalRead(emergency);
// when the switch is ON, work relay
if (readsw1 == s1)
{
digitalWrite(14, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Switch1 is pressed =");
lcd.setCursor(0, 2);// (0 is colum, 2 is roll)
lcd.print("Nyaung Myint Line ON");
}
if (readsw2 == s2)
{
digitalWrite(15, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Switch2 is pressed =");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("Yone Tawl Line ON");
}
if (readsw3 == s3)
{
digitalWrite(16, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Switch3 is pressed =");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("Khin Luu Line ON");
}
if (readsw4 == s4)
{
digitalWrite(17, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Switch4 is pressed =");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("Pyaw Kone Line ON");
}
if (readsw5 == s5)
{
digitalWrite(18, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Switch5 is pressed =");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("Mauk Lauk Line ON");
}
// when the switch is ON, don't work relay
if (readsw11 == o1)
{
digitalWrite(14, LOW);
lcd.clear();
lcd.setCursor(2,1);
lcd.print("Nyaung Myint Line");
lcd.setCursor(8,3);
lcd.print("OFF");
}
if (readsw22 == o2)
{
digitalWrite(15, LOW);
lcd.clear();
lcd.setCursor(3,1);
lcd.print("Yone Tawl Line");
lcd.setCursor(8,3);
lcd.print("OFF");
}
if (readsw33 == o3)
{
digitalWrite(16, LOW);
lcd.clear();
lcd.setCursor(3,1);
lcd.print("Khin Luu Line");
lcd.setCursor(8,3);
lcd.print("OFF");
}
if (readsw44 == o4)
{
digitalWrite(17, LOW);
lcd.clear();
lcd.setCursor(3,1);
lcd.print("Pyaw Kone Line");
lcd.setCursor(8,3);
lcd.print("OFF");
}
if (readsw55 == o5)
{
digitalWrite(18, LOW);
lcd.clear();
lcd.setCursor(3,1);
lcd.print("Mauk Lauk Line");
lcd.setCursor(8,3);
lcd.print("OFF");
}
if (emerg == E1)
{
digitalWrite(14, LOW);
digitalWrite(15, LOW);
digitalWrite(16, LOW);
digitalWrite(17, LOW);
digitalWrite(18, LOW);
digitalWrite(2, HIGH);
}
// When pressed emergency button, LED will blink three time
if (emerg == LOW)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Warning!");
lcd.setCursor(12, 0);
lcd.print("Warning!");
lcd.setCursor(1, 2);// (0 is colum, 2 is roll)
lcd.print("EMERGENCY SHUTDOWN");
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);
}
if (emerg == HIGH)
{
digitalWrite(2, LOW);
}
else
{
digitalWrite(4, LOW);
lcd.clear();
lcd.setCursor(6, 0);
lcd.print("Perfect");
lcd.setCursor(2, 2);// (0 is colum, 2 is roll)
lcd.print("Normal Condition");
}
}