Comment utiliser la fonction de carte dans Arduino
La fonction de carte modifie la plage de la valeur donnée en une autre plage spécifiée donnée par l'utilisateur. En d'autres termes, il correspond à la valeur proportionnelle de la plage donnée, et nous pouvons appeler ce processus la scalarisation de la valeur. Pour utiliser cette fonction dans l'Arduino, vous devez suivre la syntaxe suivante:
map (valeur, fromlow, fromhigh, tolow, tohigh);
La fonction de carte a 5 arguments qui sont:
Valeur: Les données de type entier qui doivent être scalmarisées
De bas: Le nombre minimum de la plage actuelle de la valeur
De haut: Le nombre maximum de la plage actuelle de la valeur
Baisser: Le nombre minimum de la plage souhaitée à laquelle la valeur doit être mappée
Trop haut: Le nombre maximum de la plage souhaitée à laquelle la valeur doit être mappée
Exemple de code Arduino pour l'utilisation de la fonction de carte
Pour illustrer le fonctionnement de la fonction de carte, nous avons contrôlé la luminosité de la LED à l'aide du potentiomètre. Le but d'utiliser la fonction MAP dans cette application est que le potentiomètre est une valeur analogique, et nous ne pouvons pas déterminer la luminosité de la LED en regardant les valeurs du potentiomètre car sa valeur varie de 0 à 1023. Ainsi, pour scallariser la valeur dans la plage de 0 à 100, nous avons utilisé la fonction de carte et nous avons affiché les valeurs sur le moniteur série:
Voici l'exemple de code Arduino pour l'utilisation de la fonction MAP:
int pot = a0; / * broche analogique pour le potentiomètre pour le contrôle de la luminosité LED * /
int LED = 6; / * Définition de la broche LED pour Arduino * /
Int Value = 0; / * Déclarer la variable pour stocker la valeur du potentiomètre * /
int ledValue = 0; / * Variable qui stockera la valeur scalarisée du pot * /
void setup()
En série.commencer (9600);
PinMode (LED, sortie); / * Définition du mode de sortie pour LED * /
VOID LOOP ()
Value = analogread (pot); / * Obtenir la valeur du potentiomètre * /
LEDVALUE = MAP (valeur, 0, 1023, 0, 100); / * scallariser les valeurs analogiques dans la plage de 0 à 100 * /
Analogwrite (LED, LEDValue); / * attribuer les valeurs scalarisées à la LED * /
En série.print ("Valeur non cartographiée:");
En série.imprimer (valeur); // imprimer les valeurs de pot dans le moniteur série
En série.println (""); // ajouter de l'espace pour organiser les données
En série.print ("Valeur mappée:");
En série.print (LEDVALUE); / * Affichage de la valeur scalarisée attribuée à LED * /
En série.print ("%"); / * Afficher le signe de la filiation * /
En série.println (""); // ajouter de l'espace pour organiser les données
Dans le code, vous pouvez voir que nous avons donné la valeur actuelle du potentiomètre et la plage actuelle au potentiomètre qui est de 0 à 1023 (analogique) et nous avons également donné à la plage de 0 à 100 dans laquelle les valeurs doivent être cartographié.
Vous pouvez cartographier les valeurs dans n'importe quelle plage car il n'y a pas de limite ou de conditions pour scallariser la valeur. Nous avons scalmarisé la valeur en 0 à 100 pour nous faire savoir la valeur de la luminosité en pourcentage. Voici la sortie de notre code dans le moniteur en série de l'ide Arduino:
Comme vous pouvez le voir dans l'image ci-dessus lorsque la valeur analogique est 1023, la valeur mappée sera de 100 et que la valeur analogique est diminuée, la valeur mappée diminue également.
Conclusion
La fonction principale de la carte () est de scallariser ou de cartographier les valeurs données d'une plage à une autre plage souhaitée. Dans le but d'illustrer le fonctionnement de la fonction MAP, nous avons donné l'exemple de code d'Arduino qui convertit les valeurs analogiques du potentiomètre utilisées pour contrôler la luminosité de la LED dans la plage de 0 à 1023 à 0 à 100.