Adafruit CircuitPython模块安装
要将DHT传感器与Adafruit CircuitPython板一起使用,您需要安装Adafruit_CircuitPython_DHT模块。
首先,确保您正在运行Adafruit CircuitPython的最新版本你的董事会。
接下来,您需要安装使用硬件所需的库——请仔细按照以下步骤查找并安装这些库Adafruit的CircuitPython库包.我们的介绍指南有一个关于如何安装库包的很棒的页面适用于快速板和非快速板。
记住,对于像the这样的非快速板,你需要手动从bundle中安装必要的库:
- adafruit_dht.mpy
你也可以下载adafruit_dht.mpy从它在Github上的发布页面.
在继续之前,请确保您的电路板的lib文件夹或根文件系统具有adafruit_dht.mpy模块复制过来。
布线
DHT接线非常简单:
- 最左边的别针是权力.我们建议从5V供电(有时3V是不够的)-这是可以的,即使你使用3.3V的逻辑
- 第二个引脚是数据.从这个引脚连接一个10K上拉电阻到3.3V。如果你使用的是DHT11,这是必须的。如果你使用的是DHT22或AM2302,你有时可以把这个关掉
- 跳过第三根针
- 最右边的大头针是地面
使用
为了演示DHT传感器模块的用法,您可以连接到单板的串行REPL并运行Python代码来读取温度和湿度。
下一个连接到电路板的串行REPL你现在在python马戏团>>>提示。
接下来导入董事会而且adafruit_dht模块,这些是初始化和访问传感器的必要模块:
您可能还想尝试从5V为DHT传感器供电(我们发现有时它确实需要更多的功率),但仍然有10K上拉电阻到3.3V伏)
属性的实例DHT11或DHT22类,这取决于您使用的传感器类型(对于AM2302传感器,使用DHT22类)。必须输入连接到信号线的引脚,例如连接到板引脚的DHT22或AM2302传感器D6
需要这样的代码:
注意,对于DHT11传感器,您将使用adafruit_dht。DHT11代替adafruit_dht。DHT22上面的代码。
在这一点上,你都设置好了,准备开始阅读温度和湿度!您可以通过阅读温度返回温度(摄氏度)的属性:
读取湿度抓取的值湿度属性,它将返回湿度百分比作为从0到100%的浮点值:
在大多数情况下,您总是会在请求时返回一个温度或湿度值,但有时如果有电气噪声或信号以某种方式中断,您可能会看到抛出异常以再次尝试。这些传感器有时难以读取是正常的,如果读取失败,您可能需要让代码重试几次。然而,如果你总是出错,无法读取传感器,那么请再次检查接线(如果需要,不要忘记上拉电阻!)和设备的电源。
# SPDX-FileCopyrightText: 2017 Limor Fried for Adafruit Industries # # SPDX-License-Identifier: MIT import time import adafruit_dht import board dht = adafruit_dht. dht22 (board. d2) while True: try: temperature = dht。温度湿度= dht。湿度# Print what we got to the REPL print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity)) except RuntimeError as e: # Reading doesn't always work! Just print error and we'll try again print("Reading from DHT failure: ", e.args) time.sleep(1)
如果您使用的是DHT11,请将代码更改为使用adafruit_dht.DHT11 (board.D2)
对象。
打开REPL查看输出!对着传感器呼气,就能看到温度和湿度上升(除非你是异鬼,否则温度会下降)。