redPin = pinR ;
greenPin = pinG ;
bluePin = pinB ;
- common = 255 ;
+ common = 0 ;
// Equvalente del Setup() per inizializzare i PIN
pinMode(redPin, OUTPUT);
void RGBLed::SetColor (byte r, byte g, byte b) {
// Imposta il colore di un LED RGB
- analogWrite(redPin, common - r);
- analogWrite(greenPin, common - g);
- analogWrite(bluePin, common - b);
+ if (common == 0) {
+ analogWrite(redPin, r);
+ analogWrite(greenPin, g);
+ analogWrite(bluePin, b);
+ } else {
+ analogWrite(redPin, 255 - r);
+ analogWrite(greenPin, 255 - g);
+ analogWrite(bluePin, 255 - b);
+ }
+
// Debug
#ifdef DEBUG
- Serial.print(common - r);
+ Serial.print(r);
Serial.print("-");
- Serial.print(common - g);
+ Serial.print(g);
Serial.print("-");
- Serial.print(common - b);
+ Serial.print(b);
while(1);
#endif
// Instanziamo un LED
RGBLed led(11, 10,9); //Istanziamo un oggetto led (default common catodo)
// facente parte della classe RGBLed
-// RGBLed led(11, 10,9,255); // Stessa cosa: 255 = common catodo = (255 - value)
-//RGBLed led(10,9,11,0); // Inizializzazione Common anodo
+// RGBLed led(11, 10,9,0); // Stessa cosa: 255 = common catodo = (255 - value)
+//RGBLed led(10,9,11,1); // Inizializzazione Common anodo
void loop() {
led.Red();