rapport de valeur entre 2 variables
bonjour tout le monde,
pour un projet au lycée j'ai du créer un programme qui devait allumer une led différente selon la position d'un potentiomètre.
maintenant j'aimerai modifier le programme pour faire que les leds diminuent et augmentent leur luminosité en fonction de la position du potentiomètre, c'est plus joli que de faire un changement brusque de led.
mon programme est donc découpé en 16 boucle 'if' pour 8 leds (8 pour augmenter la luminosité et 8 pour la réduire).
mon potentiomètre qui fourni 1023 est donc découpé en parties de 64 mais je n'arrive pas à trouver un rapport de grandeur par rapport aux 255 de la luminosité.
je sais que 1023 = 4*64-1 mais chaque partie possède 64 des 1023 donc 1023 à 959 puis 959 à 895 etc.
si quelqu'un pouvait me donner une technique pour que dans chaque partie l'intensité lumineuse puisse varier de 0 à 255 et inversement, ou me donner une autre façon de faire le programme je lui en serai reconnaissant.
edit: je me suis servi de ce site pour m'aider http://wiki.labaixbidouille.com/index.php/modifier_l%27intensit%c3%a9_lumineuse_d%27une_led
pour un projet au lycée j'ai du créer un programme qui devait allumer une led différente selon la position d'un potentiomètre.
maintenant j'aimerai modifier le programme pour faire que les leds diminuent et augmentent leur luminosité en fonction de la position du potentiomètre, c'est plus joli que de faire un changement brusque de led.
mon programme est donc découpé en 16 boucle 'if' pour 8 leds (8 pour augmenter la luminosité et 8 pour la réduire).
mon potentiomètre qui fourni 1023 est donc découpé en parties de 64 mais je n'arrive pas à trouver un rapport de grandeur par rapport aux 255 de la luminosité.
je sais que 1023 = 4*64-1 mais chaque partie possède 64 des 1023 donc 1023 à 959 puis 959 à 895 etc.
si quelqu'un pouvait me donner une technique pour que dans chaque partie l'intensité lumineuse puisse varier de 0 à 255 et inversement, ou me donner une autre façon de faire le programme je lui en serai reconnaissant.
edit: je me suis servi de ce site pour m'aider http://wiki.labaixbidouille.com/index.php/modifier_l%27intensit%c3%a9_lumineuse_d%27une_led
c'est peut-être un peu tôt pour vous au niveau mathématiques mais pensez à une courbe de gauss
elle une forme caractéristique de courbe en cloche
avec des coefficients bien choisis en fonction du no de la led et de votre domaine (x entre 0 et 1023, y entre 0 et 255) vous pouvez fabriquer une fonction qui pour une valeur donnée du potentiomètre x vous donnera une valeur de la led qui sera entre 0 et 255.
par exemple pour la led 0, vous voulez que le sommet de la cloche (255) soit centré sur x = 0 (quand le potentiomètre est à 0, la led brille au max) puis quand vous augmentez la valeur du potentiomètre (x augmente) la luminosité de votre diode va suivre la courbe descendante de la cloche pour aller vers 0 et donc s'éteindre.
pour la led1 vous prenez une courbe en cloche similaire mais décalée pour qu'elle brille à fond quand le potentiomètre (x) est plus grand --> comme ça quand le potentiomètre x vaut 0 elle est sur la trajectoire montante de la courbe en cloche, quand vous arrivez à la bonne valeur du potentiomètre pour la led1 il faut que vous soyez au sommet de la cloche (255) et quand vous allez continuer à augmenter la valeur du potentiomètre vous allez descendre de l'autre côté de la courbe en cloche et donc votre led va briller moins fort jusqu'à s'éteindre.
par exemple voici (sous geogebra, je suppose que vous avez déjà utilisé cela pour l'école) le tracé de la fonction mathématique


vous voyez que la cloche est centrée en 400, qu'elle une amplitude de 255.
le coefficient 20 (en fait 20/1000) va jouer sur la largeur de la cloche. plus il est grand plus la cloche sera "pointue", ici par exemple avec 30. vous voyez que quand x vaut 350, y vaut toujours ~25 alors qu'il valait ~75 avant

ça vous donne des idées ??
elle une forme caractéristique de courbe en cloche
avec des coefficients bien choisis en fonction du no de la led et de votre domaine (x entre 0 et 1023, y entre 0 et 255) vous pouvez fabriquer une fonction qui pour une valeur donnée du potentiomètre x vous donnera une valeur de la led qui sera entre 0 et 255.
par exemple pour la led 0, vous voulez que le sommet de la cloche (255) soit centré sur x = 0 (quand le potentiomètre est à 0, la led brille au max) puis quand vous augmentez la valeur du potentiomètre (x augmente) la luminosité de votre diode va suivre la courbe descendante de la cloche pour aller vers 0 et donc s'éteindre.
pour la led1 vous prenez une courbe en cloche similaire mais décalée pour qu'elle brille à fond quand le potentiomètre (x) est plus grand --> comme ça quand le potentiomètre x vaut 0 elle est sur la trajectoire montante de la courbe en cloche, quand vous arrivez à la bonne valeur du potentiomètre pour la led1 il faut que vous soyez au sommet de la cloche (255) et quand vous allez continuer à augmenter la valeur du potentiomètre vous allez descendre de l'autre côté de la courbe en cloche et donc votre led va briller moins fort jusqu'à s'éteindre.
par exemple voici (sous geogebra, je suppose que vous avez déjà utilisé cela pour l'école) le tracé de la fonction mathématique
vous voyez que la cloche est centrée en 400, qu'elle une amplitude de 255.
le coefficient 20 (en fait 20/1000) va jouer sur la largeur de la cloche. plus il est grand plus la cloche sera "pointue", ici par exemple avec 30. vous voyez que quand x vaut 350, y vaut toujours ~25 alors qu'il valait ~75 avant
ça vous donne des idées ??

Arduino Forum > International > Français (Moderators: jfs, Snootlab) > rapport de valeur entre 2 variables
arduino
Comments
Post a Comment