- chemisch sehr resistent
- sehr weiter Temperatur- und Feuchtigkeitsmessbereich (-40°C .. +125°C, 0% ..100% RH)
- mechanisch robuste Bauform
- kalibriert und temperaturkompensiert
- sehr geringer Drift
- einsetzbar bis zu einem Umgebungsdruck von 16bar
- Versorgungsspannung von 2.7 bis 5.5V
- Auflösung von +/- 0.02% RH und 0.015°C
- Genauigkeit von +/- 1.8% RH bei +23°C und +/-0.2K
Das Bild zeigt das Pinout des HYT in der Ansicht von unten. Die Belegung der Pins lautet:
- 1...SCL
- 2...VCC
- 3...GND
- 4...SDA
/*
HYT939 bei Arduino UNO an:
SDA pin A4
SCL pin A5
HYT939 bei MEGA2560 an:
SDA pin 20
SCL pin 21
LCDisplay
Pinzuordnungen allgemein für LCD
RS to digital 12
EN to digital 11
D4 to digital 5
D5 to digital 4
D6 to digital 3
D7 to digital 2
R/W to ground
VSS to ground
*/
//I2C Addresse festlegen
#define ADDR 0x28
//Variablen und Datentypen festlegen
double temp;
double hum;
unsigned int tempraw;
unsigned int humraw;
int x;
unsigned char buffer[4];
//Libraries laden
#include <Wire.h>
#include <LiquidCrystal.h>
// interfacepins initialisieren
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
//I2C und LCD Interface initialisieren,
Wire.begin();
lcd.begin(20, 4);
Serial.begin(9600);
lcd.println("HYT939-Sensor");
}
void loop()
{
//I2C auselesen
Wire.beginTransmission(ADDR);
Wire.endTransmission();
delay(200);
//4 Bytes auslesen
Wire.requestFrom(ADDR, 4,true);
x=0;
while(Wire.available())
{ char c = Wire.read(); buffer[x]=c; x++; }
//Rohdaten aus Puffer lesen
tempraw=buffer[2]*256+buffer[3];
humraw=buffer[0]*256+buffer[1];
//Daten laut Datenblatt maskieren
tempraw&=0xfffc;
humraw&=0x3fff;
tempraw=tempraw/4;
//Rohdaten in Ausgabeformat umrechnen
temp=(double)tempraw/99.2909; //skalieren laut datasheet
temp=temp-40.0;
hum=(double)humraw/163.83;
//Daten auf LCD schreiben
lcd.setCursor(0, 2);
lcd.print("Temperatur =");
lcd.setCursor(11, 2);
lcd.print(temp);
lcd.setCursor(0, 3);
lcd.print("Humidity =");
lcd.setCursor(14, 3);
lcd.print(hum);
//lcd.setCursor(0, 2);
//lcd.print('Buffer0 =');
//lcd.setCursor(11, 2);
//lcd.print(buffer[2]);
//lcd.setCursor(0, 3);
//lcd.print('Buffer1 =');
//lcd.setCursor(11, 3);
//lcd.print(buffer[3]);
}