这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【M5stackS3】读取SHT30温湿度传感器

共1条 1/1 1 跳转至

【M5stackS3】读取SHT30温湿度传感器

高工
2026-06-19 14:24:44     打赏

一:SHT30温湿度

SHT3x-ARP是Sensirion新一代的温度和湿度传感器。它基于全新的CMOSens}传感器芯片打造,而这一芯片正是Sensirion新型湿度与温度平台的核心。与前身相比,SHT3x-ARP具有更高的智能性、可靠性以及改进的准确性规格。其功能包括增强的信号处理能力通过不同的引脚,可以读取处理状态、温度和湿度数据。DFN封装的尺寸为2.5x2.5毫米,同时保持高度为0.9毫米。这使得SHT3x-ARP能够被集成到各种应用中。此外,其宽泛的电源电压范围(2.4至5.5V)确保了与不同组装环境的兼容性。总之,SHT3x-ARP集成了Sensirion公司15 年的专业知识一一Sensirion是湿度传感器行业的领军企业。

二:产品特点:

  工作电压:2.4-5.5V

  工作电流:0.2~1500uA

  温度测量范围:-40~125℃

  温度测量精度:±0.3℃

  湿度测量范围:0~100%RH

  湿度测量精度:±2%RH

  输出方式: IIC

  管脚数量:4 Pin

三:硬件连接

  VCC:连接到开发板的5V。

  GND:连接到开发板的GND。

  SCL(时钟线):连接到开发板的A2(SCL)。

  SDA(数据线):连接到开发板的A1(SDA)。

四:软件代码:

为了方便地从SHT30读取数据,我们可以使用现成的Arduino库,adafruint_SHT31库。首先,安装这个库。可以通过Arduino IDE的库管理器进行安装:打开Arduino IDE,选择 工具->管理库,然后搜索SHT31并安装adafruint_SHT31库。

#include <Wire.h>
#include <Adafruit_SHT31.h>

Adafruit_SHT31 sht31 = Adafruit_SHT31();

void setup() {
  Serial.begin(9600);
//切换IIC的引脚地址
  Wire.begin(2, 1);
  
  if (!sht31.begin(0x44)) {   // 使用SHT30的默认I2C地址(请根据你的传感器检查地址是否匹配)
    Serial.println("Couldn't find SHT30");
    while (1) delay(1);
  }
}

void loop() {
  float temp = sht31.readTemperature();
  float hum = sht31.readHumidity();

  if (!isnan(temp)) {  // 检查读数是否有效
    Serial.print("Temp *C = "); Serial.println(temp);
  } else {
    Serial.println("Failed to read temperature");
  }

  if (!isnan(hum)) {  // 检查湿度读数是否有效
    Serial.print("Hum. % = "); Serial.println(hum);
  } else {
    Serial.println("Failed to read humidity");
  }

  delay(1000); // 等待1秒钟
}

五:实物验证:

11-2 实物图片.png

串口接收数据如下所示:

11-1.png





关键词: stack     SHT30     温湿度    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]