https://blog.csdn.net/Hao_ge_666/article/details/117170782

 
https://item.taobao.com/item.htm?_u=61qf7bf5d963&id=43331222710&pisk=ghsUsw2hdkEeqNdp-Gtrua5ckZxpo3PbZgOWETXkdBA3ypZo4TWDFJF8pNJlN1e8pH6ka_566097J7nP_66cRe15RQvks1XIAQZpz_WfM_i7vw9o416Jr_sPe0JlE_epNJU1p9KJqSNX4o6dpXGjItIerc0GBLiHKPTn8lWQCSNbcuznI3PUG6T_2rEM3KxkKUvojRJyhQclZUmGICpJEXvoxRyw6Lpox20nSlvyHpxkZBAMsL9WELmH-O2weCvkq3fkjRJ-hSCdwj9D-86_4Hw0B5nMg9AZq0j32nOqoIv9LGJB-IYBI041bp8ei9jCoVxJIGswlFM7khXA56vw0lgHmO7lgZf8lVKFEwfJ76Ft7C_GvTAk5YmAQtWhohj7ExLNsL8DqFkoqO-p__vMmocwBNXCrMCEU0vdAiTyMFyo2UtGcEbcTYeAIHvlwEI7MDdhEtIAlnrs-nXNrs7P4whJIcRG2wlozev9QIwaQ1m3q24FQk8xy4LModRbpU0-yeY9QIwgM43JSKvwGJq1.&skuId=4933904946199&spm=a1z09.2.0.0.52e62e8dRnS0rf

接好线之后
首先安装IIC库(这个一般树莓派操作系统自带)
sudo apt install i2c-tools
再装专门为python的smbus
sudo apt install python-smbus
安完上面两个,就可以打开IIC
sudo raspi-config
之后就可以查看模块的地址了(下面代码如果运行不了,自己加管理员权限sudo)
i2cdetect -y -a 1
如果树莓派SDA和SCL接的是SDA.1和SCL.1,那么模块地址就是0*5a,如图

这样就说明检测到了模块,地址为0*5a
import smbus
import time
dciAddress = 0x5A
# 打开I2C总线
bus = smbus.SMBus(1)
# 初始化GY-906
bus.write_byte_data(dciAddress, 0x01, 0x60)
def getDciTemp():
    # 读取 DCI 数据
    data = bus.read_i2c_block_data(dciAddress, 0x07, 3)
    # 处理数据
    raw_temp = (data[1] << 8) | data[0]
    temp = float(raw_temp * 0.02 - 273.15)
    return temp
while True:
    temps = []
    for _ in range(10):
        temp = getDciTemp()
        temps.append(temp)
        time.sleep(0.1)  # 稍微延迟,避免连续读取过快
    # 对采集的温度进行排序
    temps.sort()
    # 去掉最高和最低的各两项,取中间6个求平均
    middle_temps = temps[2:-2]
    avg_temp = sum(middle_temps) / len(middle_temps)
    # 输出平均温度
    print("Average Temperature: %.2f C" % avg_temp)
    time.sleep(1)
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号