03-Machine-2-dht.py K230外接数字温湿度传感器DHT11模块演示

dht.py 是K230外接数字温湿度传感器DHT11模块的演示程序。

01studio 的 k230_canmv_01studio镜像中,已经集成了DHT传感器驱动库,只需导入即可使用。

  • DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
  • 每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
  • 传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
  • 单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。

|-------|----------------|-------|------|-----|---------|
| 型号 | 测量范围 | 测湿精度 | 测温精度 | 分辨力 | 封装 |
| DHT11 | 20-90%RH 0-50℃ | ±5%RH | ±2℃ | 1 | 4 针单排直插 |

工作原理详细介绍:

  1. 传感器结构:DHT11包含一个电阻式测湿元件和一个NTC测温元件,这些元件与一个高性能的8位单片机连接,用于实时采集湿度和温度数据。
  2. 数据传输格式:DHT11的数据传输格式是高位在前低位在后,一次传输40位数据,包括8位湿度整数数据、8位湿度小数数据、8位温度整数数据、8位温度小数数据以及最后的8位校验和。
  3. 校准系数:传感器内部的校准系数以程序的形式存储在OTP内存中,这些系数在检测型号的处理过程中被调用以进行数据校准。
  4. 通信协议:DHT11采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。数据包由5个字节(40Bit)组成,数据分小数和整数部分,一次完整的数据传输为40bit,高位先出。
  5. 通信过程:在通信过程中,首先将总线拉低进行数据的写入,之后释放总线停止数据写入,然后再次拉低总线开始读出数据操作。通过检测DHT信号高电平的时间来判断传入的信号的值是0还是1。
  6. 校验和:数据传送正确时,校验和数据等于"8bit湿度整数数据+8位湿度小数数据+8bit温度整数数据+8bit温度小数数据"所得结果的末8位。

源代码如下:

python 复制代码
import time
import machine
import dht #导入DHT11的传感器驱动库

d = dht.DHT11(machine.Pin(12))

while True:
    try:
    
        d.measure()
        t = d.temperature()  # eg. 23 (°C)
        h = d.humidity()     # eg. 41 (% RH)
        print(f"temperature: {t}°C, humidity: {h}% RH")
    
    except OSError as e:
        if e.errno == 110:  # ETIMEDOUT
            pass  # Silently ignore timeout errors
        else:
            raise  # Re-raise other OSErrors
    
    except Exception as e:
        if "checksum error" in str(e):
            pass  # Silently ignore checksum errors
        else:
            raise  # Re-raise other exceptions
    
    time.sleep(1)

程序特点

  • 健壮性:能够处理传感器通信中的常见错误

  • 持续性:遇到错误不会停止,而是继续尝试

  • 实时性:每秒更新一次数据

  • 简洁性:代码清晰易懂

这种设计特别适合物联网应用,其中传感器偶尔的读取失败是可以接受的,而程序的持续运行更为重要。

相关推荐
魔点科技4 天前
魔点门禁门常开计划解决早高峰排队、忘落锁、多门手动调模式痛点
人工智能·智能硬件·智能门禁·考勤门禁·魔点科技
jinggongszh4 天前
2026年5月:国内知名MES系统公司选型指南 核心维度实测解析
机器人·制造·智能硬件·智能仓储
Industio_触觉智能5 天前
瑞芯微RK3576机器视觉场景之割草机+无人清扫车
嵌入式硬件·硬件工程·边缘计算·智能硬件·rk3576·割草机·rk3576j
JAMSAN09306 天前
接口“大一统”下的百亿赛道:笔记本电脑充电器市场深度分析
电脑·智能硬件
电子科技圈6 天前
边缘AI赋能物联网,芯科科技推动智能边缘创新
人工智能·嵌入式硬件·物联网·智能家居·健康医疗·智能硬件·交通物流
嵌入式ZYXC7 天前
第6章:通信接口的硬件特性——为什么你的UART乱码、I2C死锁、SPI干扰大?
stm32·单片机·嵌入式硬件·物联网·智能硬件
Victoria.H11 天前
功率电感选型与DC-DC电源设计:从饱和电流到低DCR的工程实践
智能硬件
Victoria.H11 天前
共模电感选型与EMC设计实战:从电源滤波到高速信号完整性
智能硬件
kennyS_Titan12 天前
PCB多层板升级,支撑智能硬件加速落地
人工智能·智能硬件
Victoria.H12 天前
工业以太网卡农自锁连接器全解析:从XLR出身到抗振选型实战
智能硬件