Automatic Co2 controller
Budget: $30 – $250 NZD
Essentially the code I am requiring is for an automatic greenhouse Co2 controller where if the light level is sufficient and the user has input the desired Co2 level (in ppm) the controller will turn on a relay until Co2 levels are at the desired set point. PID functionality would be nice be not required as hysteresis would be sufficient.
Variables like acceptable light level and hysteresis tolerance etc. need to be easily changed (in code is fine).
User input will be from a rotary encoder dial via interrupt pins on an Arduino Uno. There will be a small LCD screen to display real time Co2 level and Co2 user set point that runs over I2C. For monitoring only I would also like temperature and humidity displayed on the LCD.
Hardware...
- Arduino Uno
- Grove base shield ref: https://www.seeedstudio.com/Base-Shield-V2.html
- Grove I2C LCD ref: https://www.seeedstudio.com/I2C-LCD-With-universal-Grove-cable.html
- Grove SCD30 Co2, temp and humidity sensor ref: https://www.seeedstudio.com/Grove-CO2-Temperature-Humidity-Sensor-SCD30-p-2911.html
- Grove light sensor ref: https://www.seeedstudio.com/Grove-Light-Sensor-v1-2-LS06-S-phototransistor.html
- Grove encoder ref: https://www.seeedstudio.com/Grove-Encoder.html
- Relay will be just a generic SPDT off a spare pin from the Uno
I would like the LCD screen to read.....
'Auto Co2 Control' at the top with a thin line underneath the writing that spans 95% of the screen.
'Co2 PV: 0000' in larger lettering for the real time Co2 level
'Co2 SV: 0000' also in large lettering for the Co2 user set point
'Temp: 00.0' in small lettering at the bottom with a line across the screen separating the small text from the large
'Hue: 00.0' as same as the 'temp' lettering
Having the screen also display an up arrow after the real time Co2 value for when the relay is on would be nice to have if it will fir otherwise can display a 'relay on' signal via a connected LED.
Hope I have covered everything.
Regards,
James
Variables like acceptable light level and hysteresis tolerance etc. need to be easily changed (in code is fine).
User input will be from a rotary encoder dial via interrupt pins on an Arduino Uno. There will be a small LCD screen to display real time Co2 level and Co2 user set point that runs over I2C. For monitoring only I would also like temperature and humidity displayed on the LCD.
Hardware...
- Arduino Uno
- Grove base shield ref: https://www.seeedstudio.com/Base-Shield-V2.html
- Grove I2C LCD ref: https://www.seeedstudio.com/I2C-LCD-With-universal-Grove-cable.html
- Grove SCD30 Co2, temp and humidity sensor ref: https://www.seeedstudio.com/Grove-CO2-Temperature-Humidity-Sensor-SCD30-p-2911.html
- Grove light sensor ref: https://www.seeedstudio.com/Grove-Light-Sensor-v1-2-LS06-S-phototransistor.html
- Grove encoder ref: https://www.seeedstudio.com/Grove-Encoder.html
- Relay will be just a generic SPDT off a spare pin from the Uno
I would like the LCD screen to read.....
'Auto Co2 Control' at the top with a thin line underneath the writing that spans 95% of the screen.
'Co2 PV: 0000' in larger lettering for the real time Co2 level
'Co2 SV: 0000' also in large lettering for the Co2 user set point
'Temp: 00.0' in small lettering at the bottom with a line across the screen separating the small text from the large
'Hue: 00.0' as same as the 'temp' lettering
Having the screen also display an up arrow after the real time Co2 value for when the relay is on would be nice to have if it will fir otherwise can display a 'relay on' signal via a connected LED.
Hope I have covered everything.
Regards,
James