TI MSP430G2 jul ljus Thingie (4 / 5 steg)
Steg 4: Skiss
Denna skiss är skriven för 2553 chip. Andra chips stödja olika pin-konfigurationer.PWM och antalet tillgängliga timers är inte samma från chip till chip.
//
Observera att om du har XIN och XOUT fylls i med en kristall eller oscillator, inte kan du använda
PIN P2_6 för röda i RGB. Lämnar ut vita LED och sätta röda på pin P2_1 och
ändra lämpliga raden/raderna i skissen.
//
Detta är PWM stift jag använde. De är inte på samma timer,
så inte alla färgkombinationer finns tillgängliga för PWM samtidigt. Alla primära
kombinationer finns för full OFF och full på (digital hög och låg, men inte PWM).
//
Om detta används för Arduino, behöver stiften definitivt omtilldelning.
#define grön P2_4
#define blå P1_6
#define röd P2_6
#define vit P2_1
#define fördröjningstid 10
void setup() {
pinMode (gröna, OUTPUT);
pinMode (blå, OUTPUT);
pinMode (röd, OUTPUT);
pinMode (WHITE, OUTPUT);
digitalWrite (grön, låg);
digitalWrite (blå, låg);
digitalWrite (röd, låg);
digitalWrite (vit, låg);
}
int redVal;
int blueVal;
int greenVal;
void loop()
{
Delay(250);
redVal = 0;
blueVal = 0;
greenVal = 0;
för (int jag = 255; jag > 0; i-= 1) {
redVal + = 1;
analogWrite (röd, redVal);
analogWrite (blå, blueVal);
analogWrite (grön, greenVal);
fördröjning (fördröjningstid);
}
redVal = 0;
greenVal = 0;
för (int jag = 0; jag < 255; i += 1) {
greenVal + = 1;
analogWrite (grön, greenVal);
analogWrite (röd, redVal);
fördröjning (fördröjningstid);
}
greenVal = 0;
blueVal = 0;
för (int jag = 0; jag < 255; i += 1) {
blueVal + = 1;
analogWrite (blå, blueVal);
analogWrite (grön, greenVal);
fördröjning (fördröjningstid);
}
digitalWrite (röd, låg);
digitalWrite (grön, låg);
digitalWrite (blå, låg);
Delay(500);
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, hög);
digitalWrite (grön, låg);
digitalWrite (blå, låg);
Delay(250);
digitalWrite (röd, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, låg);
digitalWrite (grön, hög);
digitalWrite (blå, låg);
Delay(250);
digitalWrite (grön, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, låg);
digitalWrite (grön, låg);
digitalWrite (blå, hög);
Delay(250);
digitalWrite (blå, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, hög);
digitalWrite (grön, hög);
digitalWrite (blå, låg);
Delay(250);
digitalWrite (röd, låg);
digitalWrite (grön, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, hög);
digitalWrite (grön, låg);
digitalWrite (blå, hög);
Delay(250);
digitalWrite (röd, låg);
digitalWrite (blå, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, låg);
digitalWrite (grön, hög);
digitalWrite (blå, hög);
Delay(250);
digitalWrite (blå, låg);
digitalWrite (grön, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, hög);
digitalWrite (grön, hög);
digitalWrite (blå, hög);
Delay(250);
digitalWrite (blå, låg);
digitalWrite (grön, låg);
digitalWrite (röd, låg);
Delay(250);
}
för (int jag = 0; jag < 5; jag + = 1) {
digitalWrite (röd, låg);
digitalWrite (grön, låg);
digitalWrite (blå, låg);
digitalWrite (vit, hög);
Delay(250);
digitalWrite (blå, låg);
digitalWrite (grön, låg);
digitalWrite (röd, låg);
digitalWrite (vit, låg);
Delay(250);
}
}