SHT31温湿度取中值代码
时间: 2023-11-12 21:08:37 浏览: 38
以下是使用SHT31传感器取中值的代码示例:
```python
import time
import board
import busio
import adafruit_sht31d
# 初始化I2C总线和SHT31传感器
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_sht31d.SHT31D(i2c)
# 定义函数计算中值
def median(lst):
n = len(lst)
s = sorted(lst)
return (s[n // 2] + s[-(n // 2 + 1)]) / 2
# 读取多次温湿度值并计算中值
values_temp = []
values_humid = []
for i in range(10):
values_temp.append(sensor.temperature)
values_humid.append(sensor.relative_humidity)
time.sleep(0.5)
median_temp = median(values_temp)
median_humid = median(values_humid)
# 输出结果
print("Temperature: %0.1f C" % median_temp)
print("Humidity: %0.1f %%" % median_humid)
```
该代码使用 `adafruit_sht31d` 库来读取SHT31传感器的温湿度值,并定义了一个函数来计算中值。程序会读取10次温湿度值,然后计算出中值并输出结果。