Seite 1 von 1

SI7021 Temperatur und Luftfeuchte sensor mit I2C

BeitragVerfasst: Mi 16. Nov 2016, 10:27
von Rocktagon
Kleiner Sketch zum auslesen eines SI7021

Dieser ist relativ genau, kostengünstig und im gegensatz zu einigen anderen Sensoren stabil.

I2C Lib siehe: http://www.rocktagon.de/forum/viewtopic.php?p=134#p134

Code: Alles auswählen
bool readTempAndHumidity() {
  byte buf[2];
  output = 1; //server
  if (I2c.read(0x40, 0xE3, 2, buf) != 0)
  {
    print(PSTR("100,-")); //100=temperatur Fehler, kann nicht gelesen werden
    return false;  //0x40 für den SI7021
  }
  temperature = (((175.25 * ((word)buf[0] << 8) + buf[1]) / 65536) - 46.85) * 10;
  if ((temperature < 50) || (temperature > 400)) //Untertemperatur oder sonstiger Fehler
  {
    print(PSTR("100,%d"), temperature); //100=temperatur Fehler
    beep();
  }
  I2c.read(0x40, 0xE5, 2, buf);
  humidity = ((125.0 * ((word)buf[0] << 8) + (buf[1] & 0xFC)) / 65536) - 6;
  return true;
}

Fatal: Not able to open ./cache/data_global.php