From 7cf9de2f1d8c2fd9ebf7114d5a488b568ada57bc Mon Sep 17 00:00:00 2001 From: wancat Date: Wed, 9 Mar 2022 11:21:32 +0800 Subject: [PATCH] Week3 --- week3-2/week3-2.ino | 20 ++++++++++++++++++++ week3-3/week3-3.ino | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 week3-2/week3-2.ino create mode 100644 week3-3/week3-3.ino diff --git a/week3-2/week3-2.ino b/week3-2/week3-2.ino new file mode 100644 index 0000000..3f5a7aa --- /dev/null +++ b/week3-2/week3-2.ino @@ -0,0 +1,20 @@ +#define LED 7 +#define pbOn A0 +#define pbOff A1 + +void setup() { + pinMode(LED, OUTPUT); + pinMode(pbOn, INPUT); + pinMode(pbOff, INPUT); +} + +void loop() { + if (!digitalRead(pbOff)) { + digitalWrite(LED, HIGH); + while (!digitalRead(pbOff)); + } + else if (!digitalRead(pbOn)) { + digitalWrite(LED, LOW); + while (!digitalRead(pbOn)); + } +} diff --git a/week3-3/week3-3.ino b/week3-3/week3-3.ino new file mode 100644 index 0000000..b3f8fe9 --- /dev/null +++ b/week3-3/week3-3.ino @@ -0,0 +1,32 @@ +#define LED 7 +#define BUTTON A0 +#define BLINK 8 +#define DELAY 100 + +void setup() { + pinMode(LED, OUTPUT); + pinMode(BUTTON, INPUT); + pinMode(BLINK, OUTPUT); +} + +bool mode() { + static bool last = HIGH; + static bool m = HIGH; + if (last && !digitalRead(BUTTON)) { + m = !m; + } + last = digitalRead(BUTTON); + return m; +} + +void loop() { + static unsigned long clk = 0; + static bool blinkValue = HIGH; + digitalWrite(LED, mode()); + if (millis() - clk > DELAY) { + blinkValue = !blinkValue; + clk = millis(); + } + digitalWrite(BLINK, blinkValue); + delay(1); +}