infobarquee:
bonjour,
tu mets une variable en plus qui prend une valeur styleint valid = 0;
....
....
.....
if (lum1 > 500 && valid == 0)
{
digitalWrite(monter, HIGH);
digitalWrite(descendre, LOW);
MoteurAccelerationPWM();
valid = 1;
}
if (lum1 < 500 && valid ==1 ) // Si lecture est inférieur a 500 le moteur descend en ralentissant.
{
digitalWrite(monter,LOW);
digitalWrite(descendre, HIGH);
MoteurDescelerationPWM();
valid = 0;
}
Merci, ça ne fonctionner pas comme tel, la boucle ce bouclée toujours, j'ai donc modifié mes fonctions pour donner ça :
void MoteurAccelerationPWM()
{
// Acceleration
for( int i = 80; i<= 90; i++ )
{
analogWrite( onOff, i );
delay(50); // delay pour avoir un progression
digitalWrite(onOff, LOW); // arrête le moteur a la fin de l'action
}
Sans le digitalWrite(onOff, LOW); a la fin, ça tourne en boucle ![]()