probleme utilisation des fonctions

Tu peux simplifier la loop :

void loop() {
  tvoltage1 = analogRead(A0);
  temperature1 = ((0.390625) * tvoltage1);
  tvoltage2 = analogRead(A1);
  temperature2 = ((0.390625) * tvoltage2);
  Serial.print("la température 1 : ");
  Serial.println(temperature1);
  Serial.print("la température 2 : ");
  Serial.println(temperature2);

  if (digitalRead(9) != LOW)
  {
    digitalWrite(MOTEURBR, LOW);
    digitalWrite(RESISTANCE1, LOW);
    digitalWrite(RESISTANCE2, LOW);
    digitalWrite(MOTEUREX, LOW);
  }
  else if (digitalRead(1) != LOW)
  {
    Serial.print("boucle1");
    if (temperature1 < consigne1) digitalWrite(RESISTANCE1, HIGH);
    else if (temperature1 > consigne1) digitalWrite(RESISTANCE1, LOW);
    if (temperature2 < consigne2) digitalWrite(RESISTANCE2, HIGH);
    else if (temperature2 > consigne2) digitalWrite(RESISTANCE2, LOW);
  }
  else if (digitalRead(2) != LOW)
  {
    Serial.print("boucle2");
    if (temperature1 < consigne1) digitalWrite(RESISTANCE1, HIGH);
    else if (temperature1 > consigne1) digitalWrite(RESISTANCE1, LOW);
    if (temperature2 < consigne2) digitalWrite(RESISTANCE2, HIGH);
    else if (temperature2 > consigne2) digitalWrite(RESISTANCE2, LOW);
  }
  else if (digitalRead(3) != LOW)
  {
    Serial.print("boucle3");
    if (temperature1 < consigne3) digitalWrite(RESISTANCE1, HIGH);
    else if (temperature1 > consigne3) digitalWrite(RESISTANCE1, LOW);
    if (temperature2 < consigne4) digitalWrite(RESISTANCE2, HIGH);
    else if (temperature2 > consigne4) digitalWrite(RESISTANCE2, LOW);
  }
  else if (digitalRead(8) != LOW)
  {
    Serial.print("boucle4");
    if (temperature1 < consigne3) digitalWrite(RESISTANCE1, HIGH);
    else if (temperature1 > consigne3) digitalWrite(RESISTANCE1, LOW);
    if (temperature2 < consigne4) digitalWrite(RESISTANCE2, HIGH);
    else if (temperature2 > consigne4) digitalWrite(RESISTANCE2, LOW);
  }
  else
  {}
  delay(5000);
}

Pas besoin de parenthèses dans les tests, et si une seule instruction sur un test pas besoin d'accolades.
Je pense que c'est un problème de timing : à quoi sont reliées les broches 1, 2, 3 et 8 ? Si ce sont des boutons poussoirs, il peut y avoir des effets de rebond.

Essaye d'ajouter des delay (100); (par exemple, peut-être plus que 100) avant la fin de chaque if :

  if (digitalRead(9) != LOW)
  {
    digitalWrite(MOTEURBR, LOW);
    digitalWrite(RESISTANCE1, LOW);
    digitalWrite(RESISTANCE2, LOW);
    digitalWrite(MOTEUREX, LOW);
    delay(100);
  }