void_coop_climate_control
***pin assignments*** const int coop_fan_1 = const int coop_fan_2 = const int coop_heater = const int coop_heater_pump = const int coop_water_heater = const int coop_water_pump = const int left_window_closed_sensor = const int left_window_open_sensor = const int right_window_closed_sensor = const int right_window_open_sensor =
***setup*** pinMode(coop_fan_1, OUTPUT); digitalWrite(coop_fan_1, HIGH);
pinMode(coop_fan_2, OUTPUT); digitalWrite(coop_fan_2, HIGH);
pinMode(coop_heater, OUTPUT); digitalWrite(coop_heater, HIGH);
pinMode(coop_heater_pump, OUTPUT); digitalWrite(coop_heater_pump, HIGH);
pinMode(coop_water_heater, OUTPUT); digitalWrite(coop_water_heater, HIGH);
pinMode(coop_water_pump, OUTPUT); digitalWrite(coop_water_pump, HIGH);
pinMode(left_window_closed_sensor, INPUT); digitalWrite(left_window_closed_sensor, HIGH);
pinMode(left_window_open_sensor, INPUT); digitalWrite(left_window_open_sensor, HIGH);
pinMode(right_window_closed_sensor, INPUT); digitalWrite(right_window_closed_sensor, HIGH);
pinMode(right_window_open_sensor, INPUT); digitalWrite(right_window_open_sensor, HIGH);
void coop_climate_control() { if(coop_temp < 40) { digitalWrite(coop_heater, LOW); digitalWrite(coop_heater_pump, LOW); digitalWrite(coop_water_heater, LOW); digitalWrite(coop_water_pump, LOW);
digitalWrite(coop_fan_1, HIGH);
digitalWrote(coop_fan_2, HIGH);
coop_window_close_control();
}
if((coop_temp < 50) && (coop_temp <70)) { digitalWrite(coop_fan_1, HIGH); digitalWrite(coop_fan_2, HIGH); digitalWrite(coop_heater, HIGH); digitalWrite(coop_heater_pump, HIGH); digitalWrite(coop_water_heater, HIGH);
coop_water_pump_control();
coop_window_open_control();
}
if(coop_temp > 80) { digitalWrite(coop_heater, HIGH); digitalWrite(coop_heater_pump, HIGH); digitalWrite(coop_water_heater, HIGH);
coop_fan_control();
coop_water_pump_control();
coop_window_open_control();
}
coop_window_close() { left_window_closed_sensor_val = digitalRead(left_window_closed_sensor); left_window_open_sensor_val = digitalRead(left_window_open_sensor); right_window_closed_sensor_val = digitalRead(right_window_closed_sensor); right_window_open_sensor_val = digitalRead(right_window_open_sensor);
digitalWrite(left_window_motor_close, LOW);
digitalWrite(left_window_motor_open, HIGH);
analogWrite(left_window_motor_enable, 255);
if (left_window_closed_sensor_val == 0)
{
digitalWrite(left_window_motor_close, HIGH);
digitalWrite(left_window_motor_open, HIGH);
analogWrite(left_window_motor_enable, 0);
}
digitalWrite(right_window_motor_close, LOW);
digitalWrite(right_window_motor_open, HIGH);
analogWrite(right_window_motor_enable, 255);
if (right_window_closed_sensor_val == 0)
{
digitalWrite(right_window_motor_close, HIGH);
digitalWrite(right_window_motor_open, HIGH);
analogWrite(right_window_motor_enable, 0);
}
}
coop_window_open() { left_window_closed_sensor_val = digitalRead(left_window_closed_sensor); left_window_open_sensor_val = digitalRead(left_window_open_sensor); right_window_closed_sensor_val = digitalRead(right_window_closed_sensor); right_window_open_sensor_val = digitalRead(right_window_open_sensor);
digitalWrite(left_window_motor_close, HIGH);
digitalWrite(left_window_motor_open, LOW);
analogWrite(left_window_motor_enable, 255);
if (left_window_closed_sensor_val == 0)
{
digitalWrite(left_window_motor_close, HIGH);
digitalWrite(left_window_motor_open, HIGH);
analogWrite(left_window_motor_enable, 0);
}
digitalWrite(right_window_motor_close, HIGH);
digitalWrite(right_window_motor_open, LOW);
analogWrite(right_window_motor_enable, 255);
if (right_window_closed_sensor_val == 0)
{
digitalWrite(right_window_motor_close, HIGH);
digitalWrite(right_window_motor_open, HIGH);
analogWrite(right_window_motor_enable, 0);
}
}
coop_fan_control() { if (fanRelayRunning) { digitalWrite(useFanRelay1 ? fanRelay1 : fanRelay2, HIGH); fanRelayRunning = false; } useFanRelay1 = !useFanRelay1; lastFanRelayTime = millis();
if (!fanRelayRunning)
{
digitalWrite(useFanRelay1 ? fanRelay1 : fanRelay2, LOW);
fanRelayRunning = true;
}
}
coop_water_pump_control()