Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831

Warning: Cannot modify header information - headers already sent by (output started at /home/public/wordfence-waf.php:9) in /home/public/wp-includes/rest-api/class-wp-rest-server.php on line 1831
{"id":2052,"date":"2016-09-23T18:30:18","date_gmt":"2016-09-23T22:30:18","guid":{"rendered":"http:\/\/www.kathymayandsilas.com\/?p=2052"},"modified":"2018-01-29T22:37:44","modified_gmt":"2018-01-30T03:37:44","slug":"arduino-thermostat-part-1","status":"publish","type":"post","link":"http:\/\/www.kathymayandsilas.com\/2016\/09\/23\/arduino-thermostat-part-1\/","title":{"rendered":"Arduino Thermostat: Part 1 – Introduction"},"content":{"rendered":"

Our first major foray into home automation is an Arduino-controlled, Internet-connected thermostat for our apartment. Our HVAC (heating, ventilation, and air conditioning) unit doesn’t have a connection for an external thermostat, so we couldn’t just buy a Nest and hook it up. And of course it’s more fun to build and customize our own system, while learning about microcontrollers at the same time! We wanted to share our project with you; although it’s not a step-by-step tutorial, we hope that there is enough detail to inspire your own home automation projects!<\/p>\n

We had been hearing about the Arduino for a while since attending our first NYC World Maker Faire a few years ago, and we decided that this was a perfect project to make use of one. Basically, an Arduino is an inexpensive microcontroller that can be programmed like a very simple computer to check inputs such as buttons and sensors, run some logic, and drive outputs such as lights and motors. A thermostat system, for example, would use a temperature sensor as an input to decide whether the HVAC should be on or off, and a servo motor and an output to physically control the HVAC unit. The Arduino by itself has no Internet capability, but add-on components that add Ethernet or WiFi abilities can easily be attached.<\/p>\n

\"20160828_165141\"<\/p>\n

Our HVAC unit is controlled by a knob that turns the unit on or off, with several fan settings (high, medium, low). A second knob helps to control the amount of heating or cooling by cycling the heat transfer on and off. It’s not very efficient because the fan stays on at all times, and since you can’t set a temperature you basically have to guess how far to turn the knob to get the amount of heating or cooling you want. We wanted to build a system that would allow us to set a temperature like a thermostat and also to allow us to control system remotely (because who needs to go all the way across the room to turn the unit on and off?). Having it Internet-enabled would even allow us to turn the system on before reaching home, so that the apartment would already be warm when arriving home on those cold winter nights.<\/p>\n

So far, our system has the following features:<\/p>\n

    \n
  1. Measures and displays the current temperature in Celsius and Fahrenheit.<\/li>\n
  2. Turns the HVAC unit on and off mechanically via the knob on the outside of the unit, in response to a direct on\/off command or to maintain a set temperature.<\/li>\n
  3. Reports the temperature and status to a web interface.<\/li>\n
  4. Accepts commands through the web interface.<\/li>\n<\/ol>\n

    Here is a short video showing the system in action:<\/p>\n