Paso 3: código:
El código java para SI7021 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/SI70...
La hoja de datos de SI7021 se puede encontrar aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Hemos utilizado pi4j biblioteca de código java, los pasos para instalar pi4j en frambuesa pi se describe aquí:
https://github.com/ControlEverythingCommunity/SHT...
También puede copiar el código desde aquí, se da como sigue:
Distribuido con una licencia de libre albedrío.
Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
SI7021
Este código está diseñado para trabajar con el módulo de Mini de I2C SI7021_I2CS de ControlEverything.com.
https://www.controleverything.com/content/Humidit...
Import com.pi4j.io.i2c.I2CBus;
Import com.pi4j.io.i2c.I2CDevice;
Import com.pi4j.io.i2c.I2CFactory;
importación java.io.IOException;
clase SI7021 {público estático principal vacío (cadena args[]) produce excepción
{
Crear bus I2C
Bus I2CBus = I2CFactory.getInstance(I2CBus.BUS_1);
Obtener dispositivo I2C, SI7021 I2C dirección es 0x40(64)
Dispositivo de I2CDevice = bus.getDevice(0x40);
Enviar el comando de medición de humedad
Device.Write((byte)0xF5);
Thread.Sleep(300);
Lee 2 bytes de los datos de humedad, msb primero
datos de Byte [] = new byte [2];
Device.Read (datos, 0, 2);
Convertir datos de humedad
doble de humedad = (((datos [0] & 0xFF) * 256) + (datos [1] & 0xFF)) * 125,0) / 65536.0) - 6;
Enviar el comando de medición de temperatura
Device.Write((byte)0xF3);
Thread.Sleep(300);
Lee 2 bytes de datos de temperatura, msb primero
Device.Read (datos, 0, 2);
Convertir datos de temperatura
cTemp doble = (((datos [0] & 0xFF) * 256) + (datos [1] & 0xFF)) * 175.72) / 65536.0) - 46.85;
fTemp doble = (cTemp * 1.8) + 32;
Datos de salida a pantalla
System.out.printf ("humedad relativa: %.2f %% %n", humedad);
System.out.printf ("temperatura en grados Celsius: %.2f C %n", cTemp);
System.out.printf ("temperatura en grados Fahrenheit: %.2f F %n", fTemp);
}
}