增加sht20 温湿度库

This commit is contained in:
dahanzimin
2024-11-18 16:46:44 +08:00
parent 7306e999fb
commit 684b21bf19
3 changed files with 35 additions and 4 deletions

View File

@@ -0,0 +1,31 @@
from struct import unpack as unp
from time import sleep_ms
# SHT20 default address
SHT20_I2CADDR = 64
TRI_T_MEASURE_NO_HOLD = b'\xf3'
TRI_RH_MEASURE_NO_HOLD = b'\xf5'
READ_USER_REG = b'\xe7'
WRITE_USER_REG = b'\xe6'
SOFT_RESET = b'\xfe'
class SHT20(object):
def __init__(self, i2c_bus):
self._address = SHT20_I2CADDR
self._bus = i2c_bus
def get_SHT_temperature(self):
self._bus.writeto(self._address, TRI_T_MEASURE_NO_HOLD)
sleep_ms(150)
origin_data = self._bus.readfrom(self._address, 2)
origin_value = unp('>h', origin_data)[0]
value = -46.85 + 175.72 * (origin_value / 65536)
return value
def get_SHT_relative_humidity(self):
self._bus.writeto(self._address, TRI_RH_MEASURE_NO_HOLD)
sleep_ms(150)
origin_data = self._bus.readfrom(self._address, 2)
origin_value = unp('>H', origin_data)[0]
value = -6 + 125 * (origin_value / 65536)
return value

View File

@@ -17,7 +17,7 @@ UCS_CLS_DATA = const(0x1C)
_GAINS_X = (1, 4, 8, 32, 96, 192) _GAINS_X = (1, 4, 8, 32, 96, 192)
class UCS1207: class UCS12071:
def __init__(self, i2c_bus, addr=0x38, gain=2): def __init__(self, i2c_bus, addr=0x38, gain=2):
self._device = i2c_bus self._device = i2c_bus
self._address = addr self._address = addr