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()
{
}
}
-
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:
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?
*/
* 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);
}
*/