Dependencies¶
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.
Usage Example¶
Hardware Set-up¶
The 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 your device datasheet for the appropriate value.
Basics¶
Of course, you must import the library to use it:
import adafruit_dht
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 1/2 second.
Contributing¶
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.
Building locally¶
To build this library locally you’ll need to install the circuitpython-build-tools package.
python3 -m venv .env
source .env/bin/activate
pip install circuitpython-build-tools
Once installed, make sure you are in the virtual environment:
source .env/bin/activate
Then run the build:
circuitpython-build-bundles --filename_prefix adafruit-circuitpython-veml6070 --library_location .
Sphinx documentation¶
Sphinx is used to build the documentation based on rST files and comments in the code. First, install dependencies (feel free to reuse the virtual environment from above):
python3 -m venv .env
source .env/bin/activate
pip install Sphinx sphinx-rtd-theme
Now, once you have the virtual environment activated:
cd docs
sphinx-build -E -W -b html . _build/html
This will output the documentation to docs/_build/html
. Open the index.html in your browser to
view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to
locally verify it will pass.
Table of Contents¶
Simple test¶
Ensure your device works with this simple test.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import time
from board import D2
import adafruit_dht
#initial the dht device
dhtDevice = adafruit_dht.DHT22(D2)
while True:
try:
# show the values to the serial port
temperature = dhtDevice.temperature * (9 / 5) + 32
humidity = dhtDevice.humidity
print("Temp: {:.1f} F Humidity: {}% ".format(temperature, humidity))
except RuntimeError as error:
print(error.args)
time.sleep(2.0)
|
adafruit_dhtlib
¶
CircuitPython support for the DHT11 and DHT22 temperature and humidity devices.
- Author(s): Mike McWethy
-
class
adafruit_dht.
DHT11
(pin)[source]¶ Support for DHT11 device.
Parameters: pin (Pin) – digital pin used for communication
-
class
adafruit_dht.
DHT22
(pin)[source]¶ Support for DHT22 device.
Parameters: pin (Pin) – digital pin used for communication
-
class
adafruit_dht.
DHTBase
(dht11, pin, trig_wait)[source]¶ base support for DHT11 and DHT22 devices
-
humidity
¶ humidity current reading. It makes sure a reading is available
Raises RuntimeError exception for checksum failure and for insuffcient data returned from the device (try again)
-
measure
()[source]¶ measure runs the communications to the DHT11/22 type device. if successful, the class properties temperature and humidity will return the reading returned from the device.
Raises RuntimeError exception for checksum failure and for insuffcient data returned from the device (try again)
-
temperature
¶ temperature current reading. It makes sure a reading is available
Raises RuntimeError exception for checksum failure and for insuffcient data returned from the device (try again)
-