//Fan Controller for Hood
HoodTempInterval = (tempH - TempToBeginHoodFanInDegC); //Sets the interval to start from 0
HoodFanSpeedIncrease = HoodTempInterval*0.1; //Fan's speed increases 10% every degree over set temperature
// digitalWrite(HoodFansTranzPin, HIGH);
if ((tempH < TempToStopHoodFanInDegC) && (temphoog==1)) //If Temp's less than defined value, leave fan off
{ HoodPWM = 0;
digitalWrite(HoodFansTranzPin, LOW);
temphoog =0;}
if ((tempH >= TempToBeginHoodFanInDegC) && (HoodFanSpeedIncrease < 1)) //For every degree over defined value, increase by 10%
{ HoodPWM = FanOn + HoodFanSpeedIncrease;
digitalWrite(HoodFansTranzPin, HIGH);
temphoog = 1; }
if (HoodFanSpeedIncrease >= 1) //If the temperature is 10 or more degrees C higher than user
{ HoodPWM = 1;} //defined value to start, leave it at 100%
//Fan Controller for Sump
SumpTempInterval = (tempS - TempToBeginSumpFanInDegC); //Sets the interval to start from 0
SumpFanSpeedIncrease = SumpTempInterval*0.1; //Fan's speed increases 10% every degree over set temperature
//digitalWrite(SumpFanTranzPin, HIGH);
if (tempS < TempToBeginSumpFanInDegC) //If Temp's less than defined value, leave fan off
{ SumpPWM = 0;
// digitalWrite(SumpFanTranzPin, LOW);
}
if ((tempS >= TempToBeginSumpFanInDegC) && (SumpFanSpeedIncrease < 1)) //For every degree over defined value, increase by 10%
{ SumpPWM = FanOn + SumpFanSpeedIncrease;}
if (SumpFanSpeedIncrease >= 1) //If the temperature is 10 or more degrees C higher than user
{ SumpPWM = 1;} //defined value to start, leave it at 100%
}
void setup()
{ Serial.begin(9600);
pinMode(doseerpomp1pin, OUTPUT); // pin voor vlotter hoog voor bijvullen
pinMode(doseerpomp2pin, OUTPUT); // pin voor vlotter laag voor bijvullen
pinMode(doseerpomp3pin, OUTPUT); // pin voor vlotter kalkreactor
pinMode(whiteledpin, OUTPUT);
pinMode(redledpin, OUTPUT);
pinMode(royalblueledpin, OUTPUT);
pinMode(blueledpin, OUTPUT);
pinMode(UVledpin, OUTPUT);
pinMode(greenledpin, OUTPUT);
pinMode(cyanledpin, OUTPUT);
pinMode(kalibreerknoppin, INPUT);
pinMode(afschuimerpin, OUTPUT);
pinMode(HoodFansTranzPin, OUTPUT);
//pinMode(SumpFanTranzPin, OUTPUT);
pinMode(tempHeatPin, OUTPUT);
pinMode(tempChillPin, OUTPUT);
pinMode(tempAlarmPin, OUTPUT);
pinMode(WaveMakerTop, OUTPUT);
pinMode(WaveMakerBottom, OUTPUT);
pinMode(autoFeeder, OUTPUT);
RTC.getTime();
gr_out = zonneschema(opkomst, ondergang, 80, RTC.hour, RTC.minute, RTC.second);
b_out = zonneschema(opkomst, ondergang, 215, RTC.hour, RTC.minute, RTC.second);
w_out = zonneschema(opkomst, ondergang, 200, RTC.hour, RTC.minute, RTC.second);
rb_out = zonneschema(opkomst, ondergang, 200, RTC.hour, RTC.minute, RTC.second);
r_out = zonneschema(opkomst, ondergang, 80, RTC.hour, RTC.minute, RTC.second);
uv_out = zonneschema(opkomst, ondergang, 100, RTC.hour, RTC.minute, RTC.second);
cy_out = zonneschema(opkomst, ondergang, 80, RTC.hour, RTC.minute, RTC.second);
analogWrite(blueledpin, b_out);
analogWrite(whiteledpin, w_out);
analogWrite(royalblueledpin, rb_out);
analogWrite(redledpin, r_out);
analogWrite(UVledpin, uv_out);
analogWrite(greenledpin, gr_out);
analogWrite(cyanledpin, cy_out);
checkTempC();
}
void loop()
{unsigned long currentmillis = millis();
if(currentmillis-vorigemillis>5000)
{ vorigemillis = currentmillis;
RTC.getTime();
gr_out = zonneschema(opkomst, ondergang, 80, RTC.hour, RTC.minute, RTC.second);
b_out = zonneschema(opkomst, ondergang, 215, RTC.hour, RTC.minute, RTC.second);
w_out = zonneschema(opkomst, ondergang, 200, RTC.hour, RTC.minute, RTC.second);
rb_out = zonneschema(opkomst, ondergang, 200, RTC.hour, RTC.minute, RTC.second);
r_out = zonneschema(opkomst, ondergang, 80, RTC.hour, RTC.minute, RTC.second);
uv_out = zonneschema(opkomst, ondergang, 100, RTC.hour, RTC.minute, RTC.second);
cy_out = zonneschema(opkomst, ondergang, 110, RTC.hour, RTC.minute, RTC.second);
analogWrite(blueledpin, b_out);
analogWrite(whiteledpin, w_out);
analogWrite(royalblueledpin, rb_out);
analogWrite(redledpin, r_out);
analogWrite(UVledpin, uv_out);
analogWrite(greenledpin, gr_out);
analogWrite(cyanledpin, cy_out);
checkTempC();
}
}