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

树莓派3B通过I2C连接SRF02测距传感器遇地址问题求助

解决SRF02传感器I2C地址修改失败的问题

我来帮你搞定这个SRF02地址修改的问题,这类I2C设备改地址有严格的操作流程,可能你之前的步骤有遗漏或者细节没注意到,下面是完整的可行方案:

前提准备

  • 确保只有你要修改地址的那台SRF02连接在树莓派的I2C总线上(拔掉其他同类型传感器),避免指令被其他设备误接收。
  • 确认已经安装了I2C工具包,Jessie系统下如果没装,执行:
    sudo apt-get update && sudo apt-get install i2c-tools
    

地址修改步骤

假设当前你的SRF02被识别为7位地址0x79(对应8位写地址0xF2),现在要改成一个合规的地址,比如7位的0x70(避开0x78-0x7B的保留段),操作如下:

  1. 先扫描当前I2C总线,确认传感器地址:

    i2cdetect -y 1
    

    你应该能看到0x79出现在扫描结果里。

  2. 按顺序发送地址修改指令到当前传感器:

    # 发送地址修改初始化指令
    i2cset -y 1 0x79 0xA0
    # 发送确认指令1
    i2cset -y 1 0x79 0xAA
    # 发送确认指令2
    i2cset -y 1 0x79 0xA5
    # 发送新的8位地址(这里0xE0对应7位地址0x70,计算方式:7位地址<<1)
    i2cset -y 1 0x79 0xE0
    
  3. 断开SRF02的电源(或者重启树莓派),重新连接后再次扫描总线:

    i2cdetect -y 1
    

    现在应该能看到新的地址0x70出现在列表中,说明修改成功。

关键注意事项

  • 地址选择规则:你可以选择的合规7位地址包括0x70、0x71、0x72、0x73、0x74、0x75、0x76、0x77、0x7A、0x7C、0x7D、0x7E、0x7F,对应的8位写地址是这些值左移一位(比如0x7A对应0xF4)。
  • 指令顺序不能错:必须严格按照0xA0→0xAA→0xA5→新地址的顺序发送,每一步都要确保执行成功。
  • 失败重试:如果第一次修改失败,大概率是总线信号干扰,断开传感器电源10秒后重新连接,再重复上述步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:41:00