// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// define phase control pins
int phase[3] = {7, 8, 9};
//*********************************************************
int distance(int inputVoltage) {
if (inputVoltage >= 890 && inputVoltage < 920) {
return 8;
}
else if (inputVoltage >= 850 && inputVoltage < 890) {
return 6;
}
else if (inputVoltage >= 750 && inputVoltage < 850) {
return 4;
}
else if (inputVoltage >= 600 && inputVoltage < 750) {
return 2;
}
else return 0 ;
}
//*********************************************************
void setup() {
// set up the LCD's number of columns and rows:
[Link](16, 2);
// set pin mode for phase relays
for (int j = 0; j < 3; j++) {
pinMode(phase[j], OUTPUT);
}
void loop() {
digitalWrite(phase[0], HIGH);
delay(500);
int dist1 = distance(analogRead(A0));
if (dist1 == 0) {
[Link](0, 0);
[Link]("R: ");
[Link](3, 0);
[Link]("NF ");
}
else {
[Link](0, 0);
[Link]("R: ");
[Link](3, 0);
[Link](dist1);
[Link](4, 0);
[Link](" KM");
}
digitalWrite(phase[0], LOW);
//================================================
digitalWrite(phase[1], HIGH);
delay(500);
int dist2 = distance(analogRead(A0));
if (dist2 == 0) {
[Link](8, 0);
[Link]("Y: ");
[Link](11, 0);
[Link]("NF ");
}
else {
[Link](8, 0);
[Link]("Y: ");
[Link](11, 0);
[Link](dist2);
[Link](12, 0);
[Link](" KM");
}
digitalWrite(phase[1], LOW);
//=================================================
digitalWrite(phase[2], HIGH);
delay(500);
int dist3 = distance(analogRead(A0));
if (dist3 == 0) {
[Link](0, 1);
[Link]("G: ");
[Link](3, 1);
[Link]("NF ");
}
else {
[Link](0, 1);
[Link]("G: ");
[Link](3, 1);
[Link](dist3);
[Link](4, 1);
[Link](" KM");
}
digitalWrite(phase[2], LOW);
}
[Link]
[Link]
Underground_Cable_Fault_Detection.ino