1. 项目概述:SHT31传感器驱动库初探
这个CircuitPython库是专为Adafruit SHT31温湿度传感器设计的硬件抽象层驱动。我在最近的一个温室监控项目中首次接触这个库,当时需要精确测量环境参数来控制通风系统。相比常见的DHT22,SHT31提供了±2%RH的湿度精度和±0.2°C的温度精度,通过I2C接口通信速度也更快。
Adafruit团队为这个传感器开发的CircuitPython库封装了底层寄存器操作,提供了符合Python习惯的面向对象接口。实际使用中发现,该库不仅支持单次测量模式,还能配置为周期性的自动测量(1Hz~15Hz),这对需要连续监测的场景非常有用。下面通过具体代码示例,展示如何充分发挥这颗传感器的性能。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与硬件连接
2.1 所需硬件组件
- Adafruit SHT31-D breakout板(带STEMMA QT接口)
- 支持CircuitPython的开发板(如ESP32-S3、RP2040等)
- 4.7kΩ上拉电阻(若使用裸芯片需额外准备)
- 面包板与连接线
注意:虽然部分开发板内置上拉电阻,但为保障I2C信号质量,建议额外添加4.7kΩ电阻到SCL/SDA线。
2.2 电路连接示意图
python复制SHT31引脚 开发板引脚
VIN → 3.3V
GND → GND
SCL → SCL(如GPIO5)
SDA → SDA(如GPIO4)
对于使用STEMMA QT接口的设备,只需用PH2.0连接线对接即可,无需手动接线。我在实际项目中发现,线长超过20cm时建议改用屏蔽线,否则可能因干扰导致I2C通信失败。
3. 库安装与基础用法
3.1 安装CircuitPython库
两种推荐安装方式:
- 通过CircUp工具安装(适用于已联网的开发板):
bash复制
circup install adafruit-circuitpython-sht31d - 手动下载库文件:
- 从Adafruit的CircuitPython库Bundle中下载最新版本
- 将
adafruit_sht31d.mpy文件复制到开发板的lib目
