int entrada = 0;
int entr = 0;
int saida = 0;
int cont = 128;
int inv = 128;
int curt = 128;
int curto = 128;

void setup() {
  Serial.begin(115200);
  delay(100);
  Serial.println("iniciado");

  pinMode(LED_BUILTIN,OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);

  pinMode(20, INPUT_PULLDOWN);
  pinMode(21, INPUT_PULLDOWN);
  pinMode(22, INPUT_PULLDOWN);
  pinMode(23, INPUT_PULLDOWN);
  pinMode(24, INPUT_PULLDOWN);

  pinMode(27, INPUT_PULLUP);
  pinMode(28, INPUT_PULLDOWN);
  pinMode(29, INPUT_PULLDOWN);
  pinMode(30, INPUT_PULLDOWN);
  pinMode(31, INPUT_PULLDOWN);

  
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);
  digitalWrite(4, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, LOW);
}

void loop() {
 //Serial.println(analogRead(27));
 
  for(saida = 0; saida <= 5; saida++){
    digitalWrite(saida + 2, HIGH);
    
    for(entrada = 0;entrada <= 5; entrada ++){
      if(digitalRead(entrada + 20)){
        cont = cont | (1 << entrada);  
        }
      if(digitalRead(entrada + 20) && (entrada != saida)){
        inv = inv | (1 << saida);
        inv = inv | (1 << entrada);
        }
    }
    for(entr = 0;entr < 5; entr ++){
      if(digitalRead(entr +27) && (entr != saida)){
        curto = curto | (1 << saida);
        curto = curto | (1 << entr);
        }
    }
    digitalWrite(saida + 2, LOW);
  }
  
  Serial.println("");
  Serial.println("");
  Serial.println("");
  Serial.println("");
  Serial.print("Continuidade:");
  Serial.println(cont,BIN);
  Serial.print("Inversao:");
  Serial.println(inv,BIN);
  Serial.print("Curto:");
  Serial.println(curto,BIN);
  delay(300);
  cont = 128;
  inv = 128;
  curt = 128;
  curto = 128;
}