PWM Styring af RGB LED

Hej Brian.
Du kan jo starte med at lege med kommandoen analogWrite(pin, value);

Her er et eksempel på hvordan du kan styre din RGB diode ved at koble dioden til pin 3, 5 og 6:

#define RedPin 3
#define GreenPin 5
#define BluePin 6

byte RedValue, GreenValue, BlueValue = 0;
byte currentSerialPos = 0;

void setup()
{
  pinMode(RedPin, OUTPUT);
  pinMode(GreenPin, OUTPUT);
  pinMode(BluePin, OUTPUT);
  Serial.begin(9600);
}  

void loop()
{
  if (Serial.available() > 0) {
    switch (currentSerialPos) {
      case 0:
        RedValue = Serial.read();
        currentSerialPos = 1;
        break;
      case 1:
        GreenValue = Serial.read();
        currentSerialPos = 2;
        break; 
      case 2:
        BlueValue = Serial.read();
        currentSerialPos = 0;
        break;   
    }
  }    
  analogWrite(RedPin, RedValue);
  analogWrite(GreenPin, GreenValue);
  analogWrite(BluePin, BlueValue);    
}

Den her kode er hurtigt smækket sammen, og derfor ikke testet. Men den burde virke ved at du sender 3 bytes - R, G, B (OBS, ikke decimal) til seriel porten, hvorefter rgb-dioden skifter farve til disse bytes!
Fx for at få gul, sendes: 0xFF 0xFF 0x00

Med Venlig Hilsen
Thomas Jespersen