map()
Description
Ré-étalonne un nombre d'une fourchette de valeur vers une autre fourchette. Ainsi, une valeur basse source sera étalonnée en une valeur basse de destination, une valeur haute source sera étalonnée en une valeur haute de destination, une valeur entre les deux valeurs source sera étalonnée en une valeur entre les deux valeurs destinations, en respectant la proportionnalité. Cette fonction est très utile pour effectuer des changements d'échelle automatiques.
Cette fonction ne contraint pas les valeurs à rester dans les limites indiquées, car les valeurs en dehors de la fourchette sont parfois attendues et utiles. L'instruction constrain() doit être utilisée également avant ou après cette fonction, si les limites de la fourchette utilisée doivent être respectées.
Noter que la limite basse de chaque fourchette peut être supérieure ou inférieure à la limite haute, dès lors l'instruction map() peut être utilisée pour inverser l'ordre des valeurs, par exemple :
Cette instruction supporte également des valeurs négatives, tel que dans cet exemple :
Cette utilisation est aussi valide et fonctionne normalement.
L'instruction map() utilise des valeurs entières qui ne peuvent fournir les décimales, alors que les calculs le devraient. La partie décimale est tronquée, et les valeurs ne sont pas arrondies ou moyennées.
Syntaxe
Paramètres
- valeur: le nombre à ré-étalonner
- limite_basse_source: la valeur de la limite inférieure de la fourchette de départ
- limite_haute_source: la valeur de la limite supérieure de la fourchette de départ
- limite_basse_destination: la valeur de la limite inférieure de la fourchette de destination
- limite_haute_destination: la valeur de la limite supérieure de la fourchette de destination
Valeurs Renvoyées
- La valeur ré-étalonnée
Exemple
※ Remarque:
- Pour les férus de mathématiques, voici la fonction entière et le calcul réalisé par l'instruction map() :
- The map() function returns an integer number. If you want to get the float number, you need to put the below custom function in your sketch and use it:
- Or
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |