Problema con codigo

Me ayudan a resolver porque no sirve mi codigo me parece que todo esta bn pero al conectar los sensores alos pines correctos solo se prende un motor porfavor alguien que me ayude

int sensor1 = 3;
int sensor2 = 4;
int motor1 = 6;
int motor2 = 5;
int val = 0;
int val2 = 0;
void setup()
{
pinMode(motor1,OUTPUT);
pinMode(motor2,OUTPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
}
void loop()
{
val=digitalRead(sensor1);
val2=digitalRead(sensor2);
if(val > 0 && val2 > 0)
{
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
}

else if(val < 0 && val2 > 0)
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
}

else if(val < 0 && val2 < 0)
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, HIGH);
}

else if(val > 0 && val2 < 0);
{
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
}
}

You are reading digital pins. Digital pins return values HIGH and LOW, they do not return values less than 0.

Estás leyendo los pines digitales. Retorno pines digitales valores HIGH y LOW, que no devuelven valores inferiores a 0.