sugiero que definas a bot_ini como bool, porque lo has definido como int y les has asignado valor 8 no se porque, y luego haces comparacion logica, y si alguno de los bits de la variable es 1 siempre te va a dar TRUE. para que te de false todos deben ser 0. Lo unico raro que veo por ahora.
Aqui anexo el set up
void setup(){
for(int q=0;q<=1;q++){
pinMode(motor[q],OUTPUT );
}
pinMode(v1,OUTPUT );
pinMode(v2,OUTPUT );
pinMode(cent,OUTPUT );
pinMode(bomba,OUTPUT );
pinMode(bot_ini,INPUT);
pinMode(pres,INPUT);
}
No creo q definir bot_ini como tipo entero sea el problema lo defini así para que quedara como entrada digital normal.
Los problemas son los que ya mencione con anterioridad
No es una buena politica utilizar variables para definir los puertos, si querés darle identidad a cada port lo ideal es hacerlo utilizando constantes. En teoria parece que todo esta bien, pero uno no sabe después que es lo que hace el compilador internamente cuando convierte el código en lenguaje de maquina. Porque encima seguis utilzando esa variable en el programa.