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)

程序特点

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

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

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

  • 简洁性:代码清晰易懂

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

相关推荐
未来之窗软件服务2 天前
未来之窗昭和仙君(二十七)智能硬件交互功——东方仙盟筑基期
智能硬件·仙盟创梦ide·东方仙盟·昭和仙君·东方仙盟架构
空影星2 天前
SiriKali,一款跨平台的加密文件管理器
python·编辑器·电脑·智能硬件
空影星3 天前
Tablecruncher,一款轻量级CSV编辑器
python·编辑器·电脑·智能硬件
hazy1k10 天前
K230基础-录放视频
网络·人工智能·stm32·单片机·嵌入式硬件·音视频·k230
hazy1k11 天前
K230基础-录放音频
人工智能·stm32·单片机·嵌入式硬件·音视频·k230
hazy1k12 天前
K230基础-获取触摸坐标
图像处理·stm32·单片机·嵌入式硬件·k230
电子科技圈13 天前
芯科科技第三代无线SoC现已全面供货
嵌入式硬件·mcu·物联网·网络安全·智能家居·智能硬件·iot
hazy1k20 天前
K230基础-显示画面
stm32·单片机·嵌入式硬件·k230