📜  DHT22 树莓派零连接器 - Python (1)

📅  最后修改于: 2023-12-03 14:40:43.404000             🧑  作者: Mango

DHT22 树莓派零连接器 - Python

在树莓派零上连接 DHT22 温湿度传感器并获取传感器数据,使用 Python 编程语言。

硬件设置
  • DHT22 传感器: 将 DHT22 传感器的 VCC 引脚连接到树莓派零的 5V 引脚上,将 GND 引脚连接到树莓派零的 GND 引脚上,将数据引脚连接到树莓派零的 GPIO4 引脚上。

DHT22 connection diagram

只需连接 VCC、GND 和数据引脚,因为 DHT22 传感器的第四个引脚(专用输出)不被使用。

代码实现
  1. 安装 Adafruit Python DHT 库。
sudo apt-get update
sudo apt-get install python3-pip
sudo python3 -m pip install Adafruit_DHT
  1. 实现代码。
import Adafruit_DHT

# 常量
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4

# 从 DHT22 传感器获取温度和湿度
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)

# 检查读取是否成功
if humidity is not None and temperature is not None:
    print(f"Temperature={temperature:.1f}°C, Humidity={humidity:.1f}%")
else:
    print("Failed to retrieve data from DHT22 sensor")
代码解释
  1. 引入 Adafruit_DHT 库。
import Adafruit_DHT
  1. 定义常量。
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
  1. 使用 Adafruit_DHT 库中的 read_retry() 函数从 DHT22 传感器中读取温度和湿度数据,如果无法读取,则自动重试。
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
  1. 检查是否从 DHT22 传感器成功读取数据。
if humidity is not None and temperature is not None:
    print(f"Temperature={temperature:.1f}°C, Humidity={humidity:.1f}%")
else:
    print("Failed to retrieve data from DHT22 sensor")

如果从 DHT22 传感器成功读取数据,则在终端中打印温度和湿度数据;否则,在终端中打印错误消息。

结论

通过连接 DHT22 传感器,并使用 Python 编程语言,可以轻松地从树莓派零获取温度和湿度数据。