[Débutant] Problème LED RGB

Bonjour,

Je débute en programmation et je veux faire varier de couleur ma LED RGB grâce aux PINs PWM (passer du rouge au vert puis du vert au bleu puis du bleu au rouge de manière fluide).

J’ai bien branché mes broches aux PINs PWM avec une résistance de 220 Ohm en série pour chaque broche.
J’ai essayé d’écrire un code mais pour l’instant, la LED commence au rouge (comme prévu) puis passe au vert (comme prévu également) puis revient directement au rouge.

Voici ce que j’ai tapé :

void setup() {
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}

void loop() {

int redValue = 255;
int greenValue = 0;
int blueValue = 0;
int i;

for(i == 0; i < 255; i++){
  redValue -= 1;
  greenValue += 1;
  analogWrite(3, redValue);
  analogWrite(5, greenValue);
  delay (10);
  }

redValue = 0;
greenValue = 255;
blueValue = 0;
 
for(i == 0; i < 255; i++){
  greenValue -= 1;
  blueValue += 1;
  analogWrite(5, greenValue);
  analogWrite(6, blueValue);
  delay(10);
 }


redValue = 0;
greenValue = 0;
blueValue = 255;

for(i == 0; i < 255; i++){
  blueValue -= 1;
  redValue += 1;
  analogWrite(3, redValue);
  analogWrite(6, blueValue);
  delay(10);
 }
}

Pourriez-vous m’aider à trouver les erreurs ?

Merci d’avance pour vos réponses.

hello
teste ce code
il pourrais etre plus direct, j’ai volontairement laissé ta façon de faire pour que tu t’y retrouves

int redValue = 255;
int greenValue = 0;
int blueValue  = 0;
int i;

void setup() {
  pinMode(3,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}

void loop() {
for(i == 0; i < 255; i++){
  redValue =i;
  greenValue=0;
  blueValue=0;
  analogWrite(3, redValue);
  analogWrite(5, greenValue);
  analogWrite(6, blueValue);
  delay (10);
  }
for(i == 0; i < 255; i++){
  redValue =0;
  greenValue=i;;
  blueValue=0;
  analogWrite(3, redValue);
  analogWrite(5, greenValue);
  analogWrite(6, blueValue);
  delay (10);
 }
for(i == 0; i < 255; i++){
  redValue =0;
  greenValue=0;;
  blueValue=i;
  analogWrite(3, redValue);
  analogWrite(5, greenValue);
  analogWrite(6, blueValue);
  delay (10);
 }
}

Merci pour ta réponse !

Si je prend ton code tel qu'il est, la LED passe juste de éteinte à progressivement rouge mais reste rouge.

J'ai testé en changeant les variables des for à chaque fois (en prenant int i,j,k). Avec ça, la LED fait : éteinte puis rouge puis éteinte puis verte puis éteinte puis bleu.

Je pense que je peux me débrouiller à partir de là merci !