Stap 4: De schets
Deze sketch is geschreven voor de 2553-chip. Andere chips ondersteunen configuraties met verschillende pin.Het aantal beschikbare timers en PWM is niet hetzelfde van chip naar chip.
//
Merk op dat als u de XIN en XOUT gevuld met een kristal of oscillator hebt, kunt u niet gebruiken
PIN P2_6 voor het rood van de RGB. De witte LED weglaten en zet de rode op pin P2_1 en
de juiste (s) in de tekening wijzigen.
//
Dit zijn de pinnen van de PWM die ik gebruikte. Ze zijn niet op de dezelfde timer,
dus niet alle kleurencombinaties zijn gelijktijdig beschikbaar voor PWM. Alle primaire
combinaties zijn beschikbaar voor volledige OFF en vol op (digitale hoog en laag, maar niet PWM).
//
Als dit wordt gebruikt voor de Arduino, moet de pinnen zeker hertoewijzing.
#define P2_4 groen
#define P1_6 blauw
#define rode P2_6
#define P2_1 WHITE
#define delayTime 10
VOID Setup {}
pinMode (groen, uitvoer);
pinMode (blauw, uitvoer);
pinMode (rood, uitvoer);
pinMode (witte, uitvoer);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
digitalWrite (rood, laag);
digitalWrite (wit, laag);
}
int redVal;
int blueVal;
int greenVal;
void loop
{
delay(250);
redVal = 0;
blueVal = 0;
greenVal = 0;
for (int i = 255; ik > 0; ik-= 1) {}
redVal += 1;
analogWrite (rood, redVal);
analogWrite (blauw, blueVal);
analogWrite (groen, greenVal);
vertraging (delayTime);
}
redVal = 0;
greenVal = 0;
for (int i = 0; ik < 255; ik += 1) {}
greenVal += 1;
analogWrite (groen, greenVal);
analogWrite (rood, redVal);
vertraging (delayTime);
}
greenVal = 0;
blueVal = 0;
for (int i = 0; ik < 255; ik += 1) {}
blueVal += 1;
analogWrite (blauw, blueVal);
analogWrite (groen, greenVal);
vertraging (delayTime);
}
digitalWrite (rood, laag);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
delay(500);
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, hoge);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
delay(250);
digitalWrite (rood, laag);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, laag);
digitalWrite (groen, hoog);
digitalWrite (blauw, laag);
delay(250);
digitalWrite (groen, lage);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, laag);
digitalWrite (groen, lage);
digitalWrite (blauw, hoge);
delay(250);
digitalWrite (blauw, laag);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, hoge);
digitalWrite (groen, hoog);
digitalWrite (blauw, laag);
delay(250);
digitalWrite (rood, laag);
digitalWrite (groen, lage);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, hoge);
digitalWrite (groen, lage);
digitalWrite (blauw, hoge);
delay(250);
digitalWrite (rood, laag);
digitalWrite (blauw, laag);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, laag);
digitalWrite (groen, hoog);
digitalWrite (blauw, hoge);
delay(250);
digitalWrite (blauw, laag);
digitalWrite (groen, lage);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, hoge);
digitalWrite (groen, hoog);
digitalWrite (blauw, hoge);
delay(250);
digitalWrite (blauw, laag);
digitalWrite (groen, lage);
digitalWrite (rood, laag);
delay(250);
}
for (int i = 0; ik < 5; ik += 1) {}
digitalWrite (rood, laag);
digitalWrite (groen, lage);
digitalWrite (blauw, laag);
digitalWrite (wit, hoge);
delay(250);
digitalWrite (blauw, laag);
digitalWrite (groen, lage);
digitalWrite (rood, laag);
digitalWrite (wit, laag);
delay(250);
}
}