This project uses an Arduino Nano, a RTC, a rotary encoder, a Nokia 5110 display and a relay. It allows manual and programmed setting of temperature, and furnace control.

You can see a video of the system, a breakdown of the code, and how I put it together here: Arduino Programmable Thermostat

Step 1: The Real Time Clock

The DS3231 RTC is an I2C device. So in addition to needing +5V and ground, it has a clock pin (SCK) that connects to A5 and a data pin (SDA) that connects to A4.

The clock is set in the setup() function the first time you run the program with the following code:








Make sure to comment them out and reset the Arduino after setting the clock.

<p>Hi, the code to download link seems to does'nt work </p>
<p>Hi, very good project. I was just wondering about the accuracy of your thermostat. Including a PID mode would make it totally professional, I think there's an Arduino library for that. Keep up!</p>
the real time clock is a little useless and expensive, you can use the fonction millis() in your code.<br>however it's a nice project :p
any plans for a cooling cycle option?
<p>Muy interesante tu trabajo. Felicitaciones.</p>
<p>Good instructable :) I wish our thermostat was more reliable. It tends to overshoot the set temperature.</p>
<p>Swansong, I believe that most commercial thermostats have +/- 2 deg dead zone to keep them from switching on and off all the time. Thanks for your kinds words.</p>
<p>Cool project!</p>

About This Instructable




Bio: EE Educator, Pink Floyd fan, father, human,from Earth
More by learnelectronicsyoutube:Arduino Programable Thermostat 
Add instructable to: