Fehler bei Code für Luftfahrwerksteuerung

Zwei StateMachine.
Nicht mehr und nicht weniger.
ABER!
Du hast sowas drin:

    if (results.value == 16724175)
    {
      if (voltage < 1.6)
      {
        digitalWrite (8, HIGH);
        Serial.println ("Auf vorne");
        delay(500);
        irrecv.resume();
      }
    }
  }
  if (results.value == 16724175)
  {
    if (voltage1 < 1.6)
    {
      digitalWrite (7, HIGH);
      Serial.println ("Auf hinten");
      delay(500);
      irrecv.resume();
    }
  }
  if (voltage > 1.6)
  {
    Serial.println ("OK vorne");
    digitalWrite(8, LOW);
    delay(500);
  }
  if (voltage1 > 1.6)
  {
    Serial.println ("OK hinten");
    digitalWrite(7, LOW);
    delay(500);
  }

Das wird nischt.
Du fragst zweimal auf 16724175 ab - allerdings ist das Erste noch nach der Abfrage, ob überhaupt Daten vorhanden sind.
Das zweite Mal ist .resume() schon gelaufen.
Und Du trennst die Aktionen nicht sauber.

Und spätestens hier:

 if (results.value == 16738455)
  {
    if (voltage > 1.6)
    {
      digitalWrite (9, HIGH);
      Serial.println ("Ab vorne");
      delay(500);
      irrecv.resume();
    }
    if (voltage < 0.3)
    {
      Serial.println (voltage);
      digitalWrite(9, LOW);
      delay(500);
    }
    if (results.value == 16738455)

ist Schluß.

Wenn Du das mit Tasten schon mal hattest, dann würde ich mich darüber sehr freuen es zu sehen.
Und ja, dann bau ich dazu was.