]> git.piffa.net Git - sketchbook_andrea/blob - oggi/RGB_LED/rgb_0_soluzione/rgb_0_soluzione.ino
5a5c9717815fb81f0017daa7c4e0f356b995b2a3
[sketchbook_andrea] / oggi / RGB_LED / rgb_0_soluzione / rgb_0_soluzione.ino
1 /*
2     Adafruit Arduino - Lesson 3. RGB LED
3  
4  RGB LED: mpostare i colori per un LED RGB
5  common anode
6  */
7
8 int redPin      = 11;   // 2v a 20ma: che resistenza dovro usare?
9 int greenPin    = 10;   // 3.5v a 20ma: che resistenza dovro usare?
10 int bluePin     = 9;    // 3.5v a 20ma: che resistenza dovro usare?
11
12
13 void setup()
14 {
15   pinMode(redPin, OUTPUT);
16   pinMode(greenPin, OUTPUT);
17   pinMode(bluePin, OUTPUT);
18 }
19
20 void loop()
21 {
22
23   rendiBlu();
24   delay(1000);
25   //setColor(255,0,0) ; // imposta il LED in rosso
26   //setColor(0xFF,0x00,0x00) ; // imposta il LED in rosso in esadecimale
27   // setName("green") ; 
28   // delay(1000);
29 }
30
31 // Funzioni:
32
33 void rendiBlu() {
34     // Accende di Blu
35
36     analogWrite(redPin, 255 );
37     analogWrite(greenPin, 255 );
38     analogWrite(bluePin, 0 );
39   }
40
41 void setColor(int red, int green, int blue) {
42 // Imposta i colori di un LED RGB Common Anodote
43 // in esadecimale
44
45   analogWrite(redPin, 255 -red);
46   analogWrite(greenPin, 255 - green);
47   analogWrite(bluePin, 255 - blue);
48 }
49
50 void setName(String colorName) {
51 // Imposta i colori di un LED RGB Common Anodote
52 // tramite una stringa
53
54   if (colorName == "red") {
55     analogWrite(redPin, 0 );
56     analogWrite(greenPin, 255 );
57     analogWrite(bluePin, 255 );
58   }
59   else if (colorName == "green") {
60     analogWrite(redPin, 255 );
61     analogWrite(greenPin, 0 );
62     analogWrite(bluePin, 255 );
63   }
64   // ...
65 }
66 /* Hints:
67
68 1. Per usare un solo valore esadecimale per settare i colori:
69    - http://ardx.org/src/code/CIRC12-code-MB-SPAR.txt
70  
71  */