Différences entre versions de « Ressources:Conversion de la lecture d’un potentiomètre en une valeur précise »

De wikilab
(Page créée avec « == Auteur == * Rédacteur du tutoriel : Yves Le Chevalier == Étapes pas à pas == Conversion de la lecture d’un potentiomètre en une valeur précise (Programmation).… »)
 
 
Ligne 20 : Ligne 20 :
 
calculer le coefficient proportionnel à celui-ci dans la plage de 0,2 à 2,3 pour une mesure
 
calculer le coefficient proportionnel à celui-ci dans la plage de 0,2 à 2,3 pour une mesure
 
lue de 1089.
 
lue de 1089.
float valeur maxi = 3300
+
* float valeur maxi = 3300
float coeff. min = 0,2
+
* float coeff. min = 0,2
float coeff. Max = 2,3
+
* float coeff. Max = 2,3
int mesure lue = 1089
+
* int mesure lue = 1089
float coefficient = ((1089 / 3300) * (2,3 – 0,2) + 0,2
+
float coefficient = ((1089 / 3300) * (2,3 – 0,2) + 0,2 soit (0,33 * 2,1) + 0,2
soit (0,33 * 2,1) + 0,2
+
* coefficient = 0,893
coefficient = 0,893
 
  
  

Version actuelle datée du 12 avril 2023 à 14:24

Auteur

  • Rédacteur du tutoriel : Yves Le Chevalier

Étapes pas à pas

Conversion de la lecture d’un potentiomètre en une valeur précise (Programmation).

Quand on veut convertir les valeurs mesurées sur un potentiomètre en une plage de valeur très précises, l’instruction map ne convient pas car elle ne permet que de le faire sur valeurs entières.


Si on veut obtenir des valeurs très précise il faut les déclarer en décimal (float).


Soit un potentiomètre dont les valeurs mesurées varient de 0 à «valeur maxi ». On veut obtenir un nombre décimal , « coeff. », correspondant précisément à la valeur lue qui est fonction de la position du potentiomètre. La formule est :

coeff = ((mesure lue / valeur maxi) * (coeff.max – coeff.min)) + coeff.min

Exemple, la lecture d’un potentiomètre sur un port analogique varie de 0 à 3300 et je veux calculer le coefficient proportionnel à celui-ci dans la plage de 0,2 à 2,3 pour une mesure lue de 1089.

  • float valeur maxi = 3300
  • float coeff. min = 0,2
  • float coeff. Max = 2,3
  • int mesure lue = 1089

float coefficient = ((1089 / 3300) * (2,3 – 0,2) + 0,2 soit (0,33 * 2,1) + 0,2

  • coefficient = 0,893