找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1203|回复: 7
打印 上一主题 下一主题
收起左侧

SHT30温湿度传感器,环境温度零度以上温度湿度显示正常,在零度以下温度采集显示错

[复制链接]
跳转到指定楼层
楼主
ID:1065002 发表于 2023-12-22 15:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
800黑币
SHT30温湿度传感器,环境温度零度以上温度湿度显示正常,
零度以下上电温度采集显示错误,湿度正常显示,但是温度零上电启动,放到零下环境,温度湿度慢慢降到零下能正常显示零下数值,


上传附件,大家帮忙看下,谢谢,、

程序 20231222.rar

1.38 MB, 下载次数: 8

最佳答案

查看完整内容

这个涉及到数据采集问题,你首先要设定个采集范围,采集精度,然后以数值形式取样,你这个也许是数值取值问题,先检查下程序数值位
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:372579 发表于 2023-12-22 15:02 | 只看该作者
这个涉及到数据采集问题,你首先要设定个采集范围,采集精度,然后以数值形式取样,你这个也许是数值取值问题,先检查下程序数值位
回复

使用道具 举报

板凳
ID:883242 发表于 2023-12-22 15:23 | 只看该作者
缺 Dis_zi_jian(); 的实现。
回复

使用道具 举报

地板
ID:262 发表于 2023-12-22 15:34 | 只看该作者
可惜你的程序缺少文件无法编译,没办法帮你分析了...

你要是不懂编程的话,这个问题是不可能解决的,直接放弃吧.因为大家没有你的硬件,是无法调试的....调试程序一般需要反复修改并烧录程序几十次甚至是几百次以上.

建议先安装Keil软件花个几周的时间学习一下C语言
回复

使用道具 举报

5#
ID:1065002 发表于 2023-12-22 15:38 | 只看该作者
本帖最后由 lc0619 于 2023-12-22 17:25 编辑
heicad 发表于 2023-12-22 15:34
可惜你的程序缺少文件无法编译,没办法帮你分析了...

你要是不懂编程的话,这个问题是不可能解决的,直接放 ...
我发帖你们看看哪里的问题
回复

使用道具 举报

6#
ID:1065002 发表于 2023-12-22 15:41 | 只看该作者
大家看看程序哪里问题
回复

使用道具 举报

7#
ID:342822 发表于 2023-12-22 16:08 | 只看该作者
环境温度零度以上温度湿度显示正常,在零度以下温度采集显示错误,
零度以上温度湿度显示正常说明程序一般没得问题。
零度以下温度采集显示错误
零下采集的数据,应当先判断其范围如:201~255(-55~-1度)然后用256-201=55以此类推直到256-255=1
回复

使用道具 举报

8#
ID:276099 发表于 2023-12-23 02:31 | 只看该作者
告诉你个调试方法你可以参考一下
在显示之前你先把数据通过串口发到电脑, 如果数据是正常的, 这说明就是你的显示函数有问题.如果数据不正常 说明是dht30的数据处理或者初始化有问题, 然后再根据串口收到的数据分析 进一步缩小范围, , 你的程序太长了 几千行, 半天都看不完 , 光看程序基本不可能定位问题所在的.

感觉你289行的这句可能有问题
                         if((temperatre >= -9.9 ) && (temperatre <=99)  && (humidity>=0) && (humidity <=99))   //************
                         {
                             humiture[0] = temperatre;    //
                                   humiture[2] = humidity;      //
                         }
                         
       
        把下面这几个数据串口输出看一下                 
                         tem = ((buff[0]<<8) | buff[1]);
                         hum = ((buff[3]<<8) | buff[4]);
                         
                         temperatre = (175.0 *(float)tem/65535.0 - 45);
                         humidity = (100.0 * (float)hum/65535.0);

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表