Ciao a tutti,
il mio codice deve:
Se la velocità del vento è minore di tot, accendere led verde e posizionare il motore passo-passo in base al risultato di alcuni calcoli (che variano a seconda di altre variabili).
Se la velocità del vento invece è maggiore, spegnere il led verde, accenderei il led rosso, posizionare il passo-passo a 90 gradi ed eccitare il relè per far scendere l'attuatore (che sale nel setup), e interrompere definitivamente il loop.
Così come l'ho scritto, se la velocità del vento è minore, esegue normalmente, se invece la velocità del vento supera la soglia, l'attuatore scende ma il passo-passo non si posiziona a 90 gradi, rimane dov'é. Commentando la parte che dà all'attuatore il comando di abbassarsi, il motore passo-passo funziona, e si posiziona come deve a 90 gradi; ovviamente al calare del vento la regolazione basata sui calcoli ricomincia.
Come posso far conciliare le due cose, con l'aggiunta di bloccare definitivamente il codice quando l'attuatore è sceso?
Grazie.
if(AWS < 9) {
digitalWrite(green_led, HIGH);
digitalWrite(red_led, LOW);
myStepper.run();
angle = AngleOfAttack*gear_ratio;
myStepper.moveTo(-angle/stepPerAngle);
} else {
digitalWrite(green_led, LOW);
digitalWrite(red_led, HIGH);
myStepper.run();
angle = 90*gear_ratio;
myStepper.moveTo(-angle/stepPerAngle);
retractActuator();
}