物联网AI MicroPython传感器学习 之 SHT3X温湿度传感器

news2025/7/22 14:20:26

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

Sensirion SHT3x-DIS湿度和温度传感器基于CMOSens®传感器芯片,更加智能、可靠,精度更高。SHT3x-DIS具有增强的信号处理能力、两个独特的用户可选I2C地址,通信速度高达1MHz。SHT35-DIS的典型相对湿度 (RH) 精度为±1.5%,典型温度精度为±0.2°C。SHT3x-DIS具有2.5mm x 2.5mm x 0.9mm(长x宽x高)占位面积,电源电压范围为2.4V至5.5V。
image.png

二、技术参数

  • 供电电压:2.4V~5.5V
  • I2C接口,通信速度高达1MHz,具有两个用户可选地址
  • 完全校准、线性化和温度补偿的数字输出
  • 启动和测量速度极快
  • 湿度精度:0 ~ 100%,精度为±2%RH
  • 温度精度:-40度~125度,精度±0.3℃
  • 封装:DFN-8,2.5mm * 2.5mm 0.9mm

三、软件接口

SHT3X(i2cObj) - 创建SHT3X驱动对象

  • 函数原型:
    sht3xObj = SHT3X(i2cObj)
  • 参数说明:
参数类型必选参数?说明
i2cObjI2C传入I2C对象
  • 返回值: SHT3X对象成功,返回SHT3X对象;SHT3X对象创建失败,抛出Exception
  • 示例代码:
from machine import I2C,Pin          # 驱动库
import sht3x                         # SHT3X-DIS温湿度传感器驱动库

i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
humitureDev = sht3x.SHT3X(i2cObj)   # 初始化SHT3X-DIS传感器
print("sht3x inited!")

• 输出:

sht3x inited!

getTemperature - 测量温度

  • 函数功能: 量测周围温度并返回测量结果
  • 函数原型:
    SHT3X.getTemperature()
  • 参数说明: 无
  • 返回值: 成功返回温度测量结果(数据类型:浮点型;单位:摄氏度);失败抛出Exception
  • 示例:
from machine import I2C,Pin          # 驱动库
import sht3x                         # SHT3X-DIS温湿度传感器驱动库

i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
humitureDev = sht3x.SHT3X(i2cObj)   # 初始化SHT3X-DIS传感器
print("sht3x inited!")
temp = humitureDev.getTemperature()
print("temperature is ", temp, "°C")
  • 输出:
sht3x inited!
temperature is 25.3°C

getHumidity - 测量相对湿度

  • 函数功能:

    量测周围相对湿度并返回测量结果
    
  • 函数原型:
    SHT3X.getHumidity()

  • 参数说明:

  • 返回值:

    成功返回相对湿度测量结果(数据类型:整型;单位:%RH);失败抛出Exception
    
  • 示例:

from machine import I2C,Pin          # 驱动库
import sht3x                         # SHT3X-DIS温湿度传感器驱动库

i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
humitureDev = sht3x.SHT3X(i2cObj)   # 初始化SHT3X-DIS传感器
print("sht3x inited!")
humi = humitureDev.getHumidity()
print("humidity is ", humi, "%H")
  • 输出:
sht3x inited!
humidity is 60%H

getTempHumidity - 量测温度相对湿度

  • 函数功能:

    同时量测周围温度和相对湿度并返回测量结果
    
  • 函数原型:
    SHT3X.getTempHumidity()

  • 参数说明:

  • 返回值:

    成功返回温度和相对湿度测量结果(数据类型:数组,[温度值, 相对湿度值];温度单位:摄氏度;相对湿度单位:%RH);失败抛出Exception
    
  • 示例:

from machine import I2C,Pin          # 驱动库
import sht3x                         # SHT3X-DIS温湿度传感器驱动库

i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
humitureDev = sht3x.SHT3X(i2cObj)   # 初始化SHT3X-DIS传感器
print("sht3x inited!")
data = humitureDev.getTempHumidity()
print("temperature is ", data[0], "°C")
print("humidity is ", data[1], "%H")
  • 输出:
sht3x inited!
temperature is 25.3°C
humidity is 60%H

四、接口案例

  • 示例代码:
import utime                         # 延时API所在组件
from machine import I2C,Pin          # 驱动库
import sht3x                         # SHT3X-DIS温湿度传感器驱动库

i2cObj = I2C(1, scl=Pin(22), sda=Pin(21), freq=400000)
humitureDev = sht3x.SHT3X(i2cObj)   # 初始化SHT3X-DIS传感器
print("sht3x inited!")
# 通过温湿度传感器读取温湿度信息
def get_temp_humi():
    temperature = humitureDev.getTemperature()         # 获取温度测量结果
    humidity = humitureDev.getHumidity()               # 获取相对湿度测量结果
    print("The temperature is: %.1f" % temperature)
    print("The humidity is: %d" % humidity)
    return temperature, humidity                        # 返回读取到的温度值和相对湿度值
if __name__ == '__main__':
    while True:
        data = get_temp_humi()                          # 读取温度信息和相对湿度信息
        utime.sleep(1)                                  # 每隔1秒钟进行一次温湿度信息测量和打印
    i2cObj.close()                                      # 关闭I2C设备对象
  • 输出:
...
sht3x inited!
The temperature is 25.3°C
The humidity is 60%H
...
The temperature is 25.3°C
The humidity is 60%H
...

五、通信协议

主控芯片和SHT3X-DIS传感器之间通信所用命令字如下表所示:

序号命令字功能说明缩写
10x3780读取芯片序列号CMD_READ_SERIALNBR
20xF32D读取状态寄存器CMD_READ_STATUS
30x3041清除状态寄存器CMD_CLEAR_STATUS
40x306D开启加热功能CMD_HEATER_ENABLE
50x3066关闭加热功能CMD_HEATER_DISABLE
60x30A2软件复位CMD_SOFT_RESET
70x2B32加速响应时间CMD_ART
80x3093停止周期性测量CMD_BREAK
90x2400高频率周期性测量CMD_MEAS_POLLING_H
100x240B中频率周期性测量CMD_MEAS_POLLING_M
110x2416低频率周期性测量CMD_MEAS_POLLING_L

实际控制此传感器的流程可参考如下伪代码。

  • 初始化传感器并开始进行温湿度测量
清除状态寄存器(发送CMD_CLEAR_STATUS)
    等待20ms
    发送周期性测量指令(CMD_MEAS_POLLING_H、CMD_MEAS_POLLING_M或CMD_MEAS_POLLING_L)
    等待20ms
  • 读取温湿度测量结果
发起I2C读取数据(6个字节)的操作
    将读取到的测量结果转换成实际温室度值

读取到的6个字节格式如下表所示:

字节序号123456
意义温度(高位)温度(低位)温度CRC-8校验值湿度(高位)湿度(低位)

转换过程可以使用如下公式: 温度值 = ((data[0]<<8) | data[1]) _ 0.0015259022 相对湿度值 = -45.0 + ((data[3]<<8) | data[4]) _ 175.0 / (0xFFFF - 1)

  • 停止测量
发送停止周期性测量指令字(CMD_BREAK)

参考文献

[1] SHT3X-DIS温湿度传感器购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1157092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vectrosity 插件使用

1 下载 2 使用&#xff0c;目前在2020.3.3上测试可以 导入时选5.6 再导入demo

centos7 配置搭建 wordpress 博客

环境配置 系统&#xff1a;centos7 CPU:2核 内存&#xff1a;4G 硬盘&#xff1a;40G 一、登录云服务器器 1.单击实例--实例名称 2. 选择安全组页签&#xff0c;单击安全组操作列的管理规则&#xff0c; 3.在入方向添加需要放行的端口。本教程中&#xff0c;在安全组入方向…

STM32智能小车—蓝牙控制并测速小车、wife控制小车、4g控制小车、语音控制小车

目录 1. 蓝牙控制小车 2. 蓝牙控制并测速小车 3. wifi控制测速小车 4. 4g控制小车 5.语音控制小车 5.1语音模块配置&#xff1a; 5.2 语音控制小车开发和调试代码 1. 蓝牙控制小车 使用蓝牙模块&#xff0c;串口透传蓝牙模块&#xff0c;又叫做蓝牙串口模块 串口透传技…

ts 简易封装 axios,统一 API

文章目录 为什么要封装目标文件结构封装通用请求方法获得类型提示http 方法文件上传使用示例实例化post 请求类型提示文件上传 总结完整代码&#xff1a; 为什么要封装 axios 本身已经很好用了&#xff0c;看似多次一举的封装则是为了让 axios 与项目解耦。比如想要将网络请求…

Apache Doris (五十): Doris表结构变更-动态分区(2)

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

4.数据库的基本操作

1.创建数据库 系统安装完成后会有部分默认数据库存在: 注意&#xff1a;mysql的语句每一个输入完后要有分号才能写下一个 这初始的四个库不要删除 其中:mysql数据库中存储用户访问权限。 创建自己的数据库命令如下: create database database_name&#xff08;数据库名字&am…

【教3妹学编辑-算法题】参加会议的最多员工数

2哥 :“我要飞的更高&#xff0c; 飞的更高哦……” 3妹&#xff1a;2哥唱的啥呀&#xff0c; 都跑调啦 2哥 :3妹&#xff0c;昨天神州十六返回舱成功着陆&#xff0c;载人飞行任务取得圆满成功。中国真是太厉害了。 3妹&#xff1a;是啊&#xff0c; 此生无悔入华夏~不跟你多说…

案例分析真题-软件架构风格

案例分析真题-软件架构风格 2009年真题 【问题1】 【问题2】 【问题3】 2010年真题 【问题1】 【问题2】 【问题3】 2010年真题 【问题1】 【问题2】 【问题3】 2010年真题 【问题1】 【问题2】 【问题3】 2012年真题 【问题1】 骚戴理解&#xff1a; 首先要知道过滤器-管道的…

阿里云服务器99元一年续费原价注意事项不能变配!

阿里云优惠活动上提供的99元服务器为云服务器ECS经济型e实例&#xff0c;2核2G配置、3M公网带宽和40G ESSD entry 系统盘&#xff0c;续费不涨价&#xff0c;但是一定要注意不能变更云服务器配置&#xff0c;否则续费就涨价&#xff01;阿腾云atengyun.com来详细说下阿里云99元…

酷开科技酷开系统,打造专属家庭云课堂,让学习变得更温馨、有趣

随着科技和时代的不断发展&#xff0c;家庭云课堂已经成为了一种新型的学习方式。酷开科技就通过自主研发的酷开系统凭借其强大的功能和海量的内容&#xff0c;为家庭消费者们打造了一个专属的学习平台。 不用再为孩子享受不到教育资源而感到遗憾&#xff0c;在这里酷开系统为孩…

当女朋友要求你用Python画一个粉粉的Hello Kitty的时候

先看效果图 完整代码 import math import turtle as t# 计算长度、角度 t1:画笔对象 r:半径 angle:扇形&#xff08;圆形&#xff09;的角度 def myarc(t1, r, angle):arc_length 2 * math.pi * r * angle / 360 # angle角度的扇形的弧长n int(arc_length / 3) 1 # 线段…

高性能消息中间件 - Kafka3.x(一)

文章目录 高性能消息中间件 - Kafka3.x&#xff08;一&#xff09;搭建Kafka3.2.1集群⭐Kafka集群机器规划创建3台虚拟机&#xff08;centos7系统&#xff09;必要的环境准备&#xff08;3台虚拟机都要执行如下操作&#xff09;⭐分别修改每个服务器的hosts文件&#xff08;将上…

【zip密码】如何取消zip压缩包的密码?

我们想要对压缩包进行加密&#xff0c;但是当我们不需要加密压缩包的时候&#xff0c;该如何取消zip压缩包密码呢&#xff1f;那么zip压缩包密码取消都有什么方法呢&#xff1f;今天将方法总结分享给大家。 最原始的方法&#xff0c;就是通过解压文件&#xff0c;将解压出的文…

HTTP和HTTPS本质区别——SSL证书

HTTP和HTTPS是两种广泛使用的协议&#xff0c;尽管它们看起来很相似&#xff0c;但是它们在网站数据传输的安全性上有着本质上的区别。 HTTP是明文传输协议&#xff0c;意味着通过HTTP发送的数据是未经加密的&#xff0c;容易受到拦截、窃听和篡改的风险。而HTTPS通过使用SSL或…

使用了Buzz库的HttpClient类来设置代理

php<?php//设置代理服务器//初始化Buzz库$browsernew Browser();//使用代理服务器$browser->setHttpClient(new HttpClient(array(proxy_host>$proxy_host,proxy_port>$proxy_port,)));//创建Crawler对象$crawler$browser->getCrawler();//访问www.jd.com$craw…

全志R128芯片如何解决打包时出现的ERROR: update_mbr failed?

打包出现&#xff1a;ERROR: update_mbr failed 249930 records in 249930 records out 6398208 bytes (6.4 MB) copied, 0.0271082 s, 236 MB/s ERROR: dl file rtos_riscv.fex size too large ERROR: filename rtos_riscv.fex ERROR: dl_file_size 1579 sector ERROR: part…

研发效能城市沙龙【11月12日】深圳站-《敏捷环境下的测试自动化实践指南》—陈晓鹏丨IDCF

IDCF社区研发效能城市沙龙是一个开放、共享的平台&#xff0c;我们欢迎每一位参加者积极分享自己的经验和见解&#xff0c;构建一个互联互通的技术社区。 随着这几年业务的快速变化诉求以及敏捷开发方法的流行&#xff0c;越来越多的组织都采用敏捷模式进行项目开发。而这种时…

Project#2: Extendible Hash Index

文章目录 准备Task #1-Read/Write Page GuardsBasicPageGuard/ReadPageGuard/WritePageGuardUpgradeWrappersTests Task #2-Extendible Hash Table PagesHash Table Header Pages**成员变量&#xff1a;****方法实现&#xff1a;** Hash Table Directory Pages**成员变量&#…

财务数字化转型的切入点是什么?_光点科技

随着科技的不断进步&#xff0c;数字化转型已经成为各个行业追求的目标&#xff0c;财务领域也不例外。那么&#xff0c;财务数字化转型的切入点在哪里呢&#xff1f;如何确保转型的成功进行&#xff1f; 数据整合与管理 财务数据的准确性与及时性是财务管理的基石。数字化转型…

1.认识下Docker

1.Docker为什么会火? Docker能火起来&#xff0c;不仅仅与它开源有关系&#xff0c;一定是解决了我们软件从开发到上线的痛点&#xff0c;要不然几乎不可能。那Docker到底解决了什么问题&#xff1f;下面这几点&#xff0c;相信我们程序员都深有感触: 1. 解决环境不一致的问…