工作电压: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)。
四:软件代码
#include <M5Unified.h>
#include <M5GFX.h>
#include <Wire.h>
#include <Adafruit_SHT31.h>
m5::imu_data_t imuData;
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup() {
M5.begin();
M5.Display.setRotation(3);
M5.Display.setTextDatum(top_center);
M5.Display.setFont(&fonts::FreeMonoBold24pt7b);
M5.Display.clear(WHITE);
M5.Display.drawString("SHT30 Test Data ", M5.Lcd.width() / 2, 0);
M5.Display.drawString("autor by congconggege", M5.Lcd.width() /2, 50);
Serial.begin(9600);
//切换IIC的引脚地址
Wire.begin(53, 54);
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");
}
M5.Display.setCursor(0, 200);
M5.Display.printf(" Temperature = %6.2f\n\n", temp);
M5.Display.printf(" Humidity = %6.2f %\n", hum);
delay(1000);
}五:实物验证
我要赚赏金
