MicroPython读取DHT12

2017-07-181.2万
AI 快速预览详细 收起
本文介绍了如何使用MicroPython和FireBeetle Board-ESP32读取DHT12温湿度传感器的数据。DHT12是DHT11的升级版,支持I2C和单总线通信。在单总线模式下,DHT12兼容DHT11,但无法读取0℃以下温度,温度测量分辨率为1℃。湿度测量范围为20~99%。文章提供了详细的接线图和代码示例,适用于STEM教育和儿童科学实验。


前言:
      DHT12是奥松家的一款数字温湿度传感器,是我们所熟知的DHT11的升级版。DHT12温度检测范围是-20~60℃,温度分辨率为0.1℃(DHT11测量温度为0~50℃,温度测量分辨率为1℃)。DHT12支持I2C和单总线通信,单总线模式下兼容DHT11,但无法读取0℃以下温度,温度测量分辨率为1℃。DHT12湿度测量范围20~~99%,与DHT11无异。DHT12数据处理与DHT11有细微区别,所以自己稍微改了一下MicroPython官方模块以适配DHT12。

硬件:
FireBeetle Board-ESP32  *1
DHT12                             *1
面包板                              *1
杜邦线                              *4

软件:
uPyCraft v0.21


接线:
MicroPython读取DHT12图1
本例使用的是单总线模式。
接线如下:
VDD->3V3
SDA->GPIO27
GND->GND
SCL->GND


代码如下:
[mw_shl_code=applescript,true]import DHTsensor
import machine
import time
d = DHTsensor.DHT12(machine.Pin(27))
while True:
  d.measure()
  print("temperature:")
  print(d.temperature())
  time.sleep(1)
  print("humidity:")
  print(d.humidity())[/mw_shl_code]


演示效果:
MicroPython读取DHT12图2

注:此驱动支持DHT11/DHT12/DHT22

DHT12数字温湿度传感器数据手册.zip

679.98 KB, 下载次数: 7582

DHTsensor.zip

467 Bytes, 下载次数: 7436

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
Chocho2017
Chocho2017
评论内容
秦皇岛岛主
秦皇岛岛主
楼主厉害,大赞
- 没有更多了 -