首页

树莓派DHT11温湿度传感器接口

在这个项目中,我们将了解DHT11湿度和温度传感器和树莓派DHT11湿度传感器接口是如何工作的。通过将DHT11温湿度传感器与树莓派连接,您可以实现一个基本的物联网项目,就像一个简单的气象站。

概述

DHT11是一种数字传感器,由两个不同的传感器组成一个包。该传感器包含一个NTC(负温度系数)温度传感器,一个电阻式湿度传感器和一个8位微控制器转换模拟信号从这些传感器和产生数字输出。

我已经与DHT11传感器在我的Arduino上的DHT11湿度传感器项目。在那个项目中,我已经提到了DHT11传感器的引脚配置,如何将它与微控制器连接,以及如何从DHT11传感器的数字输出可以解码。

因此,我建议您参考该项目一次DHT11湿度和温度传感器的更多信息。我将解释一些我在Arduino项目中遗漏的东西。

DHT11传感器

我们知道从DHT11传感器的输出是数字的。但我们究竟如何读取这些数字数据呢?

从DHT11读取数字输出

DHT11使用单总线数据格式进行通信。像Arduino或树莓派这样的MCU和DHT11 Sensor之间只有一条数据线就足以进行信息交换。

在这种设置中,微控制器充当主控制器,DHT11传感器充当从控制器。DHT11传感器的数据输出是开漏配置,因此它必须总是在5.1KΩ电阻的帮助下被拉高。

当Master不请求数据时(DHT11不会发送数据,除非Master请求),这个上拉将确保Data的状态为HIGH。

现在,我们将了解数据是如何传输的以及DHT11传感器的数据格式。当微控制器想从DHT11传感器获取信息时,接口的引脚

树莓派DHT11湿度传感器接口数据格式

微控制器被配置为输出,它将使数据线在最少18ms的时间内处于低位并释放数据线。在此之后,微控制器引脚被制成INPUT。

DHT11传感器的数据引脚为输入引脚,读取微控制器输出的LOW,作为输出引脚,在数据线上发送一个响应LOW信号约80 μ s,然后再向上拉线80 μ s。

在此之后,DHT11传感器发送一个40位的数据,其中逻辑“0”是50µs的LOW和26 ~ 28µs的HIGH的组合,逻辑“1”是50µs的LOW和70 ~ 80µs的HIGH的组合。

在传输40位数据后,DHT11数据引脚保持LOW 50 μ s,最后改变其状态为输入,接受来自微控制器的请求。

注意:我们在编程Arduino时实现了这个逻辑。但是对于树莓派,我们使用了一个库来处理所有这些事情。

树莓派DTH11温湿度传感器接口

通过将DHT11传感器与树莓派连接,您可以建立自己的物联网气象站。要实现这样的物联网天气,你只需要一个树莓派,一个DHT11湿度和温度传感器和一台连接互联网的计算机。

线路图

下图为DHT11与树莓派接口的电路图。

树莓派DHT11湿度传感器接口电路图

组件的要求

  • 树莓派3 B型
  • DHT11温湿度传感器
  • 连接电线
  • 电力供应
  • 电脑

电路设计

如果你观察电路图,就会发现连接方面并没有太多东西。您所需要做的是将DHT11传感器的VCC和GND引脚连接到树莓派的+5V和GND,然后将传感器的数据输出连接到GPIO4,即树莓派的物理引脚7。

安装DTH11库

因为我们使用的是Adafruit提供的Adafruit_DHT库,所以我们需要先将这个库安装到树莓派中。

第一步是从GitHub下载库。但在此之前,我已经在树莓派桌面创建了一个名为“library”的文件夹来放置下载的文件。你不必这么做。

现在,输入以下命令下载与Adafruit_DHT库相关的文件。

git clone https://github.com/adafruit/Adafruit_Python_DHT.git

树莓派DHT11湿度传感器接口库

所有的内容将被下载到一个名为“Adafruit_Python_DHT”的文件夹中。使用cd Adafruit_Python_DHT打开这个目录。要查看此文件夹的内容,请使用' ls '命令。

在那个文件夹中,有一个名为“setup.py”的文件。我们需要使用以下命令安装这个文件。

Sudo python setup.py install .py

树莓派DHT11湿度传感器接口库

代码

由于我们在这个项目中使用的是库Adafruit_DHT,所以在Python编程部分没有太多的事情要做。您所需要做的就是调用带有Sensor和GPIO引脚的库,并打印温度和湿度的值。

工作

按照电路图进行连接,安装库。使用上面的python程序查看结果。

树莓派DHT11湿度传感器接口输出

应用程序

DHT11温湿度传感器是爱好者在许多物联网项目中使用的流行传感器模块之一。该传感器与树莓派一起还可以用于:

  • 暖通空调系统
  • 恒温器
  • 家庭和办公室气候控制
  • 气象站

4的反应

  1. 谢谢!这是我的第一个带有传感器的Python项目……现在我正试图弄清楚如何添加时间戳。谢谢!

  2. 我在proteus上实现这个电路,所以我应该如何开始为这个项目的模拟编程部分?
    我是否需要在我的电脑上下载传感器和LCD的adafruit库

留言回复

您的电邮地址将不会公布。

Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map