You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Raspberry Pi Pico W(Micropython):DHT20传感器SCL引脚错误排查

错误原因及解决方法

核心错误点

  • 代码中SDA和SCL被错误设置为同一个GPIO引脚(Pin(2)),这会导致I2C总线初始化时识别到无效的SCL配置,触发bad SCL pin错误。你在注释里标注了正确的引脚选项,但实际赋值时犯了笔误。
  • 引脚编号不匹配:你实际将传感器接在Pico的物理引脚11和12,这两个引脚对应的GPIO编号是GPIO14(物理11)和GPIO15(物理12),代码里的引脚值和实际接线完全不符。

修正后的代码

import machine
from machine import Pin, I2C
from utime import sleep

from dht20 import DHT20


# 对应物理引脚11(GPIO14)和12(GPIO15)
i2c0_sda = Pin(14)
i2c0_scl = Pin(15)
# I2C id=1对应GPIO14/GPIO15的总线
i2c0 = machine.I2C(id=1, sda=i2c0_sda, scl=i2c0_scl)

dht20 = DHT20(0x38, i2c0)

while True:
    measurements = dht20.measurements
    print(f"Temperature: {measurements['t']} °C, humidity: {measurements['rh']} %RH")
    sleep(1)

额外检查项

  • 确认DHT20使用3.3V供电(接Pico的3V3引脚),不要接5V,避免损坏硬件。
  • 如果传感器模块自带上拉电阻可忽略,否则需在SDA、SCL引脚与3V3之间各接一个10kΩ左右的上拉电阻,保证I2C信号稳定。

内容的提问来源于stack exchange,提问作者nn089

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:42:38