Arduino MicroPython DHT11 Temperature Humidity Sensor
This guide shows you how to use the DHT11 temperature and humidity sensor with Arduino and MicroPython. You will learn:
- How to connect the DHT11 sensor and module to an Arduino.
- How to write MicroPython code for the Arduino to read temperature and humidity data from the DHT11 sensor and module.
Hardware Preparation
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some of these links are for products from our own brand, DIYables.
Overview of DHT11 Temperature and Humidity Sensor
DHT11 | |
---|---|
Operating Voltage | 3 to 5V |
Temperature Range | 0°C to 50°C |
Temperature Accuracy | ± 2°C |
Humidity Range | 20% to 80% |
Humidity Accuracy | 5% |
Reading Rate | 1Hz (once every second) |
Pinout
There are two types of DHT11: a sensor and a module.
The DHT11 sensor has four pins:
- GND pin: Connect to GND (0 volts)
- VCC pin: Connect to VCC (5 volts or 3.3 volts)
- DATA pin: Used for communication between the sensor and Arduino
- NC pin: Not used, you can ignore it
The DHT11 module has three pins:
- GND pin: Connect to GND (0 volts)
- VCC pin: Connect to VCC (5 volts or 3.3 volts)
- DATA pin: Used for communication between the sensor and Arduino
Some manufacturers provide the DHT11 sensor as a module with three pins labeled GND, VCC, and DATA (or sometimes as -, +, and OUT).
Wiring Diagram
Arduino - DHT11 Sensor Wiring Diagram
To connect the DHT11 sensor to the Arduino, use a resistor ranging from 5K to 10K Ohms. This resistor keeps the data line high, ensuring good communication between the sensor and the Arduino. We need to use a breadboard in this case.
This image is created using Fritzing. Click to enlarge image
Arduino - DHT11 Module Wiring Diagram
Most DHT11 sensor modules have a resistor already included, so you don't need to add another one. This simplifies the process of wiring or soldering.
- How to connect Arduino and DHT11 temperature humidity module
This image is created using Fritzing. Click to enlarge image
Arduino MicroPython Code - DHT11
Detailed Instructions
Here’s instructions on how to run the above MicroPython code on Arduino with Thonny IDE:
- Make sure Thonny IDE is installed on your computer.
- Make sure MicroPython firmware is installed on your Arduino board.
- If you are new to Arduino with MicroPython, see the Getting Started with Arduino and MicroPython.
- Connect the DHT11 sensor/module to Arduino board according to the provided diagram.
- Connect the Arduino board to your computer with a USB cable.
- Open Thonny IDE and go to Tools Options.
- Under the Interpreter tab, select MicroPython (generic) from the dropdown menu.
- Select the COM port corresponding to your Arduino board (e.g., COM33 on Windows or /dev/ttyACM0 on Linux).
- Copy the provided MicroPython code and paste it into Thonny\'s editor.
- Save the MicroPython code to your Arduino by:
- Clicking the Save button or pressing Ctrl+S.
- In the save dialog, choose MicroPython device and name the file main.py.
- Click the green Run button (or press F5) to execute the code.
- Change the temperature near the DHT11 sensor to make it warmer or cooler.
- Check out the message in the Shell at the bottom of Thonny.