error al pasar de alimentar de pc a fuente externa

buenos días, les cuento mi problema estoy desarrollando un proyecto en donde un modulo relevador controla el sentido de giro de un motor de 12v, el cual se activa y desactiva por medio de 2 finales de carrera, el asunto es que mientras alimento al arduino con el puerto usb de mi laptop todo funciona de acuerdo a mi codigo, pero una vez que alimento al arduino ya sea con un cargador de celular u otra fuente externa los puertos que van a los finales de carrera me mandan señal con el simple hecho de poner un cable sin alimentación o empieza a saltarse pasos, no se que problema pueda existir.

mi codigo:

int rele1=1;
int rele2=2;
int sensor1=8;
int sensor2=9;
int val;
void setup() {
pinMode (rele1, OUTPUT);
pinMode (rele2, OUTPUT);
pinMode (sensor1, INPUT);
pinMode (sensor2, INPUT);
digitalWrite (rele1, HIGH);
digitalWrite (rele2, HIGH);
}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite (rele1, LOW);
digitalWrite (rele2, HIGH);
if (digitalRead(sensor1)==HIGH){
digitalWrite (rele1, HIGH);
val=1;
delay(5000);
while(val==1){
digitalWrite (rele1, HIGH);
if (digitalRead(sensor2)==HIGH){
digitalWrite (rele2, HIGH);
val=2;
}
}
}
}

Por favor lee las Normas del foro y edita tu post usando etiquetas de código

Nada dices de cómo tienes cableados los pines que usas como entradas donde están conectados los finales de carrera?
Pines 8 y 9.