Raspberry Pi - SI7021 Humidiy & temperatur Sensor Java Tutorial (3 / 4 steg)
Steg 3: kod:
Java-kod för SI7021 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/SI70...
Databladet för SI7021 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt pi4j bibliotek för java-kod, stegen för att installera pi4j på raspberry pi som beskrivs här:
https://github.com/ControlEverythingCommunity/sht...
Du kan också kopiera koden från här, det ges enligt följande:
Distribueras med en fri vilja licens.
Använda det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
SI7021
Denna kod är utformad att fungera med SI7021_I2CS I2C Mini modulen tillgänglig från 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;
import java.io.IOException;
allmän klass SI7021 {public static void main (String args[]) kastar undantag
{
Skapa I2C bussen
I2CBus buss = I2CFactory.getInstance(I2CBus.BUS_1);
Får I2C enheten, SI7021 I2C adress är 0x40(64)
I2CDevice device = bus.getDevice(0x40);
Skicka luftfuktighet mätning kommando
Device.write((byte)0xF5);
Thread.Sleep(300);
Läs 2 byte av luftfuktighetsdata, msb först
byte [] data = nya byte [2].
Device.Read (data, 0, 2);
Konvertera luftfuktighetsdata
dubbel fuktighet = (((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 125,0) / 65536.0) - 6;
Skicka temperatur mätning kommando
Device.write((byte)0xF3);
Thread.Sleep(300);
Läs 2 byte av temperaturdata, msb först
Device.Read (data, 0, 2);
Konvertera temperaturdata
Double cTemp = (((data [0] & 0xFF) * 256) + (data [1] & 0xFF)) * 175.72) / 65536.0) - 46.85;
Double fTemp = (cTemp * 1,8) + 32;
Utdata till skärm
System.out.printf ("relativ luftfuktighet: %.2f %% %n", fuktighet);
System.out.printf ("temperaturen i Celsius: %.2f C %n", cTemp);
System.out.printf ("temperaturen i Fahrenheit: %.2f F %n", fTemp);
}
}