In this instructable we look at how to build a Smart Thermostat. What makes this thermostat so smart you ask? Here is a list of some of its smart features:

  • It can be controlled by your Android device, which gives you one less reason to get up from the couch or get out of bed.
  • High accuracy temperature measurement capability. The cheap thermostats that are in most homes can have error ranges of +/- 2 degrees!
  • High resolution temperature settings to go with the great temperature accuracy, if you have a very slim temperature comfort zone this will give you the temperature setting resolution to hit your zone.
  • No more trying to change the temperature or search for a setting with only one or two buttons and a tiny screen, this thermostat comes with a lot of buttons and a large display for making easy and quick changes.

The project is laid out in a series of three videos. The Arduino code can be found on GitHub (link provided in video). You can access the Andriod App .aia file using this link: https://dl.dropboxusercontent.com/u/26591541/Smart...

<p>Hi friend,</p><p>I need temperature in Celsius not Fahrenheit, can you give me conversion string to do this??</p><p>thanks</p>
<p>In my project <a href="https://www.instructables.com/id/Wireless-Sensor-Node-With-the-NRF24L01/" rel="nofollow">Wireless Sensor Node with the nRF24L0</a>1 I convert from F to C so you can leverage it from that code</p>
Hi,<br>but code in not complete!!<br>#include <br>#include <br>#include <br><br>// start RF24 communication layer<br>RF24 radio(9,10);<br><br>// start RF24 network layer<br>RF24Network network(radio);<br><br>// Coordinator address<br>const uint16_t thisNode = 00;<br><br>// Structure of our payload coming from router and end devices<br>struct Payload<br>{<br> float aDCTemp; //temperature from onboard sensor<br> bool batState; //bool to communicate battery power level, true is good and false means battery needs to be replaced<br>};<br><br>void setup(void)<br>{<br> Serial.begin(57600);<br> Serial.println(&quot;Coordinator is online.....&quot;);<br> <br> SPI.begin();<br> radio.begin();<br> network.begin(90, thisNode);<br>}<br><br>void loop(void)<br>{<br> //check network communication regularly<br> network.update();<br><br> RF24NetworkHeader header; //create header variable<br> Payload payload; //create payload variable<br> // Any data on the network ready to read<br> while ( network.available() )<br> {<br> // If so, grab it and print it out<br> network.read(header,&amp;payload,sizeof(payload));<br> Serial.print(&quot;The node this is from: &quot;);<br> Serial.println(header.from_node);<br> Serial.print(&quot;Temperature: &quot;);<br> Serial.print(payload.aDCTemp);<br> Serial.print(&quot; Battery status: &quot;);<br> Serial.println(payload.batState);<br> }<br>}
<p>Nice project, although I would use an <a href="http://www.geekstips.com/esp8266-arduino-tutorial-iot-code-example/" rel="nofollow">ESP8266 Arduino</a> instead of the bluethoot module. But good schematics anyway, love your work.</p>
<p>Thanks, I am actually thinking of upgrading this project to add WiFi. Let me know if you get it up and running with the ESP8266</p>
<p>Awesome project!</p>
nice project, scratch cmon man learn you some c! jk :)
<p>Awesome. Thanks for sharing :)</p>
<p>great project! Because my home contains 3 thermistor stats, I would want to go with a WiFi approach. This way you do not have to Bluetooth attach to each module and you could also potentially do this remotely / away from home. Sort of like the AT&amp;T Digital Life. I love this. </p>
<p>Thanks! Yeah with the recent release / availability of the low cost ESP8266 WiFi to serial module I may have to do an upgrade to WiFi in the future. </p>
<p>I love it. Thanks for sharing.</p>
<p>Hey Thanks! Please vote for this project in the &quot;Coded Creations Contest&quot;</p>
<p>A good way, I do not know if my phone can support this</p>
<p>use an ESP8266 module instead of bluetooth ;)</p>
<p>Yeah, I went back and forth on WiFi versus Bluetooth on this project. Settled on Bluetooth most likely because I already had some Bluetooth modules ;-)</p>
Nice idea.
<p>It would awesome if you added parts 2 and 3 right here, as additional steps! This is some great info, and I think the audience here will really dig it. </p><p>Congrats on your first instructable! :)</p>
<p>Done and done</p>

About This Instructable




More by ForceTronics:Removing Solder Bridges on Small Pins Analog Sensor Signal Conditioning Circuit How to Get More Functionality Out of Your Arduino Zero 
Add instructable to: