#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
int SVP = A5;
int BVP = A4;
int WVP = A3;
float BV = 0;
float WV = 0;
float SV = 0;
int WBR = 5;
int WLR = 6;
int BBR = 4;
void setup() {
pinMode(SVP, INPUT);
pinMode(BVP, INPUT);
pinMode(WVP, INPUT);
pinMode(WBR, OUTPUT);
pinMode(WLR, OUTPUT);
pinMode(BBR, OUTPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("WELCOME");
lcd.setCursor(0,1);
lcd.print("Bat_Vol:");
lcd.print(BV);
delay(500);
}
void loop() {
SV = analogRead(SVP) * (12.0 / 1023.0); // voltage divider
WV = analogRead(WVP) * (230.0 / 1023.0); // voltage divider
BV = analogRead(BVP) * (30.0 / 1023.0); // voltage divider
if(SV > 11){
digitalWrite(BBR, HIGH);
digitalWrite(WLR, LOW);
digitalWrite(WBR, LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTERY START");
lcd.setCursor(4,1);
lcd.print("CHARGING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON SOLAR");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
else if ((SV < 11)&&(BV > 15.00))
{
digitalWrite(BBR, HIGH);
digitalWrite(WLR, LOW);
digitalWrite(WBR, LOW );
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTER START");
lcd.setCursor(5,1);
lcd.print("USING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON BATTERY");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
else if( ( (SV < 11) && ((BV < 15.00)&&(BV > 14.00)) )&& (WV > 220.00) )
{
digitalWrite(BBR, LOW);
digitalWrite(WLR, HIGH);
digitalWrite(WBR, LOW );
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTERY STOP");
lcd.setCursor(1,1);
lcd.print("USING+CHARGING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON WAPDA");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
else if( ( (SV < 11) && (BV < 15.00) )&& (WV < 220.00) )
{
digitalWrite(BBR, HIGH);
digitalWrite(WLR, LOW);
digitalWrite(WBR, LOW );
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTERY START");
lcd.setCursor(5,1);
lcd.print("USING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON BATTERY");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
else if( ( (SV < 11) && (BV < 5.00) )&& (WV > 220.00) )
{
digitalWrite(BBR, HIGH);
digitalWrite(WLR, LOW);
digitalWrite(WBR, HIGH );
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTERY START");
lcd.setCursor(4,1);
lcd.print("CHARGING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON WAPDA");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
else if( ( (SV < 11) && (BV > 15.00) )&& (WV > 220.00) )
{
digitalWrite(BBR, LOW);
digitalWrite(WLR, HIGH);
digitalWrite(WBR, LOW );
lcd.clear();
lcd.setCursor(0,0);
lcd.print("BATTERY STOP");
lcd.setCursor(4,1);
lcd.print("CHARGING");
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LOAD ON WAPDA");
lcd.setCursor(0,1);
lcd.print("BateryVolt:");
lcd.print(BV);
delay(1000);
}
}