Bonsoir à tous!
Voilà, je vous explique.
Etant novice++ en la matière, je me suis attaqué au bandeau RGB via Xpl sur un Arduino Uno (qui fonctionne très bien d'ailleurs).
Maintenant, j'aimerais "fader" le changement de couleur et je ne sais pas comment m'y prendre.
J'ai bien essayé les RGB Crossfader du site Arduino, mais ca m'a conduit a du grand n'importe quoi 
Avez-vous des idées ou avez-vous déjà réalisé ce type de fonction?
Merciiii
Faire une interpolation linéaire entre les 2 couleurs.
Pour chacune des composantes RVB faire:
calculer un incrément
incrément = (niveau_départ - niveau_arrivée)/nombre_de_pas
on se trouve ainsi avec 3 incréments
Ensuite une boucle
for (i=0; i<nombre_de_pas;i++)
R+= incrément_rouge;
V+= incrément_vert;
B+= incrément_bleu;
afficherRVB(R,V,B);
Il va sans dire que les incréments sont des flottants. sinon l'interpolation n'a pas de sens.
Oui, le même principe que le crossfader du site Arduino. Mais je ne peux pas utiliser des float pour les incrémente sachant que ce sont des sortie pwm, si?
Les incréments sont des chiffres à virgule, mais le cumul est arrondi dans variables int R, G, B (de 0-255).
Ca va varier progressivement "en escalier" avec des marches parfois inégales mais on ne le verra pas.
Qu'on soit bien clair la conversion en int se fait dans l'appel de la fonction d'affichage. Les variables R, V, B sont flottantes et le reste sinon cela ne fonctionne pas
D'accord, merci beaucoup pour ces précisions! Cependant en essayant le code, le i par en vrille en donnant des valeurs aléatoires, comme si il n'y avait plus de mémoire. Il faudrait que je mette un memfree quelque part pour voir.
Si tu mettais ton code on gagnerait peut un peu de temps plutôt que de faire des spéculations dans le vide