/*
Tutorial: https://www.hackster.io/brzi/nodemcu-websockets-tutorial-3a2013
Library : https://github.com/Links2004/arduinoWebSockets
*/
#include "index.html.h"
#define FLOW_SENSOR D2
#define RELAY D7
#define STATUS_LED D6
#define BUZZER D5
#define DPDT D1
#define RUNNING_TIME 900000
unsigned long currentMillis, previousMillis = 0;
bool pumping = false;
void startPump();
void stopPump();
void setup() {
pinMode(STATUS_LED, OUTPUT);
digitalWrite(STATUS_LED, HIGH);
Serial.begin(115200);
pinMode(FLOW_SENSOR, INPUT);
pinMode(RELAY, OUTPUT);
pinMode(BUZZER, OUTPUT);
pinMode(DPDT, OUTPUT);
}
void loop() {
if (pumping == true) {
currentMillis = millis();
if (currentMillis - previousMillis >= RUNNING_TIME) {
stopPump();
previousMillis = currentMillis;
}
}
}
/****************************************************************************/
void startPump() {
if (pumping == false) {
digitalWrite(BUZZER, HIGH);
digitalWrite(DPDT, HIGH);
delay(500);
digitalWrite(DPDT, LOW);
digitalWrite(BUZZER, LOW);
pumping = true;
}
}
void stopPump() {
digitalWrite(BUZZER, HIGH);
digitalWrite(RELAY, HIGH);
delay(3000);
digitalWrite(RELAY, LOW);
digitalWrite(BUZZER, LOW);
pumping = true;
}