Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <EEPROM.h>
- bool IsRunning = true;
- const int PulseLength = 800; // time to power controller motors
- const int SwitchPin = 8; // pin8 on board - GND activated switch
- const int Relay_IN1 = 5; // pin5 on board > in1 on relay board
- const int Relay_IN2 = 4; // pin4 on board > in2 on relay board
- const int Relay_IN3 = 3; // pin3 on board > in3 on relay board
- const int Relay_IN4 = 2; // pin2 on board > in4 on relay board
- bool valveState()
- {
- int sVal = EEPROM.read(0);
- if (sVal == 1)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- void openValves()
- {
- digitalWrite(Relay_IN1, HIGH);
- digitalWrite(Relay_IN2, LOW);
- digitalWrite(Relay_IN3, HIGH);
- digitalWrite(Relay_IN4, LOW);
- delay(PulseLength);
- digitalWrite(Relay_IN1, LOW);
- digitalWrite(Relay_IN2, LOW);
- digitalWrite(Relay_IN3, LOW);
- digitalWrite(Relay_IN4, LOW);
- }
- void closeValves()
- {
- digitalWrite(Relay_IN1, LOW);
- digitalWrite(Relay_IN2, HIGH);
- digitalWrite(Relay_IN3, LOW);
- digitalWrite(Relay_IN4, HIGH);
- delay(PulseLength);
- digitalWrite(Relay_IN1, LOW);
- digitalWrite(Relay_IN2, LOW);
- digitalWrite(Relay_IN3, LOW);
- digitalWrite(Relay_IN4, LOW);
- }
- void setup()
- {
- pinMode(SwitchPin, INPUT_PULLUP);
- pinMode(Relay_IN1, OUTPUT);
- pinMode(Relay_IN2, OUTPUT);
- pinMode(Relay_IN3, OUTPUT);
- pinMode(Relay_IN4, OUTPUT);
- if (valveState() == true)
- {
- // closeValves();
- }
- else
- {
- //openValves();
- }
- IsRunning = false;
- }
- void loop()
- {
- if (IsRunning == false)
- {
- if (digitalRead(SwitchPin) == LOW)
- {
- IsRunning == true;
- if (valveState() == true)
- {
- EEPROM.write(0, 0);
- openValves();
- }
- else
- {
- EEPROM.write(0, 1);
- closeValves();
- }
- delay(500);
- IsRunning == false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement