summaryrefslogtreecommitdiff
path: root/week2/week2.ino
diff options
context:
space:
mode:
Diffstat (limited to 'week2/week2.ino')
-rw-r--r--week2/week2.ino41
1 files changed, 41 insertions, 0 deletions
diff --git a/week2/week2.ino b/week2/week2.ino
new file mode 100644
index 0000000..87f07bc
--- /dev/null
+++ b/week2/week2.ino
@@ -0,0 +1,41 @@
+#define AIN1 0
+#define AIN2 1
+
+int i = 0;
+int down0 = 0;
+int down1 = 0;
+int color = 0;
+int rate = 250;
+
+void setup() {
+ pinMode(AIN1, OUTPUT);
+ pinMode(AIN2, OUTPUT);
+ analogReadResolution(8);
+}
+
+void set_color() {
+ if (i % (2 * rate) < rate) digitalWrite(AIN1, LOW), digitalWrite(AIN2, LOW);
+ else {
+ if (color) digitalWrite(AIN1, HIGH), digitalWrite(AIN2, LOW);
+ else digitalWrite(AIN1, LOW), digitalWrite(AIN2, HIGH);
+ }
+}
+
+void loop() {
+ if (i % rate == 0) set_color(); // Toggle color
+
+ // Make sure this is a press and the button isn't already down
+ if (analogRead(A0) > 200) {
+ if (!down0) color = !color, set_color();
+ down0 = 1;
+ }
+ else down0 = 0;
+ if (analogRead(A1) > 200) {
+ if (!down1) rate = (rate == 250 ? 500 : 250), set_color();
+ down1 = 1;
+ }
+ else down1 = 0;
+
+ delay(1);
+ i++;
+}