No lee los datos del boton

Buenas tardes, cuando intento leer un boton para mandarlo en mensaje MIDI, no lo lee, entoces quite el envio MIDI, y tampoco lo lee, llevo ya unos dias con este problema, pero lo raro, es que cuando esta solo sin potenciometros si va, y cuando se los añado no, muchas gracias a los que contesten. Ahora os dejo el codigo, y la conexion del boton:

#define boton 2

int pot[4] = {0, 0, 0, 0};
int potUl[4] = {0, 0, 0, 0};

int potN = 4;
void setup() {
  // put your setup code here, to run once:
    Serial.begin(115200);
    pinMode(boton, INPUT_PULLUP);
}

void loop() {
  // A partir de aqui los potenciometros
    for(int i = 0; i < potN; i++){
      pot[i] = analogRead(i)/8;
      delay(10);
    }

    for(int i = 0; i < potN; i++){
      if(pot[i] != potUl[i]){
      MIDI(176+i, 1, pot[i]);
      potUl[i] = pot[i];
    }
  }
  //A partir de aqui, los botones
  int valor = digitalRead(boton);
  Serial.print(valor);
  delay(50);
  /*if(valor != 0){
    MIDI(144, 2, 124);
  }*/
}
//Void para envio MIDI
void MIDI(byte comando, byte dato1, byte dato2){
  Serial.write(comando);
  Serial.write(dato1);
  Serial.write(dato2);
}

OK, consegui arreglarlo, era porque el cable de datos del boton, que estaba mal conectado.