SI7021 Temperatur und Luftfeuchte sensor mit I2C

SI7021 Temperatur und Luftfeuchte sensor mit I2C

Beitragvon Rocktagon » Mi 16. Nov 2016, 10:27

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;
}
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 142
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Zurück zu Arduino

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

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