Podrias poner un esquema para entender todo de un vistazo.
Tu primero código no tiene comentarios, se hace dificil sin esquema y sin comentarios seguirlo.
Ademas no se porque no lo posteaste en lugar de adjuntarlo
int poten;
int interr;
int motor;int dmotor=11; int imotor=10;
int cont;int cont2;int cont3;
int vel;int omeg;
int inifin=A1;int inicio=0;
int selector=A2;
void setup() {
Serial.begin(9600);
for(int pin=1;pin<=11;pin++){
pinMode(pin,OUTPUT);
}
pinMode(A0,INPUT);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
pinMode(A5,OUTPUT);
digitalWrite(imotor,HIGH);
digitalWrite(dmotor,LOW);
}
void loop() {
if(digitalRead(inifin)==HIGH){
delay(50);
inicio=1-inicio;
if(interr==digitalRead(HIGH)){selector=1;}
else{selector=0;}
}
if(inicio==1){
poten=analogRead(A0);
vel=map(poten,0,1023,0,255);
if(selector==1){
analogWrite(motor,vel);
digitalWrite(dmotor,HIGH);
digitalWrite(imotor,LOW);
}
if(selector==0){
analogWrite(motor,vel);
digitalWrite(imotor,HIGH);
digitalWrite(dmotor,LOW);
}
omeg=map(poten,0,1023,0,200); //0 a 200 rpm
if(omeg>=0 && omeg<10){cont=omeg;cont2=0;cont3=0;}
if(omeg>=10 && omeg<20){cont=omeg-10;cont2=1;cont3=0;}
if(omeg>=20 && omeg<30){cont=omeg-20;cont2=2;cont3=0;}
if(omeg>=30 && omeg<40){cont=omeg-30;cont2=3;cont3=0;}
if(omeg>=40 && omeg<50){cont=omeg-40;cont2=4;cont3=0;}
if(omeg>=50 && omeg<60){cont=omeg-50;cont2=5;cont3=0;}
if(omeg>=60 && omeg<70){cont=omeg-60;cont2=6;cont3=0;}
if(omeg>=70 && omeg<80){cont=omeg-70;cont2=7;cont3=0;}
if(omeg>=80 && omeg<90){cont=omeg-80;cont2=8;cont3=0;}
if(omeg>=90 && omeg<100){cont=omeg-90;cont2=9;cont3=0;}
if(omeg>=100 && omeg<110){cont=omeg-100;cont2=0;cont3=1;}
if(omeg>=110 && omeg<120){cont=omeg-110;cont2=1;cont3=1;}
if(omeg>=120 && omeg<130){cont=omeg-120;cont2=2;cont3=1;}
if(omeg>=130 && omeg<140){cont=omeg-130;cont2=3;cont3=1;}
if(omeg>=140 && omeg<150){cont=omeg-140;cont2=4;cont3=1;}
if(omeg>=150 && omeg<160){cont=omeg-150;cont2=5;cont3=1;}
if(omeg>=160 && omeg<170){cont=omeg-160;cont2=6;cont3=1;}
if(omeg>=170 && omeg<180){cont=omeg-170;cont2=7;cont3=1;}
if(omeg>=180 && omeg<190){cont=omeg-180;cont2=8;cont3=1;}
if(omeg>=190 && omeg<200){cont=omeg-190;cont2=9;cont3=1;}
if(omeg>=200 && omeg<210){cont=omeg-200;cont2=0;cont3=2;}
num(); num2(); num3();
}
else{
analogWrite(motor,0);
digitalWrite(dmotor,LOW);
digitalWrite(imotor,LOW);
cont=0;cont2=0;cont3=1;
num(); num2(); num3();
}
}
void num(){
switch(cont){
case 0:
digitalWrite(A5,LOW);digitalWrite(A4,LOW);digitalWrite(A3,LOW);digitalWrite(1,LOW);
break;
case 1:
digitalWrite(A5,HIGH);digitalWrite(A4,LOW);digitalWrite(A3,LOW);digitalWrite(1,LOW);
break;
case 2:
digitalWrite(A5,LOW);digitalWrite(A4,HIGH);digitalWrite(A3,LOW);digitalWrite(1,LOW);
break;
case 3:
digitalWrite(A5,HIGH);digitalWrite(A4,HIGH);digitalWrite(A3,LOW);digitalWrite(1,LOW);
break;
case 4:
digitalWrite(A5,LOW);digitalWrite(A4,LOW);digitalWrite(A3,HIGH);digitalWrite(1,LOW);
break;
case 5:
digitalWrite(A5,HIGH);digitalWrite(A4,LOW);digitalWrite(A3,HIGH);digitalWrite(1,LOW);
break;
case 6:
digitalWrite(A5,LOW);digitalWrite(A4,HIGH);digitalWrite(A3,HIGH);digitalWrite(1,LOW);
break;
case 7:
digitalWrite(A5,HIGH);digitalWrite(A4,HIGH);digitalWrite(A3,HIGH);digitalWrite(1,LOW);
break;
case 8:
digitalWrite(A5,LOW);digitalWrite(A4,LOW);digitalWrite(A3,LOW);digitalWrite(1,HIGH);
break;
case 9:
digitalWrite(A5,HIGH);digitalWrite(A4,LOW);digitalWrite(A3,LOW);digitalWrite(1,HIGH);
break;
}
}
void num2(){
switch(cont2){
case 0:
digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,LOW);
break;
case 1:
digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,LOW);
break;
case 2:
digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);
break;
case 3:
digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);
break;
case 4:
digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,LOW);
break;
case 5:
digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,LOW);
break;
case 6:
digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,HIGH);digitalWrite(5,LOW);
break;
case 7:
digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,HIGH);digitalWrite(5,LOW);
break;
case 8:
digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);
break;
case 9:
digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);
break;
}
}
void num3(){
switch(cont3){
case 0:
digitalWrite(6,LOW);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,LOW);
break;
case 1:
digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,LOW);
break;
case 2:
digitalWrite(6,LOW);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,LOW);
break;
case 3:
digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,LOW);digitalWrite(9,LOW);
break;
case 4:
digitalWrite(6,LOW);digitalWrite(7,LOW);digitalWrite(8,HIGH);digitalWrite(9,LOW);
break;
case 5:
digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,HIGH);digitalWrite(9,LOW);
break;
case 6:
digitalWrite(6,LOW);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,LOW);
break;
case 7:
digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,LOW);
break;
case 8:
digitalWrite(6,LOW);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,HIGH);
break;
case 9:
digitalWrite(6,HIGH);digitalWrite(7,LOW);digitalWrite(8,LOW);digitalWrite(9,HIGH);
break;
}
}