//***Project Rain Shield***
//Measure temp every ten minutes, if condition is met, pull pin high to activate relay every 10 minutes for 10 seconds.
//Relay will control solenoid to turn on water.
//Delay between relay and water start must be accounted for.
#include <Wire.h>
//#include "Adafruit_MCP9808.h"
//Create the MCP9808 temperature sensor object
//Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();
// Pin for relay module set as output
int myRelay13 = 13;
int myRelay12 = 12;
int myRelay11 = 11;
int myRelay10 = 10;
int myRelay9 = 9;
int myRelay8 = 8;
int myRelay7 = 7;
int myRelay6 = 6;
int myRelay5 = 5;
volatile byte relayState5 = LOW;
volatile byte relayState6 = LOW;
String stringOne = "Hello!";
int myCount = 1;
int buttonState2 = LOW;
int buttonState3 = LOW;
int buttonState4 = LOW;
void setup() {
Serial.begin(9600);
Serial.println("MCP9808! Connected");
pinMode (2, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (5, OUTPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
}
void loop() {
//Wake temp sensor
// tempsensor.wake();
buttonState2 = digitalRead (2);//ema
buttonState3 = digitalRead (3);//damjan
buttonState4 = digitalRead (4);//prizemlje
// float myTemp = 101; //= tempsensor.readTempF();
// Serial.print(myCount);Serial.print(" Temp: "); Serial.print(myTemp, 1); Serial.println("*F");
// a ) Emin termostat ON
if(buttonState2 == LOW && buttonState3 == HIGH &&buttonState4 == HIGH)
{ pullRelayHIGH5();
pullRelayHIGH6();
delay(2000);
}
else{
pullRelayLOW5();
pullRelayLOW6();
}
delay(2000);
//tempsensor.shutdown_wake(1); // shutdown MSP9808 - power consumption ~0.1 mikro Ampere, stops temperature sampling
// myCount = myCount+1;
// delay(100);
}
// pumpa sprat
void pullRelayHIGH5() {
if(relayState5 != HIGH){
digitalWrite(myRelay5, HIGH);
relayState5 = HIGH;
Serial.println("RELAY ON-Pumpa sprat");
}
}
void pullRelayLOW5() {
if(relayState5 != LOW){
digitalWrite(myRelay5, LOW);
relayState5 = LOW;
Serial.println("RELAY OFF-Pumpa sprat");
}
}
//pumpa prizemlje
void pullRelayHIGH6() {
if(relayState6 != HIGH){
digitalWrite(myRelay6, HIGH);
relayState6 = HIGH;
Serial.println("RELAY ON-Pumpa prizemlje");
}
}
void pullRelayLOW6() {
if(relayState6 != LOW){
digitalWrite(myRelay6, LOW);
relayState6 = LOW;
Serial.println("RELAY OFF-Pumpa prizemlje");
}
}