Adafruit CircuitPython DHT 使用教程
1. 项目介绍
本项目是基于 CircuitPython 的开源库,用于支持 DHT11 和 DHT22 温湿度传感器。CircuitPython 是一种面向微控制器的简化版 Python,本项目可以帮助开发者轻松地在 CircuitPython 环境下读取 DHT11 和 DHT22 传感器的温度和湿度数据。
2. 项目快速启动
环境准备
- 确保你的系统支持 CircuitPython,并且已经安装了相应的环境。
- 确保你的微控制器板(如 Raspberry Pi、Adafruit Feather 等)已经烧录了 CircuitPython 固件。
安装库
将以下代码块中的内容复制到你的 CircuitPython 设备上,以安装 Adafruit_CircuitPython_DHT 库:
import usb Serial
import time
# 检查你的设备连接到哪个端口
board = usb Serial.get serial ports()[0]
# 与设备建立连接
ser = serial.Serial(board, 115200)
# 安装库
ser.write(b'pip install adafruit-circuitpython-dht\n')
time.sleep(5) # 等待安装完成
初始化传感器
在你的 CircuitPython 脚本中,导入库并初始化传感器:
from adafruit_dht import DHT11, DHT22
from board import *
# 选择一个连接到 DHT 传感器的引脚
sensor_pin = D4
# 初始化 DHT11 或 DHT22 传感器
dht = DHT11(sensor_pin) # 对于 DHT11
# dht = DHT22(sensor_pin) # 对于 DHT22
读取数据
使用以下代码来读取温度和湿度数据:
# 读取温度和湿度
temperature = dht.temperature
humidity = dht.humidity
print(f"温度: {temperature} 度C, 湿度: {humidity}%")
确保在读取数据后至少等待 2 秒钟再次读取,以防止数据错误。
3. 应用案例和最佳实践
- 案例:制作一个简单的温湿度监测器,将数据发送到网络服务器或通过蓝牙显示在手机应用上。
- 最佳实践:在读取数据时,使用适当的错误处理逻辑来处理可能的异常。
try:
temperature = dht.temperature
humidity = dht.humidity
print(f"温度: {temperature} 度C, 湿度: {humidity}%")
except RuntimeError as error:
print("读取数据时出错,请稍后再试。", error)
time.sleep(2) # 等待至少2秒后重试
4. 典型生态项目
- 项目:使用 CircuitPython 和 Adafruit_CircuitPython_DHT 库开发的智能家居系统中的环境监测模块。
- 特色:通过 Wi-Fi 将温湿度数据上传到云端平台,实现远程监控和数据分析。