]> git.piffa.net Git - sketchbook_andrea/blobdiff - RGB_LED/rgb_5_struct/rgb_5_struct.ino
Struct
[sketchbook_andrea] / RGB_LED / rgb_5_struct / rgb_5_struct.ino
index 03e8f7abdb37f7c290d331c47acaf34a0b6d42a4..0ac4364850c0c18405e4a040dcc26e6727857d02 100644 (file)
@@ -7,17 +7,16 @@
  Schema: http://lab.piffa.net/schemi/rgb.jpg
  */
 
-byte pin[3]   = {11, 10, 9};   // 2v a 20ma: che resistenza dovro usare?
+byte pin[3]   = {11, 10, 9};   // 2v a 20ma: che resistenza dovro' usare?
 
 struct color {
-  byte red ;
-  byte blue;
-  byte green;
+  byte rpin ;
+  byte bpin;
+  byte gpin;
 
 } ;
 
-color led;
-
+color rosso = {255,0,0};
 
 void setup()
 {
@@ -26,12 +25,11 @@ void setup()
   }
 }
 
-
 void loop()
 {
-  analogWrite(pin[0], led.red);
-  analogWrite(pin[1], led.green);
-  analogWrite(pin[2], led.blue);
+  analogWrite(pin[0], rosso.rpin);
+  analogWrite(pin[1], rosso.gpin);
+  analogWrite(pin[2], rosso.bpin);
 }
 
 /* Domande:
@@ -43,7 +41,7 @@ void loop()
  3. Sarebbe piu' elegante scrivere una funzione per gestire il setup dei PIN
  e impostare i colori?
  3.1 Servira' una o piu' funzioni?
- 4. Esiste un costrutto che mi permetta di legare le differenti caratteristiche
+ 4. Esiste un costrutto che mi permetta di legare le differenti proprieta'
  del LED RGB e contemporaneamente raggruppare le funzioni che tipicamente uso con questo?
  */
 
@@ -52,30 +50,27 @@ void loop()
  *  1.
 
 struct ledRGB {
-    byte r;
-    byte g;
-    byte b;
-    byte    blue;
+    byte rPin ;     // PINS
+    byte gPin;
+    byte bPin;
+    byte    blue;   // Colors
     byte    green;
     byte    red;
 };
 
-ledRGB led {0,255,255,9,10,11};
-   
+ledRGB led {9,10,11,0,255,255};
    
-
 void setup()
 {
-  pinMode(led.blue, OUTPUT);
-  pinMode(led.green, OUTPUT);
-  pinMode(led.red, OUTPUT);
+  pinMode(led.rPin, OUTPUT);
+  pinMode(led.gPin, OUTPUT);
+  pinMode(led.bPin, OUTPUT);
 }
 
 void loop()
 {
-  analogWrite(led.red,led.r );
-  analogWrite(led.green,led.g);
-  analogWrite(led.blue,led.b);
+  analogWrite(led.rPin,led.red );
+  analogWrite(led.gPin,led.green);
+  analogWrite(led.bPin,led.blue);
 }
 */
- */