Bonjour, je sollicite votre attention car j'ai besoin d'un peu d'aide.
J'ai fais un programme pour faire tourner un moteur au bout d'un certains intervalle de temps et acquérir des valeurs de tension au bout d'un autre intervalle de temps.
Mon probleme c'est que mon loop() ne se fait qu'une fois, et c'est assez bizarre. Une fois que mon programme a effectué les deux fonctions conditionnelles, le programme s'arrete.
Voici mon programme :
const unsigned long intervalle_moteur=3000;
const unsigned long intervalle_voltmetre=4500;
unsigned long previousMillisMoteur=0;
unsigned long previousMillisVoltmetre=0;
float tension;
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT); //initialisation moteur voie B
pinMode(8,OUTPUT); //Initialisation frein voie B
}
void loop() {
unsigned long currentMillis = millis(); //recupere la valeur actuelle de millis()=temps du programme
if (currentMillis - previousMillisMoteur >= intervalle_moteur) {
previousMillisMoteur = currentMillis;
// cette partie fait tourner le moteur sur 7,5 degrés
digitalWrite(13, HIGH); //etablir la direction 'avant' voie B
digitalWrite(8, LOW); //désengage le frein voie B
analogWrite(11, 255); //fait tourner le moteur voie B : 255=plein regime
//indique le regime du moteur
delay(170);
digitalWrite(8, HIGH); //engage le frein voie B
}
//cette partie acquiert les valeurs de tension
if (currentMillis - previousMillisVoltmetre >= intervalle_voltmetre) {
previousMillisVoltmetre = currentMillis;
tension = 2*analogRead(A0)*(5.0/1023);
Serial.print("tension=");
Serial.println(tension);
delay(600000);
}
//delay(10);
}
Je vous remercie d'avance.