-
Notifications
You must be signed in to change notification settings - Fork 0
/
Adafruit_HTU21D.py
56 lines (48 loc) · 1.26 KB
/
Adafruit_HTU21D.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/python
import logging
import math
import time
from Adafruit_I2C import Adafruit_I2C
# HTU21D Address
HTU21DF_I2CADDR = 0x40
HTU21DF_READTEMP = 0xE3
HTU21DF_READHUM = 0xE5
HTU21DF_WRITEREG = 0xE6
HTU21DF_READREG = 0xE7
HTU21DF_RESET = 0xFE
class HTU21D(object):
"Class to represent an Adafruit MCP9808 precision temperature measurement board."
def __init__(self, address=HTU21D_I2CADDR, i2c=None, debug=False):
if i2c is None:
import Adafruit_I2C as I2C
i2c = I2C
self.address = address
def reset():
pause
def readTemperature(self):
self.i2c.write16(self,HTU21DF_READTEMP,0)
self.i2c.readU16(self,HTU21DF_READTEMP,0)
# // OK lets ready!
# Wire.beginTransmission(HTU21DF_I2CADDR);
# Wire.write(HTU21DF_READTEMP);
# Wire.endTransmission();
#
# delay(50); // add delay between request and actual read!
#
# Wire.requestFrom(HTU21DF_I2CADDR, 3);
# while (!Wire.available()) {}
#
# uint16_t t = Wire.read();
# t <<= 8;
# t |= Wire.read();
#
# uint8_t crc = Wire.read();
#
# float temp = t;
# temp *= 175.72;
# temp /= 65536;
# temp -= 46.85;
#
# return temp;
# }
H = HTU21D()