常用传感器-温湿度传感器SHT30

news/2025/1/3 17:45:19/

SHT30温湿度传感器

基本信息

工作电压:2.4V-5.5V
通讯协议:IIC
湿度测量范围:0-100
温度测量范围:-40°-125°

引脚

  • VIN:电源正极
  • GND:电源负极
  • SCL:数据线
  • SDA:数据线

操作

1.加载库文件:ClosedCube_SHT31D

在这里插入图片描述
选择库文件:ClosedCube_SHT31D

2.连接esp mini d1和温湿度传感器

  • VIN和GND分别取主板5V电压
  • SCL和SDA分别接主板D3和D4引脚
    在这里插入图片描述

3.刷入主板代码

//包含读取传感器数据的代码,引脚、地址等配置均在该文件
#include "sht30.h"void setup() {Serial.begin(115200);//sht30的开机配置函数sht30_setup();
}void loop() {//sht30的循环读取函数,内设读取间隔可自行在 sht30.h 文件中设置sht30();
}
//********sht30 温湿度传感器***************#include <Wire.h>
#include "ClosedCube_SHT31D.h"
ClosedCube_SHT31D sht3xd;// 配置引脚
const int SHT_SCL = D4; 
const int SHT_SDA = D3;const int SHT_ADDRESS = 0x44;//配置读取频率struct SHT_DATA{int8_t temperature = -99;int8_t humidity = -99;unsigned long sht30_last = 0;
const long sht30_interval = 1000; //每秒读取一次} sht_data;//开机函数
void sht30_setup() {//定义I2C通讯的引脚Wire.begin(SHT_SDA, SHT_SCL);//准备读取sht3x传感器sht3xd.begin(SHT_ADDRESS);if (sht3xd.periodicStart(SHT3XD_REPEATABILITY_HIGH, SHT3XD_FREQUENCY_10HZ) != SHT3XD_NO_ERROR){Serial.println("[ERROR] 读取sht30数据失败,可能是传感器没插好");}
}//保存结果到指定的数据结构,如果传感器断开,则尝试重载
void saveResult(SHT31D result) {if (result.error == SHT3XD_NO_ERROR) {sht_data.temperature = result.t;sht_data.humidity = result.rh;} else {  sht_data.temperature = -99;sht_data.humidity = -99;sht30_setup();}
}//循环体函数,放在loop中
void sht30() {unsigned long currentMillis = millis();if (currentMillis - sht_data.sht30_last >= sht_data.sht30_interval) {sht_data.sht30_last = currentMillis;saveResult(sht3xd.periodicFetchData());Serial.print("T:");Serial.print(sht_data.temperature);Serial.print(" H:");Serial.println(sht_data.humidity);}
}

4.串口监视器输出数据

在这里插入图片描述

常用传感器-温湿度传感器SHT30


http://www.ppmy.cn/news/659779.html

相关文章

git配置密钥及提交代码到仓库

一、git下载及安装 Git官网&#xff1a;www.git-scm.com/ 下载安装包进行安装。 点击downloads下载自己需要的安装包。本文基于windows系统。 下载安装包后双击exe文件&#xff0c;如何一系列next操作就行了。 二、git配置 在首次安装 Git 后&#xff0c;你需要进行一些配置…

emqx客户端用户名密码登录验证配置

摘要&#xff1a;使用emqx docker开发或者生产情况下&#xff0c;需要配置客户端登录的账号密码&#xff0c;只有登录的client才能订阅和发布主题消息&#xff0c;以下为简要配置。 环境说明&#xff1a; 1.linux系统下&#xff0c;centos 7环境 2.使用docker运行emqtt服务器&…

VMware 8安装Mac OS X 10.8 Lion

前一篇博客&#xff0c;介绍了如何利用VMware安装MacOS系统&#xff0c;虽然可以安装成功&#xff0c;但也有不友好的地方&#xff0c;如&#xff1a; 1&#xff09;MacOS系统文件需要是ISO格式&#xff0c;不是原生的dmg格式&#xff1b; 2&#xff09;每次开机都需要借助HJ…

lambda x:x*x

整理自&#xff1a;廖雪峰的讨论区 https://www.liaoxuefeng.com/discuss/001409195742008d822b26cf3de46aea14f2b7378a1ba91000/0014582466554406b47c51ff8a44fc881529a75788f267d000 lambda 基础学习: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df4…

【1+X Web前端等级考证 】 | Web前端开发中级理论 (附答案)

由于经常分享失败&#xff0c;我上传github上了&#xff0c;先放上链接&#xff1a;https://github.com/Lydever/web-1-x.git 请礼貌&#xff0c;不要耍流氓哈哈&#xff0c;创作不易&#xff0c;下载的同时&#xff0c;请start一下&#xff0c;谢谢~ 注意&#xff1a;转载请…

CRC校验算法——以CRC8(X^8+X^2+X+1)为例

前言 RM裁判系统串口通信的帧头用了CRC8校验&#xff0c;借此机会研究了一下CRC校验的原理。 本文以上述帧头作为例子&#xff0c;讲解CRC8(X8X2X1)校验码的生成方法。 帧头定义如图所示&#xff1a; 由图可知&#xff1a; 帧头的数据位总共是4个字节&#xff0c;即32bit&…

HDU - 1573 X问题

Description 求在小于等于N的正整数中有多少个X满足&#xff1a;X mod a[0] b[0], X mod a[1] b[1], X mod a[2] b[2], …, X mod a[i] b[i], … (0 < a[i] < 10)。 Input 输入数据的第一行为一个正整数T&#xff0c;表示有T组测试数据。每组测试数据的第一行为两个正…

JAVA8 UnaryOperator接口

我们先看下这个接口的定义 FunctionalInterface public interface UnaryOperator<T> extends Function<T, T> {/*** Returns a unary operator that always returns its input argument.** param <T> the type of the input and output of the operator* re…