Porte automatique pour poulailler

Bonjour,
j'ai réalisé une porte poulailler à guillotine, avec 2 fin de courses haut et bas, et le moteur est une foreuse sans fils.
Au niveau mécanique ça fonctionne très bien.
Pour la programmation c'est un Arduino uno.
détection nuit/ jour par une cellule photo-résistance.
le problème est que j'ai voulus ajouter une temporisation à la fermeture (qui fonctionne bien)
mais il y a un problème à l'ouverture: on dirait que il ne tient pas compte de la temporisation.

Pour le moment j'utilise une horloge pour retarder l'ouverture....
et j'ai mis des // dans mon programme, je pense que j'ai un problème de compréhention des if et else, ou des lignes de conditions en général
Voici le progamme

const char ledbleu = 2; // variable broche 2 (vraie), Une LED bleu  pour détection crépuscule, s'il fait sombre
const char fermeture = 7;  // variable pour broche 7 (vraie), pour fermer porte
const char capteur = 0; // broche A0 sur laquelle va être connecté le pont diviseur de tension

float tension = 0;             // variable qui va enregistrer la tension lue en sortie du capteur
float seuilObscurite = 4.2;    // valeur en V, seuil qui détermine le niveau auquel l'obscurité est présente
int x=0;
void setup()
        {
           // définition des broches utilisées
           pinMode(ledbleu, OUTPUT);
           pinMode(fermeture, OUTPUT);
           digitalWrite(ledbleu, HIGH);
           digitalWrite(fermeture, HIGH);
           Serial.begin(9600); // la voie série pour monitorer
        }
void loop()
{
    // conversion de cette valeur en tension
    tension = (analogRead(capteur) * 5.0) / 1024;

    if(tension >= seuilObscurite)  //Pour FERMETURE
          {
            x=x+1;
                 if (x==1)digitalWrite(ledbleu, LOW);               // detection seuil obscurité On allume la LED bleu         
                 if (x==1)delay(240000);                              // délai pour ne fermer porte que aprés 4 minutes ( 240 000)
                 x=2;     
             digitalWrite(fermeture, LOW);                           //  On ferme la porte apres x secondes
             digitalWrite(ledbleu, HIGH);                           // On éteint la LED bleu
          }     
    if(tension < seuilObscurite)  //Pour OUVERTURE
              {
                x=3;
                //Serial.print(" x=  ");
               //if (x==3)delay(240000);//délai pour ouvrir la porte que aprés 4 minutes
                if (x==3)digitalWrite(fermeture, HIGH); // on ouvre la porte
         x=0;
     }

    // délai pour ne prendre des mesures que toutes les 60-secondes (60 000)
    delay(60000);
    
                   //Serial.print(" x=  ");
                    Serial.println(x);
}