Arduino - Control Temperature
In this tutorial, we are going to control the room temperature to a comfortible range using a Arduino, DS18B20 temperature sensor, fan and heating elemen. When the temperature is too hot, turn on the cooling fan to ventilate. When the temperature is cold, turn off the cooling fan and turn on the heating element.
Or you can buy the following sensor kit:
|1||×||DIYables Sensor Kit 30 types, 69 units|
Buy Note: Many DS18B20 sensors on the market are low-quality. We highly recommend buying the sensor from the DIYables brand using the link above. We tested it, and it worked well.
About Room Temperature Control System
In short, Arduino will turn on the fan when the room is hot and turn on the heating element when the room is cold. The below is the detail of how a room temperature control system works by taking an example of controling the room temperature from 18°C to 26°C:
- Arduino reads the temperature from the temperature sensor
- If the temperature exceeds 26°C, Arduino turns on the fan and turns off the heating element
- If the temperature falls below 18°C, Arduino turns off the fan and turns on the heating element
The above process is repeated infinitely in the loop.
The fan works as a ventilator.
If you do not know about temperature sensor, heating element and fan (pinout, how it works, how to program ...), learn about them in the following tutorials:
This image is created using Fritzing. Click to enlarge image
Please note that, for the sake of simplicity, the above diagram shows two 12V DC power adapters, but in practice, you can use a single 12V DC power adapter for both the fan and heating element.
In the above code, the Arduino turn on the fan when the temperature exceeds 25°C, and keep the fan on until the temperature is below 20°C
- Connect Arduino to PC via USB cable
- Open Arduino IDE, select the right board and port
- On Arduino IDE, Go to Sketch Include Library Manage Libraries
- Search “OneWire”, then find the OneWire library by Paul Stoffregen
- Click Install button to install OneWire library.
- Search “Dallas”, then find the DallasTemperature library by Miles Burton.
- Click Install button to install DallasTemperature library.
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to Arduino
- Make enviroment around sensor hotter or colder
- See the state of fan and heating element
We are considering to make the video tutorials. If you think the video tutorials are essential, please subscribe to our YouTube channel to give us motivation for making the videos.