Raspberry Pi HTS221 relativ fuktighet och temperatur Sensor Java Tutorial (3 / 4 steg)

Steg 3: kod:



Python koden för HTS221 kan hämtas från vår github repository-ControlEverythingCommunity

Här är länken för samma:

https://github.com/ControlEverythingCommunity/HTS2...

Databladet för HTS221 kan hittas här:

http://www.St.com/Web/en/Resource/Technical/DOCUME...

Vi har använt pi4j bibliotek för java-kod, stegen för att installera pi4j på raspberry pi som beskrivs här:

http://pi4j.com/install.html

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.

HTS221

Denna kod är utformad att fungera med HTS221_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 HTS221 {public static void main (String args[]) kastar undantag

{

Skapa I2CBus

I2CBus buss = I2CFactory.getInstance(I2CBus.BUS_1);

Får I2C enheten, HTS221 I2C adress är 0x5F(95)

I2CDevice device = bus.getDevice(0x5F);

Välj genomsnittliga konfigurationen register

Temperaturen genomsnittliga prover = 16, luftfuktighet genomsnittliga prover = 32

Device.write (0x10, (byte) 0x1B);

SELECT-kontrollen register1

Start, block data update, data rate o/p = 1 Hz

Device.write (0x20, (byte) 0x85);

Thread.Sleep(500);

Läs kalibreringsvärden från icke-flyktigt minne enheten

Fuktighet kalibreringsvärden

byte [] val = nya byte [2].

Läsa data-1 byte från adress 0x30(48)

val [0] = (byte)device.read(0x30);

Läsa data-1 byte från adress 0x31(49)

val [1] = (byte)device.read(0x31);

int H0 = (val [0] & 0xFF) / 2;

int H1 = (val [1] & 0xFF) / 2;

Läsa data-1 byte från adress 0x36(54)

val [0] = (byte)device.read(0x36);

Läsa data-1 byte från adress 0x37(55)

val [1] = (byte)device.read(0x37);

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

Läsa data-1 byte från adress 0x3A(58)

val [0] = (byte)device.read(0x3A);

Läsa data-1 byte från adress 0x3B(59)

val [1] = (byte)device.read(0x3B);

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

Temperaturen kalibreringsvärden

Läsa data-1 byte från adress 0x32(50)

int T0 = ((byte)device.read(0x32) & 0xFF);

Läsa data-1 byte från adress 0x33(51)

int T1 = ((byte)device.read(0x33) & 0xFF);

Läsa data-1 byte från adress 0x35(53)

int rå = ((byte)device.read(0x35) & 0x0F);

Konvertera temperatur kalibreringsvärden till 10-bitar

T0 = ((raw & 0x03) * 256) + T0;

T1 = ((raw & 0x0C) * 64) + T1;

Läsa data-1 byte från adress 0x3C(60)

val [0] = (byte)device.read(0x3C);

Läsa data-1 byte från adress 0x3D(61)

val [1] = (byte)device.read(0x3D);

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

Läsa data-1 byte från adress 0x3E(62)

val [0] = (byte)device.read(0x3E);

Läsa data-1 byte från adress 0x3F(63)

val [1] = (byte)device.read(0x3F);

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

Läs 4 byte data

hum msb, hum lsb, temp msb, temp lsb

byte [] data = nya byte [4]. Device.Read (0x28 | 0x80, data, 0, 4);

Konvertera data

int hum = ((data [1] & 0xFF) * 256) + (data [0] & 0xFF);

int temp = ((data [3] & 0xFF) * 256) + (data [2] & 0xFF);

IF(temp > 32767)

{

Temp-= 65536;

}

dubbel fuktighet = ((1.0 * H1)-(1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

Double cTemp = ((T1-T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);

Double fTemp = (cTemp * 1,8) + 32;

Utdata till skärm

System.out.printf ("relativ luftfuktighet: %.2f %% RH %n", fuktighet);

System.out.printf ("temperaturen i Celsius: %.2f C %n", cTemp);

System.out.printf ("temperaturen i Fahrenheit: %.2f F %n", fTemp);

}

}

Se Steg
Relaterade Ämnen

Arduino Nano - HTS221 relativ fuktighet och temperatur Sensor handledning

HTS221 är en ultra-kompakt kapacitiv digital sensor för relativ fuktighet och temperatur. Den innehåller ett fjärranalys element och en blandad signal ansökan specifik integrerad circuit(ASIC) att mätning genom digital seriella gränssnitt. Integrerat...

Raspberry Pi - SI7021 Humidiy & temperatur Sensor Java Tutorial

SI7021 är en luftfuktighet och temperatursensor som kan fungera på I2C kommunikationsprotokoll. Den har en monolitisk CMOS IC integrera fuktighet och temperatur sensor element, en analog-till-digital-omvandlare etc. Med mycket avancerad signalbehandl...

Raspberry Pi - HIH6130 I2C luftfuktighet & temperatur Sensor Java Tutorial

HIH6130 är en luftfuktighet och temperatursensor med digital utgång. Dessa sensorer ger en noggrannhet ±4% RH. Med branschledande långsiktig stabilitet temperaturkompenserad true digital I2C, branschledande tillförlitlighet, energieffektivitet och Ul...

Raspberry Pi - TMP100 temperatur Sensor Java Tutorial

TMP100 hög noggrannhet, Low-Power, Digital temperatur Sensor I2C MINI modul. TMP100 är idealisk för utökade Temperaturmätning. Denna enhet erbjuder en noggrannhet på ±1 ° C utan att kalibrering eller extern komponent signal konditionering. Här är dem...

Raspberry Pi TMP112 temperatur Sensor Java Tutorial

TMP112 hög noggrannhet, Low-Power, Digital temperatur Sensor I2C MINI modul. TMP112 är idealisk för utökade Temperaturmätning. Denna enhet erbjuder en noggrannhet på ±0, 5 ° C utan att kalibrering eller extern komponent signal konditionering. Här är...

Raspberry Pi - MPL3115A2 Precision höjdmätare Sensor Java Tutorial

MPL3115A2 sysselsätter en MEMS tryckgivare med ett I2C gränssnitt att tillhandahålla korrekta uppgifter som trycket/höjd och temperatur. Sensor utgångar är digitaliserade av en högupplöst 24-bitars ADC. Interna behandling tar bort ersättning uppgifte...

Raspberry Pi - TCN75A temperatur Sensor Java Tutorial

TCN75A är en två-tråd seriell temperatursensor med temperatur-till-digital-omvandlare. Det har blandats med användaren programmerbara register som ger flexibilitet för temperaturkännande program. Med registret inställningarna kan användare konfigurer...

Raspberry Pi MCP9803 temperatur Sensor Java Tutorial

MCP9803 är en 2-tråds hög noggrannhet temperaturgivare. De förkroppsligas med user - programmerbar register som underlättar temperaturkännande program. Denna sensor är lämpad för mycket sofistikerad flera zoner temperaturövervakningssystem. Här är de...

Raspberry Pi MCP9805 temperatur Sensor Java Tutorial

MCP9805 är en minne modul digital temperaturgivare. Det har blandats med användaren programmerbara register som ger flexibilitet på temperaturkännande program. Denna sensor är avsedd att införlivas i mobil plattform minne modul temperaturgivare. Här...

Raspberry Pi STS21 temperatur Sensor Java Tutorial

STS21 Digital temperaturgivare erbjuder överlägsen prestanda och en utrymmesbesparande fotavtryck. Det ger kalibrerad, linearized signalerar i digitalt, I2C format. Tillverkning av denna sensor är baserad på CMOSens teknik, som tillskrivar till den ö...

Raspberry Pi - SI7021 Humidiy & temperatur Sensor Python Tutorial

SI7021 är en luftfuktighet och temperatursensor som kan fungera på I2C kommunikationsprotokoll. Den har en monolitisk CMOS IC integrera fuktighet och temperatur sensor element, en analog-till-digital-omvandlare etc. Med mycket avancerad signalbehandl...

Raspberry Pi - SI7006-A20 luftfuktighet & temperatur Sensor Python Tutorial

SI7006-A20 är en luftfuktighet och temperatursensor som kan fungera på I2C kommunikationsprotokoll. Den har en monolitisk CMOS IC integrera fuktighet och temperatur sensor element, en analog-till-digital-omvandlare etc. Med mycket avancerad signalbeh...

Digital fuktighet och temperatur Monitor

Hej varje enAtt säkerställa rätt luftfuktighet inomhus har viktiga hud, allergen och andra hälsofördelar genom att hämma tillväxten av, bakterier, virus, svampar och etc. Denna Digital temperatur och luftfuktighet Monitor kan du kontrollera komfort v...

Raspberry Pi SHT25 luftfuktighet & temperatur Sensor Python Tutorial

SHT25 I2C fuktighet och temperatursensor ±1.8%RH ±0.2 ° C I2C Mini modul. SHT25 hög noggrannhet fukt och temperatur sensor har blivit en industristandard i termer av formfaktor och intelligens, som tillhandahåller kalibrerad, linearised sensor signal...

Raspberry Pi - HIH6130 I2C luftfuktighet & temperatur Sensor Python Tutorial

HIH6130 är en luftfuktighet och temperatursensor med digital utgång. Dessa sensorer ger en noggrannhet ±4% RH. Med branschledande långsiktig stabilitet temperaturkompenserad true digital I2C, branschledande tillförlitlighet, energieffektivitet och Ul...

Raspberry Pi - TMP100 temperatur Sensor Python Tutorial

TMP100 hög noggrannhet, Low-Power, Digital temperatur Sensor I2C MINI modul. TMP100 är idealisk för utökade Temperaturmätning. Denna enhet erbjuder en noggrannhet på ±1 ° C utan att kalibrering eller extern komponent signal konditionering. Här är dem...

Raspberry Pi MCP9808 temperatur Sensor Python Tutorial

MCP9808 är en mycket noggrann digital temperatur sensor ±0, 5 ° C I2C mini modul. De förkroppsligas med user - programmerbar register som underlättar temperaturkännande program. MCP9808 hög noggrannhet temperaturgivare har blivit en industristandard...

Raspberry Pi TMP112 temperatur Sensor Python Tutorial

TMP112 hög noggrannhet, Low-Power, Digital temperatur Sensor I2C MINI modul. TMP112 är idealisk för utökade Temperaturmätning. Denna enhet erbjuder en noggrannhet på ±0, 5 ° C utan att kalibrering eller extern komponent signal konditionering. Här är...

Raspberry Pi - MPL3115A2 Precision höjdmätare Sensor Python Tutorial

MPL3115A2 sysselsätter en MEMS tryckgivare med ett I2C gränssnitt att tillhandahålla korrekta uppgifter som trycket/höjd och temperatur. Sensor utgångar är digitaliserade av en högupplöst 24-bitars ADC. Interna behandling tar bort ersättning uppgifte...