Gérer le temps

Portrait de val12

Bonjour, voila j'ai un capteur qui me donne un état haut (5v) pendant 1 ou 2 min. Je souhaite acquérir cette information avec une carte arduino, Si l'état haut dure 1 min piloté un relais et si l'état haut dure 2 min piloter un deuxième relais.  J'avais pensé a crée une pause de 1 min 30 après la détection du signal, si le signal était toujours haut activer mon relais 2 sinon mon relais 1.

Le code ci joint ne fonctionne pas ... Qu'en pensez vous ? Merci beaucoup ! ;)

const int capteur = 0; // pin connecté à la sortie digital du capteur
const int monte = 1; // sens moteur 1
const int descend = 2; // sens moteur 2

void setup()
{
  pinMode(capteur, INPUT);
  pinMode(monte, OUTPUT);
  pinMode (descend, OUTPUT) ;
}

void loop()
{
if(digitalRead(capteur) == HIGH)
  { delay (90000) ; // pause 1min30
  }

  else if (digitalRead(capteur) == HIGH)
    { pinMode (monte, HIGH) ;
      pinMode (descend, LOW) ;
    
  }
else
  {
    pinMode (descend, HIGH);
     pinMode (monte, LOW); 
  }
}

Portrait de Alex

J'aborderai très bientôt le module RTC, il répondra très bien à ton problème. ;)