CasaBonita
New Member
Hello everyone,
I wanna share with you my DIY Arduino project that controls CO2, Temperature and Humidity levels. As far as I've seen most commercial solutions tackle those variables independently, the purpose of my project is to have them talk to each-other and work together. Right now I'm in the testing stage of development and there are a few bugs to work out, but its generally going pretty well and the plants seem to love it ! When everything is ironed out I will share the schematics and code for interested parties to duplicate. The cost should not exceed 200$.
So the logic behind GrowOS:
If it's dark, keep the exhaust vent running on the LOW setting while monitoring for Temperature and Humidity levels. If those levels are exceeded the exhaust fan kicks in at HIGH or a dehumidifier is turned on (depending on max temp or max hum).
If it's day, check CO2 PPM levels, pump CO2 and maintain it at a predefined level (e.g. 1500ppm). If levels drop below the predefined delta ppm value (e.g 200ppm) the CO2 is engaged to bring levels up to 1500 again. While this constant CO2 monitoring/spraying routine is engaged the system keeps track of Temperature and Humidity levels as well. If the dehumidifier is unable to bring humidity levels to an acceptable range the CO2 stops and the exhaust fan kicks in at HIGH setting as a last resort until we have acceptable temperature or humidity levels again.
The display shows Temperature, Humidity, CO2 PPM and the state of each relay (right now the second line has temporary debug data).
A rotary encoder is used to program the device. If the button is pressed for more than 1.5 seconds GrowOS enters programming mode.
In programming mode you are requested to enter the values for: Max Temp, Delta Temp, Max Hum, Delta Hum, Dehum, Delta Dehum, Max PPM, Delta PPM.
To describe"Delta" I will give an example: If we have our Max Temp at 35c and our Delta Temp at 10c, the exhaust vent will engage when temperature exceeds 35c but will only stop when temperature is brought down to 25c (35 - 10 = 25).
The hardware used:
Arduino Uno clone (Funduino)
A photoresistor (light sensor)
MH-Z16 NDIR CO2 Sensor with I2C interface
DHT22 Temperature / Humidity sensor
A 4 relay board for arduino.
All sensors were neatly packed in a box that resides in the grow room, mounted on a telescopic pole to match canopy height.
The relays are in a bigger box but I still need to add a separate 5v transformer in that box for the relays.
I wanna share with you my DIY Arduino project that controls CO2, Temperature and Humidity levels. As far as I've seen most commercial solutions tackle those variables independently, the purpose of my project is to have them talk to each-other and work together. Right now I'm in the testing stage of development and there are a few bugs to work out, but its generally going pretty well and the plants seem to love it ! When everything is ironed out I will share the schematics and code for interested parties to duplicate. The cost should not exceed 200$.
So the logic behind GrowOS:
If it's dark, keep the exhaust vent running on the LOW setting while monitoring for Temperature and Humidity levels. If those levels are exceeded the exhaust fan kicks in at HIGH or a dehumidifier is turned on (depending on max temp or max hum).
If it's day, check CO2 PPM levels, pump CO2 and maintain it at a predefined level (e.g. 1500ppm). If levels drop below the predefined delta ppm value (e.g 200ppm) the CO2 is engaged to bring levels up to 1500 again. While this constant CO2 monitoring/spraying routine is engaged the system keeps track of Temperature and Humidity levels as well. If the dehumidifier is unable to bring humidity levels to an acceptable range the CO2 stops and the exhaust fan kicks in at HIGH setting as a last resort until we have acceptable temperature or humidity levels again.
The display shows Temperature, Humidity, CO2 PPM and the state of each relay (right now the second line has temporary debug data).
A rotary encoder is used to program the device. If the button is pressed for more than 1.5 seconds GrowOS enters programming mode.
In programming mode you are requested to enter the values for: Max Temp, Delta Temp, Max Hum, Delta Hum, Dehum, Delta Dehum, Max PPM, Delta PPM.
To describe"Delta" I will give an example: If we have our Max Temp at 35c and our Delta Temp at 10c, the exhaust vent will engage when temperature exceeds 35c but will only stop when temperature is brought down to 25c (35 - 10 = 25).
The hardware used:
Arduino Uno clone (Funduino)
A photoresistor (light sensor)
MH-Z16 NDIR CO2 Sensor with I2C interface
DHT22 Temperature / Humidity sensor
A 4 relay board for arduino.
All sensors were neatly packed in a box that resides in the grow room, mounted on a telescopic pole to match canopy height.
The relays are in a bigger box but I still need to add a separate 5v transformer in that box for the relays.