Skip to content

Instantly share code, notes, and snippets.

@MrTrick
Created November 17, 2015 21:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrTrick/7cbe1b7296103ab80506 to your computer and use it in GitHub Desktop.
Save MrTrick/7cbe1b7296103ab80506 to your computer and use it in GitHub Desktop.
#define PUMP_A 2
#define PUMP_B 3
#define WATER 12
#define BUZZER 13
#define BUZZER_OFF LOW
#define BUZZER_ON HIGH
#define WATER_LOW LOW //Short-circuit when 'dropped'.
#define WATER_HIGH HIGH
#define PUMP_OFF HIGH
#define PUMP_ON LOW //Active-low
void setup() {
//Set up pins
pinMode(PUMP_A, OUTPUT);
digitalWrite(PUMP_A, PUMP_OFF);
//B not used yet
//pinMode(PUMP_B, OUTPUT);
//digitalWrite(PUMP_B, PUMP_OFF);
pinMode(WATER, INPUT_PULLUP);
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, BUZZER_OFF);
}
inline void beep() {
digitalWrite(BUZZER, BUZZER_ON);
delay(250); // wait for a second
digitalWrite(BUZZER, BUZZER_OFF);
}
inline void beepbeep() {
beep();
delay(250);
beep();
}
void loop() {
if (digitalRead(WATER) == WATER_HIGH) {
digitalWrite(PUMP_A, PUMP_ON);
digitalWrite(BUZZER, BUZZER_OFF);
} else {
digitalWrite(PUMP_A, PUMP_OFF);
beepbeep();
delay(3000);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment