summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2015-11-27 23:02:20 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2015-11-27 23:02:20 -0500
commit006bfeb35e6eb70a698571a7ff289e62ad064378 (patch)
tree8345b2a6bf5e4a5661d10a93fb924833f631f101
parentacb14c7b1d6919e49d7298af8f632377ca327c11 (diff)
Add exercise 2 and 3.
-rw-r--r--led-dim/led-dim.ino16
-rw-r--r--rgb-led/rgb-led.ino41
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);
+}
+