GithubHelp home page GithubHelp logo

bbustin / climaduino Goto Github PK

View Code? Open in Web Editor NEW
26.0 8.0 9.0 155 KB

Open source thermostat with humidity control for the Arduino using the DHT22 sensor

License: GNU General Public License v2.0

C++ 35.23% Arduino 64.77%

climaduino's Introduction

Climaduino Thermostat

The Climaduino is a DIY Arduino-based thermostat designed to interface with a wall unit A/C. It uses the DHT22 temperature and humidity sensor in order to optimize comfort and reduce energy usage. There is an optional component, the Raspberry Pi-based Climaduino Controller, that interfaces with the thermostat to provide additional functionality.

Living in South Florida, humidity is a huge issue and the Climaduino was designed to take this into account. In Cooling / Humidity Control mode, the area is allowed to be overcooled by a set amount of degrees if it is too humid. The default is 5 degrees. In Humidity Control mode, temperature is not taken into account and the unit runs whenever humidity is too high. This mode is ideal for when no one is home (and there are no pets in the house) or when on vacation. It can save a significant amount of power and prevent coming home to a mold-infested house.

To protect the compressor and be more energy efficient, there is a minimum off time and minimum run time to prevent short cycling. The minimum run time can sometimes lead to a slight bit of overcooling or can lead to humidity going a little below the setpoint, but this appears to be pretty minimal.

There is an LCD display with the current temperature and humidity setpoints. Two buttons allow the temperature to be raised or lowered. There is currently no way to directly change the humidity setpoint or the mode without the Controller component. Tweaking the code and uploading it to the Arduino is one way to change the mode. Another way is to use the Arduino IDE to send commands to the thermostat. The next paragraph provides some more detail.

The thermostat outputs current readings, parameters, and other operational details as JSON over the serial port. It also accepts commands to be sent to it over serial to change certain parameters. This is what allows the Thermostat to be used as part of a larger climate control system. Currently the temperature setpoint (send 77F to change temperature to 77), humidity setpoint (send 55% to change humidity to 55%), and mode can be changed (send 1M to change to Humidity Control Mode). These commands should be sent with no linefeed.

The temperature setpoint, humidity setpoint, and mode are stored in EEPROM. The parameters will persist even if the power goes out, the Arduino reset button is pressed, or the Arduino is reprogrammed.

More information

See the instructable with all the information here: http://www.instructables.com/id/Introducing-Climaduino-The-Arduino-Based-Thermosta/

climaduino's People

Contributors

bbustin avatar dark4codrutz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

climaduino's Issues

Defrost Mode

Hey!. I don't see any code to handle defrost modes..
Did you thought about that? or the idea of this is to handle hvac's with automatic defrost?

Are you planning on adding different fan speeds?

No Heater setting

No heater settings in usb-stable-connected branch
I see a mode for it but no code to support :(

Strange switch in _shortCycleProtection

Hello,

I've just checked your code and it looks really interesting.
Unfortunately I'm new to Arduino and so I would like to check if I've understood correctly the code.

In the function _shortCycleProtection, why do you use a switch statement since it seems that you do exactly the same thing in both scenarii?

Thanks for the clarification.
Alexis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.