Bonsoir à tous chers RobotMakersiens,
Petite question pour vous !!! j'essaie de comprendre la fonction MAP de chez ARDUINO (fonction MAP) avant de l'implémenter dans un autre programme qu'ARDUINO, mais je n'arrive pas me représenter la fonction mathématique de celle-ci.
J'ai essayé de me représenter ça avec une échelles de départ suivante 0 à 10 et de 0 à 20 pour la deuxième avec un valeur de départ de 5 --> pour moi la valeur que je devrais logiquement obtenir est 10, mais non, la c'est de 3.333
J'ai surement rien compris, mais un petite explication de votre part, si vous avez compris, je suis pas contre...
Un tout grand merci de me lire
Au plaisir de découvrir vos réactions
Amicalement - le cht'y Philou
fonction MAP Arduino
Débuté par philou-RX, mars 07 2014 11:59
2 réponses à ce sujet
#2
Posté 08 mars 2014 - 11:12
Syntaxe à utiliser : map(value, fromLow, fromHigh, toLow, toHigh)
Donc pour passer de [0-10] vers [0-20] la valeur 5, on fera : map(5, 0, 10, 0, 20)
Donc pour passer de [0-10] vers [0-20] la valeur 5, on fera : map(5, 0, 10, 0, 20)
Christian
#3
Posté 31 mars 2014 - 01:04
hello Christian, Hello A tous pour ceux qui laisse ce message,
Sorry pour ma réponse tardive !!!
Comme je voulais implémenter la fonction MAP (Arduino) sur un autre uC, je voulais comprendre l’équation décrite (voir #1), mais c'est une erreur de syntaxe que j'ai commis dans la formule suivante :
(1) return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_max;
(2) return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
Cherchez l'erreur, et oui j'ai pris out_max au lieu de out_min, grrrrr. Mais avec l'aide d'autre info j'ai repris l'explication théorique... voir prochainement mon gribouillis... et voilà l'équation 2 marche très bien
A tout bientôt !
Amicalement - le cht'y Philou
Sorry pour ma réponse tardive !!!
Comme je voulais implémenter la fonction MAP (Arduino) sur un autre uC, je voulais comprendre l’équation décrite (voir #1), mais c'est une erreur de syntaxe que j'ai commis dans la formule suivante :
(1) return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_max;
(2) return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
Cherchez l'erreur, et oui j'ai pris out_max au lieu de out_min, grrrrr. Mais avec l'aide d'autre info j'ai repris l'explication théorique... voir prochainement mon gribouillis... et voilà l'équation 2 marche très bien
A tout bientôt !
Amicalement - le cht'y Philou
Amicalement PHILOU
QUI a BU, BOIRA !!! VU euh non BU! alcoolique non, assoiffé OUI^^ :|
0 utilisateur(s) li(sen)t ce sujet
0 members, 0 guests, 0 anonymous users