Problema con ''else''

Tengo un pequeño problema con la sentecia if else, ya que quiero conectar
2 sensores infrarrojos a 2 Motores(1 en cada sensor)
pero me marca que tengo que poner un If cuando pongo el ''else''

# define sensor1 3
# define sensor2 4
# define ai2 7
# define ai1 8
# define bi2 9
# define bi1 10

int SensorI = 0;
int SensorD = 0;

void setup() {
  
  pinMode(sensor1, INPUT);
  pinMode(sensor2, INPUT);
  pinMode(ai2, OUTPUT);
  pinMode(ai1, OUTPUT);
  pinMode(bi2, OUTPUT);
  pinMode(bi1, OUTPUT);
  
}

void loop() {
digitalWrite(ai2,LOW);
digitalWrite(ai1,LOW);
digitalWrite(bi2,LOW);
digitalWrite(bi1,LOW);


SensorI = digitalRead(sensor1);
SensorD = digitalRead(sensor2);

{
if (SensorI == HIGH);
{
digitalWrite(ai2,LOW);
digitalWrite(ai1,LOW);
}
else
{
digitalWrite(ai2,HIGH);
digitalWrite(ai1,HIGH);
}

}
}

Tienes un punto y coma de sobra:

if (SensorI == HIGH);

Con lo cual el estamento se considera terminado, y el "else" se queda huerfano sin "if".

# define sensor1 3
# define sensor2 4
# define ai2 7
# define ai1 8
# define bi2 9
# define bi1 10

int SensorI = 0;
int SensorD = 0;

void setup() {

  pinMode(sensor1, INPUT);
  pinMode(sensor2, INPUT);
  pinMode(ai2, OUTPUT);
  pinMode(ai1, OUTPUT);
  pinMode(bi2, OUTPUT);
  pinMode(bi1, OUTPUT);

}

void loop() {
  digitalWrite(ai2, LOW);
  digitalWrite(ai1, LOW);
  digitalWrite(bi2, LOW);
  digitalWrite(bi1, LOW);


  SensorI = digitalRead(sensor1);
  SensorD = digitalRead(sensor2);

  if (SensorI == HIGH)
  {
    digitalWrite(ai2, LOW);
    digitalWrite(ai1, LOW);
  }
  else
  {
    digitalWrite(ai2, HIGH);
   digitalWrite(ai1, HIGH);
  }


}

Porque haces los 4 digitalWrite al principio del loop?

Es obsoleto, y demás provoca un microcorte cuando el sensor esta low. Ya casi un pwm.

Porque no se dió cuenta y pensó que lo puso en el setup y le quedó mal. Supongo que es la explicación mas lógica pero tienes razón con la observación ElEspanol.