void Measure();
void Correction(int x);
wodd Print();
void of print();
void CB Print();
#include<LiquidCrystal.h>
LiquidCrystal LCD (13,12,11,10,9,8);
float PF, Angle;
int dur = 0;
int Case= 0;
float IL, IL1;
int R1= 1;
int R2 = 2;
int R3=3;
int R4 =2;
int ReadDur= 0;
void loop() {
Case=0;
Correction (Case); Measure(); delay(500);
while (IL<1 46 IL1<1)
[Link]();
oc_ Print();
delay(300); Measure(); delay(500);}
Case=0;
Correction (Case); Measure(); delay(500);
[Link](); print() CB_ Print();
while(pf<0.95)
[Link](0,2);
LCD print("Correcting EF");
Case++;
if (Case>15)
{Case=0;
break;}
Correction (Case);
delay(100);
Measure();
delay(500);
Print();
CB_ Print();
if (Angle>20|| PF>0.95)
break;
delay(400);
delay(400);
[Link](0,2);
[Link]("
[Link](0,2);
[Link]("WAIT");
delay(1000);
Print();
CB_ Print();
White (1)
if (PF:0.95)
break;
[Link](0,2);
[Link](" ");
[Link](0.2);
[Link]("CORRECTION DONE!");
delay(700);
Measure();
Print();
CB_ Print():
delay(500);
void Measure()
dur= pulsein (ReadDur, HIGH);
Angle= dur* 0.018;
Angle =Angle-90;
PF= cos(Angle* 0.0174533);
IL= analogRead(A0);
delay (500);
IL1= analogRead(AO);
void Print()
[Link](0,3);
[Link](" ");
[Link](0,0);
[Link]("Angle=");
[Link] (Angle);
[Link](0,1);
[Link]("PF = ");
[Link](PF);
void CB_ Print()
[Link](0,3);
[Link]("CB Combination=");
[Link] (Case);
void OC _print()
[Link]();
[Link](0,1);//setCursor(x,y)
[Link] (" NO LOAD");
[Link](0,2);
[Link](" CONNECTED");
void Correction(int x)
if (x==1)
digitalWrite (R1, RIGH);
digitalWrite(R2, LOW);
digitalWrite(R3, LOW);
digitalwrite(R4, LOW);
else if (x==2)
digitalWrite(R1, LOW);
digitalWrite(R2, HIGH);
digitalWrite(R3, LOW);
digitalWrite(R4, LOW);
else if (x==3)
digitalWrite(R1, HIGH);
digitalWrite(R2. HIGH);
digitalWrite(R3, LOW);
digitalwrite(R4, LOW);
else if (x==4)
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
digitalWrite(R3, HIGH);
digitalWrite(R4, LOW);
else if (x==5)
digitalWrite(B1, HIGH);
digitalWrite(R2, LOW);
digitalWrite (R3, HIGH);
digitalWrite(R4, LOW);
else if (x==6)
digitalWrite(R1, LOW);
digitalWrite(R2, HIGH);
digitalWrite(R3, HIGH);
digitalWrite(R4, LOW);
else if (x==7)
digitalWrite(R1, HIGH)
digitalWrite (R2, HIGH);
digitalWrite (R3, HIGH);
digitalWrite(R4, LOW);
else if (x==8)
digitalWrite(R1, LOW):
digitalWrite(R2, LOW):
digitalWrite(R3, LOW);
digitalWrite(R4, HIGH);
else if (x==8)
digitalWrite(R1, HIGH);
digitalWrite(R2, LOW);
digitalWrite(R3, LOW);
digitalwrite(R4, HIGH);
else if (x==10)
digitalWrite(R1, LOW);
digitalWrite(R2, HIGH);
digitalWrite(R3, LOW);
digitalwrite(R4, HIGH);
else if(x==11)
{
digitalWrite(R1, HIGH);
digitalWrite (R2, HIGH);
digitalWrite(R3, LOW);
digitalWrite(R4, HIGH);
elseif(x==12)
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
digitalwrite (R3, HIGH);
digitalWrite(R4, HIGH);
else if (x==13)
digitalWrite(R1, HIGH);
digitalWrite(R2, LOW);
digitalWrite(R3, HIGH);
digitalWrite(R4, HIGH);
else if(x==14)
digitalWrite(R1, LOW);
digitalwrite(R2,HIGH);
digitalWrite(R3, HIGH);
digitalWrite(R4,HIGH);
else if(x==15)
digitalWrite(R1, HIGH);
digitalWrite(R2, HIGH);
digitalWrite(R3, HIGH);
digitalWrite(R4, HIGH);
else
digitalwrite(R1, LOW);
digitalWrite(R2, LOW);
digitalWrite(R3, LOW);
digitalWrite(R4, LOW);