Here is my Arduino-based Grow Room Controller.
This nifty project of mine effectively controls a small scale grow room setup. My setup currently controls only a few appliances, but the code could easily be modified to work with other environmental variables. My setup contains:
- The Grow Light
- The Exhaust Fan that pulls air out of the room, through the grow light fixture
- A Heater
The controller has the ability to log the temperature and humidity readings with a time stamp to an SD card. It also logs events such as the powering on and off of appliances in a separate file in the same directory. The file directory structure is as follows: "YEAR\MM\DD\" and there is an event and data log for each day.
It is composed of the following components:
- Arduino Mega 1280 (I'm sure with some code adjustments it could work with an Arduino Uno, but currently the sketch is almost 32Kb it would require down-scaling)
- SHT15 Digital Temperature and Humidity Sensor
- DS1307 Real-time Clock w/ Rechargeable coin-cell battery
- Serial 2x16 Alphanumeric LCD Display
- SD card mounted on Ethernet Shield (I don't use the Ethernet for this project, just the SD interface)
- 3 NPN Transistors that activate relays that control the grow light, heater and exhaust fan (I use 2 PowerSwitch Tails and a Relay from Sparkfun)
The pin map can easily be deciphered from the beginning of the code and by looking up the communication protocols used by different components
You can dig into the code for more info (be warned it's almost 900 lines of code including comments). DOWNLOAD: GrowRoomController_v1.zip
**The download includes necessary libraries that normally do not come with the Arduino IDE, it also includes a modified version of the SLCD library that uses the NewSoftSerial library to communicate with the LCD display.