MikuPi/MikuSHT2x.cpp

47 lines
871 B
C++
Raw Normal View History

2016-06-05 17:19:31 +08:00
#include "MikuDuino.h"
#include "Wire.h"
/*
*MikuSHT2x.cpp:
*
* Welcome to MikuQ.com! MikuDuino for BananaPi
*
* by MikuQ(i@mikuq.com)
*
* https://github.com/bpiq/MikuPi
*
*/
#include "MikuSHT2x.h"
float Miku_SHT2x::GetHumidity(void)
{
return (-6.0 + 125.0 / 65536.0 * (float)(readSensor(eRHumidityHoldCmd)));
}
float Miku_SHT2x::GetTemperature(void)
{
return (-46.85 + 175.72 / 65536.0 * (float)(readSensor(eTempHoldCmd)));
}
uint16 Miku_SHT2x::readSensor(uint8 command)
{
uint16 result;
Wire.beginTransmission(eSHT2xAddress);
Wire.write(command);
delay(100);
Wire.endTransmission();
Wire.requestFrom(eSHT2xAddress, 3);
while(Wire.available() < 3) {
;
}
result = ((Wire.read()) << 8);
result += Wire.read();
result &= ~0x0003;
return result;
}