summaryrefslogtreecommitdiff
path: root/rgb-led/rgb-led.ino
blob: f635313482edb4db8ace39a4254892703c64f950 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
int kPinRed = 9;
int kPinGreen = 10;
int kPinBlue = 11;

void setup() {
  pinMode(kPinRed, OUTPUT);
  pinMode(kPinGreen, OUTPUT);
  pinMode(kPinBlue, OUTPUT);
}

void loop() {
  //analogWrite(kPinBlue, 100);
  //delay(1000);

  for (int i=0; i<768; i+=4) {
    showColor(i);
    delay(3);
  }
}

void showColor(int color) {
  int r, g, b;
  if (color < 256) {
    r = 255-color;
    g = color;
    b = 0;
  } else if (color < 512) {
    r = 0;
    g = 255-(color-256);
    b = color-256;
  } else {
    r = color-512;
    g = 0;
    b = 255-(color-512);
  }

  analogWrite(kPinRed, r);
  analogWrite(kPinGreen, g);
  analogWrite(kPinBlue, b);
}