Hallo
habe meine RGB Lampe folgendermaßen aufgebaut,
9,10,11 PWM ausgänge steuern mit einem Basiswiderstand dazwischen je einen NPN transistor(die Basis.).
Am Emitter ist jeweils GND angeschlossen und am Kollektor jeweils die Kathode der RGB LED( haben gemeinsame Anode).
Soweit so gut, doch jetz wollte ich folgenden Code verwenden:
/*
_____ .__ __ .__
_/ ____\______|__|/ |________|__| ____ ____
\ __\\_ __ \ \ __\___ / |/ \ / ___\
| | | | \/ || | / /| | | \/ /_/ >
|__| |__| |__||__| /_____ \__|___| /\___ /
\/ \//_____/
__ __ __ .__ __
_______/ |______ ________/ |_ ___________ | | _|__|/ |_
/ ___/\ __\__ \\_ __ \ __\/ __ \_ __ \ | |/ / \ __\
\___ \ | | / __ \| | \/| | \ ___/| | \/ | <| || |
/____ > |__| (____ /__| |__| \___ >__| |__|_ \__||__|
\/ \/ \/ \/
Example RGB LED Fader
Autor Stefan Hermann
Date 16.06.2011
Description This example lets you fade through the colors of a RGB LED.
*/
int LEDGreen=9;
int LEDBlue=10;
int LEDRed=11;
int sensorPin=0;
int val;
void setup(){
Serial.begin(9600);
pinMode(LEDRed,OUTPUT);
pinMode(LEDGreen,OUTPUT);
pinMode(LEDBlue,OUTPUT);
}
void loop(){
val=map(analogRead(sensorPin),0,1024,0,900);
Serial.println(val);
if (val<150) {
analogWrite(LEDRed,0);
analogWrite(LEDBlue,255);
analogWrite(LEDGreen,255);
} else if (val<300) {
analogWrite(LEDRed,map(val,150,300,0,255));
analogWrite(LEDBlue,map(val,150,300,255,0));
analogWrite(LEDGreen,255);
} else if (val<450) {
analogWrite(LEDRed,255);
analogWrite(LEDBlue,0);
analogWrite(LEDGreen,255);
} else if (val<600) {
analogWrite(LEDRed,255);
analogWrite(LEDBlue,map(val,450,600,0,255));
analogWrite(LEDGreen,map(val,450,600,255,0));
} else if (val<750) {
analogWrite(LEDRed,255);
analogWrite(LEDBlue,255);
analogWrite(LEDGreen,0);
} else if (val<900) {
analogWrite(LEDRed,map(val,750,900,255,0));
analogWrite(LEDBlue,255);
analogWrite(LEDGreen,map(val,750,900,0,255));
}
delay(10);
}
Und ich musste feststellen das die Schaltung zwar funktioniert, aber alles ist umgedreht, heist, bei 0 sind meine LEDs an und bei 255 sind sie aus.
Was habe ich falsch gemacht?
MfG