logo

玩转树莓派(23)——DHT11温湿度传感器实践

作者:有好多问题2024.02.18 13:40浏览量:50

简介:通过这篇文章,你将了解如何使用树莓派和DHT11温湿度传感器来监测环境中的温度和湿度。我们将一起完成硬件连接、编写代码以及数据可视化的全过程。

在上一篇文章中,我们介绍了如何使用树莓派来读取GPIO引脚的数据。今天,我们将进一步探索如何使用DHT11温湿度传感器来监测环境中的温度和湿度。

首先,我们需要了解一下DHT11温湿度传感器。DHT11是一款常用的数字温湿度传感器,它可以测量温度和湿度,并通过简单的数据线将数据传输到微控制器上。

步骤一:硬件连接

将DHT11的VCC引脚连接到树莓派的5V引脚,将GND引脚连接到树莓派的GND引脚,将DATA引脚连接到树莓派的任意一个GPIO引脚上。

步骤二:安装库文件

在树莓派上安装Python库来读取DHT11的数据。可以使用以下命令安装:

  1. sudo apt-get install python3-dev python3-pip
  2. pip3 install Adafruit_DHT

步骤三:编写代码

下面是一个简单的Python代码示例,用于从DHT11传感器读取温度和湿度数据:

  1. import Adafruit_DHT
  2. import datetime
  3. # 定义传感器类型和GPIO引脚号
  4. sensor = Adafruit_DHT.DHT11
  5. pin = 4
  6. # 读取传感器数据
  7. humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
  8. # 输出数据和时间戳
  9. if humidity is not None and temperature is not None:
  10. print('温度:{0:0.1f}°C,湿度:{1:0.1f}%'.format(temperature, humidity))
  11. print('时间戳:{0}'.format(datetime.datetime.now()))
  12. else:
  13. print('无法获取温度和湿度数据')

步骤四:数据可视化

如果你想将温度和湿度数据可视化,可以使用Python的可视化库matplotlib。首先,安装matplotlib库:

  1. pip3 install matplotlib

然后,你可以使用以下代码将数据可视化:

```python
import matplotlib.pyplot as plt
import numpy as np
import Adafruit_DHT
import datetime

定义传感器类型和GPIO引脚号

sensor = Adafruit_DHT.DHT11
pin = 4

初始化数据列表

data = []
timestamps = []

循环读取传感器数据并添加到列表中

while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
data.append((temperature, humidity))
timestamps.append(datetime.datetime.now())
print(‘温度:{0:0.1f}°C,湿度:{1:0.1f}%’.format(temperature, humidity))
print(‘时间戳:{0}’.format(datetime.datetime.now()))
else:
print(‘无法获取温度和湿度数据’)
break

可视化数据

x = np.arange(len(data)) * 30 # 时间间隔为30秒
y1 = [d[0] for d in data] # 温度数据列表
y2 = [d[1] for d in data] # 湿度数据列表
plt.plot(x, y1, label=’温度’) # 绘制温度曲线图
plt.plot(x, y2, label=’湿度’) # 绘制湿度曲线图

相关文章推荐

发表评论

活动