Press "Enter" to skip to content

LED 256 couleurs / Arduino

Le programme modifie les composantes RVB de la LED et balaie l’ensemble des 256 couleurs via une variable s’incrémentant de 1 à chaque boucle.

– Broche bleue de la LED et résistance 220ohm sur pin digital 11.
– Broche verte de la LED et résistance 220ohm sur pin digital 10.
– Broche rouge de la LED et résistance 220ohm sur pin digital 9.
– Broche d’alimentation de la LED sur pin Gnd (côté digital pin).
Caractéristique de la lED 256 couleurs:

int redPin   = 9;
int greenPin = 10;
int bluePin  = 11;

int redVal   = 255;
int greenVal = 1;
int blueVal  = 1;

int i = 0;   
int wait = 15;
int DEBUG = 1; // Choose 1 to see debug

void setup(){
  pinMode(redPin,   OUTPUT);
  pinMode(greenPin, OUTPUT);   
  pinMode(bluePin,  OUTPUT); 
  if (DEBUG){
    Serial.begin(9600);
  }
}

void loop(){
  i += 1;
  if (i < 255){
    redVal   -= 1;
    greenVal += 1; 
    blueVal   = 1;
  }else if (i < 509){
    redVal    = 1;
    greenVal -= 1; 
    blueVal  += 1;
  } else if (i < 763){
    redVal  += 1;
    greenVal = 1;
    blueVal -= 1;
  }else{
    i = 1;
  }  

  analogWrite(redPin,   255 - redVal);
  analogWrite(greenPin, 255 - greenVal); 
  analogWrite(bluePin,  255 - blueVal);  

//DEBUG retour
  if (DEBUG) {
    DEBUG += 1;
    if (DEBUG > 10) {
      DEBUG = 1;
      Serial.print(i);
      Serial.print("\t");
      Serial.print("R:");
      Serial.print(redVal);
      Serial.print("\t");
      Serial.print("G:");
      Serial.print(greenVal);
      Serial.print("\t");    
      Serial.print("B:");    
      Serial.println(blueVal);
    }
  }
  delay(wait);
}

Comments are closed.