CircuitPython support for the DHT11 and DHT22 temperature and humidity devices.
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.
Installing from PyPI¶
On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:
pip3 install adafruit-circuitpython-dht
To install system-wide (this may be required in some cases):
sudo pip3 install adafruit-circuitpython-dht
To install in a virtual environment in your current project:
mkdir project-name && cd project-name python3 -m venv .env source .env/bin/activate pip3 install adafruit-circuitpython-dht
Designed specifically to work with the Adafruit DHT series sensors:
- Adafruit DHT22 temperature-humidity sensor + extras
- Adafruit DHT11 temperature-humidity sensor + extras
DHT11 and DHT22 devices both need a pull-resistor on the data signal wire. This resistor is in the range of 1k to 5k
- Please check the device datasheet for the appropriate value.
- Be sure that you are running Buster Operating System.
- Make sure that your user is part of the
- Library may or may not work in Linux 64-bit platforms
- Raspberry PI-ZERO does not provide reliable readings
- Readings in FeatherS2 does not work as expected.
Of course, you must import the library to use it:
The DHT type devices use single data wire, so import the board pin
from board import <pin>
Now, to initialize the DHT11 device:
dht_device = adafruit_dht.DHT11(<pin>)
OR initialize the DHT22 device:
dht_device = adafruit_dht.DHT22(<pin>)
Read temperature and humidity¶
Now get the temperature and humidity values
temperature = dht_device.temperature humidity = dht_device.humidity
These properties may raise an exception if a problem occurs. You should use try/raise logic and catch RuntimeError and then retry getting the values after at least 2 seconds. If you try again to get a result within 2 seconds, cached values are returned.
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.