void setup() {
pinMode(12, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(12, LOW); // Turn on pin 12
delay(100);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
// Check conductivity between pin 4 and others
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
delay(1000);
int pin5Value = digitalRead(5);
int pin6Value = digitalRead(6);
int pin7Value = digitalRead(7);
int pin4Value = digitalRead(4);
if (pin5Value == HIGH || pin6Value == HIGH || pin7Value == HIGH) {
Serial.println("Warning fence bent1");
}
pinMode(4, INPUT);
// Check conductivity between pin 5 and others
pinMode(5, OUTPUT);
digitalWrite(5, HIGH);
delay(1000);
pin4Value = digitalRead(4);
pin6Value = digitalRead(6);
pin7Value = digitalRead(7);
if (pin4Value == HIGH || pin6Value == HIGH || pin7Value == HIGH) {
Serial.println("Warning fence bent2");
}
pinMode(5, INPUT);
// Check conductivity between pin 6 and others
pinMode(6, OUTPUT);
digitalWrite(6, HIGH);
delay(1000);
pin4Value = digitalRead(4);
pin5Value = digitalRead(5);
pin7Value = digitalRead(7);
if (pin4Value == HIGH || pin5Value == HIGH || pin7Value == HIGH) {
Serial.println("Warning fence bent3");
}
pinMode(6, INPUT);
// Check conductivity between pin 7 and others
pinMode(7, OUTPUT);
digitalWrite(7, HIGH);
delay(1000);
pin4Value = digitalRead(4);
pin5Value = digitalRead(5);
pin6Value = digitalRead(6);
if (pin4Value == HIGH || pin5Value == HIGH || pin6Value == HIGH) {
Serial.println("Warning fence bent4");
}
Serial.println();
digitalWrite(12, HIGH); // Turn off pin 12
delay(1000);
// Check if pins are not HIGH when pin 12 is HIGH
if (digitalRead(4) != HIGH || digitalRead(5) != HIGH || digitalRead(6) != HIGH || digitalRead(7) != HIGH) {
Serial.println("Warning fence destroyed");
}
}