OK, tu fais un test qui actionne une seule fois, donc à chaque fois que le test est validé, il faut attendre le changement d'état pour agir de nouveau.
En C,, attendre = while :
void loop(){
valeur = analogRead(capteur1);
if (valeur > 500){
action_moteur(horaire);
while (valeur > 500){ // tant que >500, boucler, tourner en rond.
valeur = analogRead(capteur1);
}
} else { // sous-entendu "pas >500"
action_moteur(anti_horaire);
while (!(valeur > 500)){ // tant que pas >500, boucler, tourner en rond.
valeur = analogRead(capteur1);
}
}
}
Ceci dit, ça marche, mais c'est pas beau. Je te propose de trouver et nous dire pourquoi c'est pas beau, un petit exercice entre deux oeufs en chocolat ne te fera pas de mal
Ca t'orientera peut-être vers une autre façon de gérer la chose.