Paso 3: Código de Arduino para el Sensor de Temp/Hum sI70xx
OK, estamos todos en cableado, ejecutaste el bosquejo de analizador de I2C, encuentra el dispositivo, así que supongo que estamos listos para algo de código.
NO escribir el bosquejo siguiente y por supuesto no recuerdo donde la encontré así que no puedo de crédito la entidad correcta para él. Si lo reconoce y sabe donde ha de por favor hágamelo saber así puedo actualizar esto adecuadamente.
#include
const int ADDR = 0 x 40;
int X0, X 1, Y0, Y1, Y2, Y3;
doble 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() {}
/ ** Enviar comando de iniciar la medición de temperatura ** /
Wire.beginTransmission(ADDR);
Wire.Write(0xE3);
Wire.endTransmission();
Serial.Print("Temp");
Serial.Print("\t");
Serial.println("RH");
/ ** Lee datos de temperatura ** /
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; }
/ ** Calcular y mostrar la temperatura ** /
X=(175.72*X_out)/65536;
X = X-46.85;
Serial.Print(X);
Serial.Print("C");
Serial.Print("\t");
/ ** Enviar comando de iniciar la medición de humedad relativa ** /
Wire.beginTransmission(ADDR);
Wire.Write(0xE5);
Wire.endTransmission();
/ ** Lee datos de humedad relativa ** /
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; }
/ ** Calcula y exhibe humedad relativa ** /
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);
a continuación se muestran elementos agregados por Brad White 07/12/2015
Serial.println(); añade una línea en blanco entre las lecturas en el monitor serial
Delay(1000); frenar las cosas un poco para facilitar la lectura
final de Brad de molestando con este sketch
}
Se adjunta el archivo .ino para este bosquejo. Haga doble clic en él para cargar automáticamente en su interfaz de Arduino.