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

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 ?? :)



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


arduino

Comments

Popular posts from this blog

DHT11 Time out error using v0.4.1library

Sketch upload fails with Java error (___REMOVE___/bin/avrdude)!

Arduino Uno + KTY81/210 temperature sensor