If you've ever looked into automating the temperature control in your home, you will quickly have found out that it's not a cheap prospect. The cheapest network-connected thermostat I could find was $450 US, and that's just a start. So, I decided to build my own thermostat, using an Arduino and some other components.
My thermostat directly controls my HVAC unit, which has a standard four-wire interface. One wire is common, and there is one wire for each of Heat, Cool (A/C), and Fan. I'm using an LM35 to measure the temperature, three relays to connect the HVAC, a nice 20x2 LCD display for status, and some buttons and switches, all mounted into a project box. Since the Arduino has a built-in USB interface, I use that to provide status back to the computer, and allow the computer to issue commands.