diff options
author | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2015-11-27 23:02:20 -0500 |
---|---|---|
committer | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2015-11-27 23:02:20 -0500 |
commit | 006bfeb35e6eb70a698571a7ff289e62ad064378 (patch) | |
tree | 8345b2a6bf5e4a5661d10a93fb924833f631f101 | |
parent | acb14c7b1d6919e49d7298af8f632377ca327c11 (diff) |
Add exercise 2 and 3.
-rw-r--r-- | led-dim/led-dim.ino | 16 | ||||
-rw-r--r-- | rgb-led/rgb-led.ino | 41 |
2 files changed, 57 insertions, 0 deletions
diff --git a/led-dim/led-dim.ino b/led-dim/led-dim.ino new file mode 100644 index 0000000..fe41a53 --- /dev/null +++ b/led-dim/led-dim.ino @@ -0,0 +1,16 @@ +const int kLed = 10; +const int kSensor = A0; + +void setup() { + pinMode(kSensor, INPUT); + pinMode(kLed, OUTPUT); +} + +void loop() { + int value = analogRead(kSensor); + digitalWrite(kLed, HIGH); + delay(value); + digitalWrite(kLed, LOW); + delay(value); + printf("%s\n", value); +} diff --git a/rgb-led/rgb-led.ino b/rgb-led/rgb-led.ino new file mode 100644 index 0000000..f635313 --- /dev/null +++ b/rgb-led/rgb-led.ino @@ -0,0 +1,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); +} + |