【教程】小安派BW21-CBV-Kit——读取 DHT 温湿度传感器

[复制链接]
查看50 | 回复6 | 5 天前 | 显示全部楼层 |阅读模式

用料

示例

DHT11 是一款温湿度传感器,工作电压为 3.3V 至 5V。 在室温下,湿度的可测量范围为 20% ~ 90%RH,精度为 ±5%RH;温度的可测量范围为 0 ~ 50℃,精度为 ±2℃。

另一种温湿度传感器是 DHT22 传感器,其精度更高。 其湿度测量范围为 0%~100%RH,精度为 ±5%RH;温度测量范围为 -40~125 ℃,精度为 ±0.2℃。

传感器上有 4 个引脚:

由于 4 个引脚中有一个没有功能,因此市场上出现了只有 3 个引脚的温度/湿度传感器:

DHT 通常处于休眠状态。 请按照以下步骤获取温湿度数据:

  • 唤醒 DHT:BW21-CBV-Kit 将其 GPIO 的 DATA 引脚置低。
  • 现在,GPIO 的 DATA 引脚用作 BW21-CBV-Kit 的数字输出。
  • DHT 响应: DHT 也将其 GPIO 的 DATA 引脚拨至低电平。 现在,GPIO 的 DATA 引脚作为 BW21-CBV-Kit 的数字输入。
  • DHT 发送数据: DHT 以逐位方式发送温湿度数据(大小为 5 个字节)。
  • 为了表示每一位,DHT 首先将 GPIO 的 DATA 引脚拉低一段时间,然后拉高。 如果高电平的持续时间小于低电平的持续时间,则代表第 0 位。 否则代表第 1 位。

请注意,如果使用的 DHT 传感器没有安装在 PCB 上,则必须添加一个 10K 欧姆的上拉电阻。 您可以参考接线图。

BW21-CBV-Kit 接线图: 没有底板的 DHT 传感器

装有 PCB 底板的 DHT 传感器:

"Files" -> "Examples" -> "AmebaGPIO" -> "DHT_Tester "中打开示例代码。 编译并上传到 BW21-CBV-Kit,然后按下重置按钮。 结果将显示在串行监视器上。

代码参考

使用 dht.readHumidity() 读取湿度值,使用 dht.readTemperature() 读取温度值。 每次读取温度/湿度数据时,BW21-CBV-Kit 都会使用缓冲的温度/湿度数据,除非发现数据已过期(即超过 2 秒未更新)。 如果数据过期,BW21-CBV-Kit 会向 DHT 发出请求,读取最新数据。

用心做好保姆工作
回复

使用道具 举报

WT_0213 | 5 天前 | 显示全部楼层
新年大放送,教程也连发了。能积分兑换不
回复 支持 反对

使用道具 举报

爱笑 | 5 天前 | 显示全部楼层
WT_0213 发表于 2024-12-31 15:59
新年大放送,教程也连发了。能积分兑换不

可以的
用心做好保姆工作
回复 支持 反对

使用道具 举报

新年还那么肝
回复 支持 反对

使用道具 举报

iiv | 4 天前 | 显示全部楼层
nice
回复

使用道具 举报

回复

使用道具 举报

WildboarG | 前天 10:54 | 显示全部楼层
快过年了,园长也开始肝了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则