I'm pretty psyched about this so I'm happy to share!
I am using an Arduino Duemilanove microcontroller ($29). The system will run just fine with only the Arduino. I am using an old laptop to read the Arduino's serial output and display it. So for a second let's take the laptop out of the equation.
Sensors:
Humirel HM 1500 humidity sensor. I forget how much it cost me.
I built a temp sensor out of a thermistor and 10K resistor. ($3)
Actuators:
Old dorm fridge that I cleaned obsessively (free).
Sunpentown travel humidifier ($50) - I originally made a humidifier out of fish tank supplies but the fridge overpowered it.
Custom Outlet:
I used two solid state relays to individually control two outlets of a standard electrical outlet. ($30 total)
With all of that madeI wrote my arduino code. Basically I read the voltage from the sensors via the Arduino analog input, then convert the voltage to a physical value (degrees F or % humidity). Based on those values I turn the outlets on or off using the digital outputs of the Arduino.
Finally, my laptop sees the Arduino as a serial port when connected so I send some serial strings to the computer and parse/display the values using a simple LabVIEW program.
A couple of notes, the fridge cannot be turned on and off too quickly or it will not respond. It seems to have some internal timer (a capacitor or something) that is not even overridden by cutting power. I used some averaging of the temp values as well as hystersis (for example, I want 50F so I turn the fridge on at 51F and I turn it off at 49F) this keeps the fridge operating correctly.
The humidity is easy but I do have some fear that I am punishing the humidifier. It turns on an off a lot but it seems to be necessary in order to keep the humidity tolerance tight.
I've attached some pics.
Let me know what you think and I'd love some feedback.