diff options
Diffstat (limited to 'C/HF/chap4/lab1/moisture.c')
| -rw-r--r-- | C/HF/chap4/lab1/moisture.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/C/HF/chap4/lab1/moisture.c b/C/HF/chap4/lab1/moisture.c new file mode 100644 index 0000000..349050f --- /dev/null +++ b/C/HF/chap4/lab1/moisture.c @@ -0,0 +1,45 @@ +/* This works - tested on Tinkercad */ +#define THRESHOLD 800 +#define DRY 500 + +#define LED 13 + +setup(){ + Serial.begin(9600); + pinMode(LED, OUTPUT); + digitalWrite(LED, LOW); +} + +void blink_led(long interval) { + digitalWrite(LED, LOW); + delay(interval); + digitalWrite(LED, HIGH); +} + +void led_on(void) +{ + if (digitalRead(LED) == LOW) + digitalWrite(LED, HIGH); +} + +void led_off(void) +{ + if (digitalRead(LED) == HIGH) { + digitalWrite(LED, LOW); + Serial.println("Thank you, Seymour"); + } +} + +void loop(){ + int moist = analogRead(1); + if (moist > THRESHOLD) { + led_off(); + continue; + } + + if (moist < DRY) + blink_led(500); + else + led_on(); + Serial.println("Feed me!"); +} |
