本测试使用MicroPython语言,在Thonny下测试,
1、电路连接:

2、代码如下:
import machine
import time
# 假设 SCL 和 SDA 分别接在引脚 21 和 20
i2c = machine.I2C(0, scl=machine.Pin(21), sda=machine.Pin(20), freq=100000)
# 常见 I2C 地址 (通常是 0x44)
addr = 0x44
while True:
try:
# 1. 发送测量指令 (常见的指令为 0x2C 0x06)
i2c.writeto(addr, b'\x2c\x06')
time.sleep_ms(15) # 等待测量完成
# 2. 读取 6 个字节的数据
data = i2c.readfrom(addr, 6)
# 3. 数据转换 (伪代码,具体算法需查阅芯片手册)
temp_raw = (data[0] << 8) | data[1]
hum_raw = (data[3] << 8) | data[4]
# 温度转换公式示例:-45 + 175 * (temp_raw / 65535)
temp = -45 + 175 * (temp_raw / 65535)
# 湿度转换公式示例:100 * (hum_raw / 65535)
hum = 100 * (hum_raw / 65535)
print("温度: {}°C, 湿度: {}%".format(temp, hum))
# 等待2秒
time.sleep(2)
except Exception as e:
print("GXHT30 读取错误,将重试...")测试使用I2C外设直接驱动,测试结果:

测试结果与之前DHT11的结果几乎一致,说明DHT11和GXHT30都可靠、可用。
我要赚赏金
