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