How to Create a Thermostat with Arduino

I wish to autonomously control the temperature in an off grid environment. The fan and the heater will be plugged into a portable battery pack. I would like to use an Arduino micro-controller to accomplish the following:

  • Sense and record the temperature in Fahrenheit.
  • Create a real time graph of the temperature versus time in Excel.
  • Turn on the fan or the heater when necessary to keep the temperature near a desired set point.

What programming and electronics experience do you have ?

DS18B30 is a much better temperature sensor than the DS18B20.

Thermostat uses 2 temperatures, high and low limits. It uses hysteresis. If you don’t know, it’s worth looking up.
If the limits are too close, operation gets jerked-around to inefficiency and wearing out, furnace would light too frequently.

Welcome to the forum.

Please read the post at the start of any forum , entitled "How to use this Forum".

Have you googled;

arduino temperature controller logger

Can you please tell us your electronics, programming, arduino, hardware experience?

Thanks.. Tom.. :slight_smile:

I have experience programming with Scratch and Python. I have taken one year of calculus based physics, which covers electricity and magnetism. I have read through the guides posted on the Arduino Foundations page.

I am using the following online tutorials to complete my project. I just don't know if I am on the right track.

I have completed a tutorial that uses a thermistor to record the temperature in Fahrenheit.

I am currently working on a tutorial that saves the data appearing in Serial Monitor to a spreadsheet.

I am trying to have the fan and heater automatically turn on when necessary to keep the temperature near a desired set point. I aim to complete a tutorial that expands on this concept to create a thermostat, but I am not sure it will do what I intend.

For autonomous operation, you also need to consider what to do if the fan cannot cool the temperature or the heater cannot bring the temperature up to what is set. That entails knowing how much time to allocate to each operation, so the program can alarm if either cool or heat fails.