ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【CanMV K210】传感器实验 DHT11 温湿度读取与环境监测

【CanMV K210】传感器实验 DHT11 温湿度读取与环境监测 在智能硬件项目中,传感器负责把真实环境转换成程序可以处理的数据。温湿度采集是最常见的入门实验之一,空气温度、环境湿度、机房监测、农业大棚、仓储管理、智能家居都离不开这类基础数据。对于 Python 硬件编程学习而言,DHT11 实验的价值不只是打印温度和湿度,而是理解程序如何通过 GPIO 与外部传感器完成一次完整通信。本实验使用 CanMV K210 开发板连接 DHT11 温湿度传感器,DATA 数据线接到 IO6。程序启动后等待 2 秒,让传感器和数据总线稳定,再每隔 2 秒读取一次温湿度数据。读取成功时,串口终端会输出温度和湿度;读取失败时,程序会根据数据缺失或校验错误输出对应错误信息。学习目标说明理解温湿度采集流程认识 DHT11 如何把环境温度和湿度转换成程序可读取的数据掌握 GPIO 单总线通信在同一个 DATA 引脚上完成启动信号发送和数据接收理解输入输出模式切换发送启动信号时使用输出模式,接收数据时切换为输入模式学会数据校验通过 40 位数据解析和校验字节判断读取结果是否可靠建立传感器调试思路从接线、电源、上拉、读取频率和错误码分析常见问题DHT11 属于低速环境传感器,读取频率不能过高。当前代码每隔 2 秒读取一次数据,既能保证串口中持续看到结果,也能减少缺失数据和校验错误。这个实验很适合作为环境监测课程的基础案例,后续可以继续扩展 LCD 显示、蜂鸣器报警、LED 状态提示、数据保存和远程上传。文章目录理论基础硬件设施软件代码扩展应用总结理论基础DHT11 是常见的数字温湿度传感器,模块内部已经完成了温湿度采集和基础数据处理,外部主控只需要通过 DATA 数据线与它通信即可。它和普通模拟传感器不同,DHT11 不需要额外 ADC 模块,返回的不是连续模拟电压,而是一组带有格式和校验的数据。本实验中的 DATA 线既要发送信号,也要接收信号。程序开始读取时,先把 GPIO 设置成输出模式,将数据线拉低一段时间,通知 DHT11 开始通信;随后释放数据线,并把 GPIO 切换成输入模式,等待传感器返回响应波形和 40 位数据。这个过程对时序比较敏感,所以代码里同时使用了毫秒级延时和微秒级延时。DHT11 返回的数据通常由 5 个字节组成,分别表示湿度整数部分、湿度小数部分、温度整数部分、温度小数部分和校验字节。程序读取到 40 位二进制数据后,会把它们转换成 5 个字节,再用前 4 个字节计算校验值。如果计算结果和第 5 个字节一致,说明本次读取有效;如果不一致,就会返回 CRC 错误。
返回列表