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)

程序特点

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

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

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

  • 简洁性:代码清晰易懂

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

相关推荐
Hy行者勇哥10 小时前
从人工账本到智能终端:智能硬件核算碳排放的 演进史
大数据·人工智能·边缘计算·智能硬件
北京青翼科技12 小时前
【PCIE044】基于复旦微 JFM7VX690T 的全国产化 FPGA 开发套件
图像处理·人工智能·fpga开发·信号处理·智能硬件
Qoitech 中国15 小时前
Otii 应用场景系列:使用 Otii Arc和Otii Ace进行差分测量
嵌入式硬件·物联网·自动化·集成测试·智能硬件
lanhuazui101 天前
EEPROM和外部flash区别
智能硬件
想你依然心痛3 天前
视界无界:基于Rokid眼镜的AI商务同传系统开发与实践
人工智能·智能硬件·rokid·ai眼镜·ar技术
ocr_ww4 天前
护照阅读器,不止识读护照、多种证件识别、安全特征检测
安全·智能硬件
Mike_Wuzy11 天前
【镜头】AR、IR、VR的基础解释
智能硬件
北京青翼科技15 天前
【HD200IS A2 DK 】昇腾 310B 高可靠智能计算开发套件
图像处理·人工智能·信号处理·智能硬件
容沁风17 天前
Chartjs画二氧化碳浓度曲线
ai·esp32·micropython·二氧化碳传感器
容沁风23 天前
用ai来写一个CO2传感器检测
esp32·micropython·microdot·二氧化碳传感器