MINI Si7021 temperatur och luftfuktighetsgivare (3 / 4 steg)
Steg 3: Arduino koden för sI70xx Temp/Hum Sensor
OK, vi är alla trådbunden upp, du körde den I2C Scanner skissen, fann enheten, så jag antar att vi är redo för lite kod.
Jag fick inte skriva följande skiss och naturligtvis jag ihåg inte där jag fann det så jag inte kan kreditera den korrekta enheten för den. Om du känner igen den och vet var det har från Vänligen låt mig veta så kan jag uppdatera detta på lämpligt sätt.
#include
CONST int ADDR = 0x40;
int X0, X 1, Y0, Y1, Y2, Y3;
dubbel X, Y, X_out, Y_out1, Y_out2;
void setup() {
Serial.BEGIN(19200);
Wire.BEGIN();
Delay(100);
Wire.beginTransmission(ADDR);
Wire.endTransmission();
pinMode(13,OUTPUT);
}
void loop() {
/ ** Skicka kommando att inleda temperatur mätning ** /
Wire.beginTransmission(ADDR);
Wire.write(0xE3);
Wire.endTransmission();
Serial.Print("Temp");
Serial.Print("\t");
Serial.println("RH");
/ ** Läs data av temperatur ** /
digitalWrite(13,HIGH);
Wire.requestFrom(ADDR,2);
IF(Wire.available() < = 2);
{X0 = Wire.read();
X1 = Wire.read();
X0 = X0 << 8;
X_out = X 0 + X1; }
/ ** Beräkna och Visa temperatur ** /
X=(175.72*X_out)/65536;
X = X-46.85;
Serial.Print(X);
Serial.Print("C");
Serial.Print("\t");
/ ** Skicka kommando att inleda relativ luftfuktighet mätning ** /
Wire.beginTransmission(ADDR);
Wire.write(0xE5);
Wire.endTransmission();
/ ** Läs data av relativ fuktighet ** /
Wire.requestFrom(ADDR,2);
IF(Wire.available() < = 2);
{Y0 = Wire.read();
Y2 = Y0/100.
Y0 = Y0% 100.
Y1 = Wire.read();
Y_out1 = Y2 * 25600;
Y_out2 = Y0 * 256 + Y1; }
/ ** Beräkna och Visa relativ luftfuktighet ** /
Y_out1 = (125 * Y_out1) / 65536;
Y_out2 = (125 * Y_out2) / 65536;
Y = Y_out1 + Y_out2;
Y = Y-6.
Serial.Print(Y);
Serial.println("%");
digitalWrite(13,LOW);
Delay(300);
nedan visas objekt som läggs till av Brad White 12/7/2015
Serial.println(); lägger till en tom rad mellan behandlingarna på serial monitorn
Delay(1000); bromsa saker lite för läsbarhet
slutet av Brad Messina runt omkring med denna skiss
}
Filen .ino för denna skiss bifogas. Dubbelklicka på den för att automatiskt läsa in den i din Arduino gränssnitt.