4 #define HYT221_ADDR 0x28
8 uint8_t hyt221_measure(
float* temp,
float* hum) {
9 Wire.beginTransmission(HYT221_ADDR);
12 int Ack = Wire.read();
15 Wire.requestFrom(HYT221_ADDR, 4);
16 if (Wire.available() > 3) {
19 unsigned int valuetemp = 0;
20 unsigned int valuecap = 0;
22 *(((uint8_t*) &valuecap) + 1) = (Wire.read() & 0x3f);
23 *((uint8_t*) &valuecap) = Wire.read();
24 *(((uint8_t*) &valuetemp) + 1) = Wire.read();
25 *((uint8_t*) &valuetemp) = Wire.read();
26 Wire.endTransmission();
33 valuetemp = valuetemp >> 2;
36 *hum = ((float) valuecap * 100 / (1 << 14));
37 *temp = ((float) valuetemp * 165 / (1 << 14)) - 40;