Salut à tous,
J'utilise une fonction constrain() pour limiter une valeur que je doit envoyer à mon moteur (moins que 1150 ou plus que 2100 et il s'arrête de tourner) .
J'utilise
constrain(m1, 1150, 2100);
Sauf que ... la fonction ne fait rien. Je pourrais la recréer moi même mais bon... Si une solution existe
bon ... en faisant quelque test, j'ai trouvé un truc vraiment bizzard :
avec ce code
int y = 0;
void setup() {
Serial.begin(9600);
}
void loop()
{
y++;
Serial.println(y);
}
L'arduino (mkr1000) me renvoi une valeur qui s'incrémente, mais qui commence à une valeur aléatoire (enfin pas vraiment, vu que sur 5 test j'ai eu 20000, 60000, 80000, 100000, 50000, bien sur les valeurs n'était pas ronde, mais je ne me souvient plus du chiffre exact) malgré le int x =0;
Et, évidement, en rajoutant le constrain(y, 0, 10); rien ne change.
C'est une des choses que je reproche à la référence arduino sur ce site (peut être dans un soucis de simplification), c'est qu'il n'y a généralement aucune info sur le type des paramètres ni sur le type retourné.