]> git.piffa.net Git - sketchbook_andrea/commitdiff
RGB common anodo
authoreaman <andrea@piffa.net>
Sat, 28 Jan 2017 01:37:30 +0000 (02:37 +0100)
committereaman <andrea@piffa.net>
Sat, 28 Jan 2017 01:37:30 +0000 (02:37 +0100)
libraries/common/common.cpp
libraries/common/common.h
libraries/common/examples/rgb/rgb.ino

index cbf8fdd569db6eed18eb9971f5835a56020891f9..b77c04602ee55539ed315f9198e56ab124aa0b9d 100644 (file)
@@ -9,12 +9,26 @@
 
 //////////////////////
 // RGB LED
-// Common anode
+// Common anode / cat
 
 RGBLed::RGBLed(byte pinR, byte pinG, byte pinB) {
       redPin    = pinR ;
       greenPin  = pinG ;
       bluePin   = pinB ;
+      common    = 0 ;
+      
+      // Equvalente del Setup() per inizializzare i PIN
+      pinMode(redPin, OUTPUT);
+      pinMode(greenPin, OUTPUT);
+      pinMode(greenPin, OUTPUT);
+};
+
+RGBLed::RGBLed(byte pinR, byte pinG, byte pinB, byte com) {
+    // Per un common catode, inverte il valore max / min
+      redPin    = pinR ;
+      greenPin  = pinG ;
+      bluePin   = pinB ;
+      common    = com ;
 
       // Equvalente del Setup() per inizializzare i PIN
       pinMode(redPin, OUTPUT);
@@ -24,9 +38,9 @@ RGBLed::RGBLed(byte pinR, byte pinG, byte pinB) {
 
 void RGBLed::SetColor (byte r, byte g, byte b) {
 // Imposta il colore di un LED RGB
-      analogWrite(redPin,   r);
-      analogWrite(greenPin, g);
-      analogWrite(bluePin,  b);
+      analogWrite(redPin,   common - r);
+      analogWrite(greenPin, common - g);
+      analogWrite(bluePin,  common - b);
     };
 
 void RGBLed::Red () {
index f5a763c715938b7d87c870729009d3780b81fcbf..0af9d453d46a0c49f75fc3ca3c06b15d6e756e58 100644 (file)
@@ -43,9 +43,11 @@ class RGBLed {
     byte redValue ;
     byte greenValue ;
     byte blueValue ;
+    byte common ;
 
   public:
     RGBLed (byte pinR, byte pinG, byte pinB) ;
+    RGBLed (byte pinR, byte pinG, byte pinB, byte com) ;
        void SetColor (byte r, byte g, byte b) ;
        void Red ();
     void Green ();
index 98c980b1b3fd60e1e2b6b8d039e6a5e230045a3c..ed7a5643a9eece7a43c18354d62bbc8274079380 100644 (file)
@@ -11,15 +11,13 @@ void setup() {
 }
 
 // Instanziamo un LED
-RGBLed led(11, 10, 9); //Istanziamo un oggetto led facente parte
-                       // della classe RGBLed
+RGBLed led(11, 10,9); //Istanziamo un oggetto led (common catodo)
+// facente parte della classe RGBLed
+//RGBLed led(10, 9, 11,255); // Inizializzazione Common anodo, valori invertiti
 
 void loop() {
   led.Red();
-  delay(1000);
-  led.SetColor(255, 0, 255) ; // Mettiamo il LED in Green
-  delay(1000);
-  led.Off();
+
 }
 
 /* Colori disponibili: