Cependant, j'aimerais changer la durée des ouvertures/fermetures, je voudrais que le moteur gauche s'ouvre de 0 à 16 secondes puis le relais pour le moteur gauche s'arrête et enfin pour le moteur droit, une ouverture de 3 à 19 secondes puis le relais pour le moteur droit s'arrête.
Alors oui j'ai essayé de changer les valeurs dans le code sous cette forme :
if (( millis() - tempo1 ) >= 0 and ( millis() - tempo1 ) <= 16000) //modification pour le gauche
[...]
(( millis() - tempo1 ) >= 3000 and ( millis() - tempo1 ) <= 19000) //modification pour le droit
Mais ce n'est pas pris en compte, ils marchent toujours sous 20 secondes du coup les moteurs forcent contre les butées...
Il y a la solution des fins de course mais je ne peux en mettre. Je souhaite juste modifier le temps de l'instruction.
Bonjour,
Cela faisait partie du programme original (qui marchait bien).
Je viens de changer les and en && et même problème...
J'ai également essayé de mettre des delay() mais sans succès également..
ça donne ça actuellement : (programme complet dans le poste de l'auteur)
// Mise en fonction des moteurs (portail)
if ( tempoMoteur == 1 ) {
if (( millis() - tempo1 ) >= 0 && ( millis() - tempo1 ) <= 16000) { //Moteur de Gauche de 0 a 20 Secondes
if (flipflop == 0 ) {
digitalWrite(in1, LOW);
digitalWrite(in5, LOW);
}
else {
if (porte1 == 1) {
digitalWrite(in4, LOW);
digitalWrite(in8, LOW);
}
else {
digitalWrite(in2, LOW);
digitalWrite(in6, LOW);
}
}
}
if (( millis() - tempo1 ) >= 3000 && ( millis() - tempo1 ) <= 20000 && (porte1 == 0)) { // Moteur de Droite de 3 a 20 Secondes
if (flipflop == 0 ) {
digitalWrite(in3, LOW);
digitalWrite(in7, LOW);
}
else {
digitalWrite(in4, LOW);
digitalWrite(in8, LOW);
}
}
if (( millis() - tempo1 ) >= 20000) { // Arret des Moteurs apres 20 secondes
digitalWrite(in1, HIGH); // Arret des relais
digitalWrite(in2, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in4, HIGH);
digitalWrite(in5, HIGH);
digitalWrite(in6, HIGH);
digitalWrite(in7, HIGH);
digitalWrite(in8, HIGH);
porte1 = 0;
tempoMoteur = 0;
bloqueB = 0;
}
}