void setup() {
// put your setup code here, to run once:
#define S0 0
#define S1 1
#define S2 2
#define S3 3
#define MV A0
#define FV 4
#define EN1 5
#define EN2 6
#define EN3 7
#define EN4 8
#define EN5 9
#define EN6 10
#define EN7 11
#define EN8 12
#define EN9 13
double volt;
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(MV, INPUT);
pinMode(EN1, OUTPUT);
pinMode(EN2, OUTPUT);
pinMode(EN3, OUTPUT);
pinMode(EN4, OUTPUT);
pinMode(EN5, OUTPUT);
pinMode(EN6, OUTPUT);
pinMode(EN7, OUTPUT);
pinMode(EN8, OUTPUT);
pinMode(EN9, OUTPUT);
//digitalWrite(EN1, HIGH);
//digitalWrite(EN2, HIGH);
//digitalWrite(EN3, HIGH);
//digitalWrite(EN4, HIGH);
//digitalWrite(EN5, HIGH);
//digitalWrite(EN6, HIGH);
//digitalWrite(EN7, HIGH);
//digitalWrite(EN8, HIGH);
//digitalWrite(EN9, HIGH);
Serial.begin(9600);
}
void loop() {
digitalWrite(FV, HIGH);
for (int EN=5; EN<14; EN++){
digitalWrite(EN, LOW);
for (int i=0; i<16; i++) {
if (i==0){
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
}
else if (i==1){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
}
else if (i==2){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
}
else if (i==3){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
}
else if (i==4){
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
digitalWrite(S2, HIGH);
digitalWrite(S3, LOW);
}
else if (i==5){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
digitalWrite(S2, HIGH);
digitalWrite(S3, LOW);
}
else if (i==6){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
digitalWrite(S2, HIGH);
digitalWrite(S3, LOW);
}
else if (i==7){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
digitalWrite(S2, HIGH);
digitalWrite(S3, LOW);
}
else if (i==8){
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
}
else if (i==9){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
}
else if (i==10){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
}
else if (i==11){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
}
else if (i==12){
digitalWrite(S0, LOW);
digitalWrite(S1, LOW);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
}
else if (i==13){
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
}
else if (i==14){
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
}
else if (i==15){
digitalWrite(S0, HIGH);
digitalWrite(S1, HIGH);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
}
delay(300);
double volt = 5*(analogRead(MV))/1023;
if (volt > 4.95){
Serial.print("Bank ");
Serial.print(EN);
Serial.print(" Ch");
Serial.print(i);
Serial.print(" is OK ");
Serial.println(volt);
}
else{
Serial.print("Bank ");
Serial.print(EN);
Serial.print(" Ch");
Serial.print(i);
Serial.print(" is RESISTIVE. ");
Serial.println(volt); }
}
digitalWrite(EN, HIGH);
}
}