Innholdsfortegnelse:
Video: Raspberry Pi HTS221 Relativ fuktighets- og temperatursensor Java Opplæring: 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inneholder et følerelement og en spesifikk integrert krets (ASIC) for blandet signal for å gi måleinformasjonen gjennom digitale serielle grensesnitt. Integrert med så mange funksjoner, dette er en av de mest passende sensorene for kritiske fuktighets- og temperaturmålinger. Her er demonstrasjonen med en java -kode ved bruk av Raspberry Pi.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. HTS221
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til HTS221 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Python-koden for HTS221 kan lastes ned fra vår github repository-Dcube Store
Her er lenken til det samme:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Vi har brukt pi4j bibliotek for java -kode, trinnene for å installere pi4j på bringebær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er gitt som følger:
// Distribuert med en fri viljelisens.
// Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
// HTS221
// Denne koden er designet for å fungere med HTS221_I2CS I2C Mini Module.
importer com.pi4j.io.i2c. I2CBus;
importer com.pi4j.io.i2c. I2CDenhet;
importer com.pi4j.io.i2c. I2CFactory;
importer java.io. IOException;
public class HTS221 {public static void main (String args ) kaster Unntak
{
// Lag I2CBus
I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);
// Få I2C -enhet, HTS221 I2C -adresse er 0x5F (95)
I2CDevice -enhet = bus.getDevice (0x5F);
// Velg gjennomsnittlig konfigurasjonsregister
// Temperatur gjennomsnittlige prøver = 16, gjennomsnittlige fuktighetsprøver = 32
device.write (0x10, (byte) 0x1B);
// Velg kontrollregister1
// Slå på, blokker dataoppdatering, datahastighet o/p = 1 Hz
device.write (0x20, (byte) 0x85);
Tråd. Sover (500);
// Les kalibreringsverdier fra enhetens ikke-flyktige minne
// Verdier for fuktighetskalibrering
byte val = ny byte [2];
// Les 1 byte data fra adresse 0x30 (48)
val [0] = (byte) device.read (0x30);
// Les 1 byte data fra adresse 0x31 (49)
val [1] = (byte) device.read (0x31);
int H0 = (val [0] & 0xFF) / 2;
int H1 = (val [1] & 0xFF) / 2;
// Les 1 byte data fra adresse 0x36 (54)
val [0] = (byte) device.read (0x36);
// Les 1 byte data fra adresse 0x37 (55)
val [1] = (byte) device.read (0x37);
int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Les 1 byte data fra adresse 0x3A (58)
val [0] = (byte) device.read (0x3A);
// Les 1 byte data fra adresse 0x3B (59)
val [1] = (byte) device.read (0x3B);
int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Temperaturkalibreringsverdier
// Les 1 byte data fra adresse 0x32 (50)
int T0 = ((byte) device.read (0x32) & 0xFF);
// Les 1 byte data fra adresse 0x33 (51)
int T1 = ((byte) device.read (0x33) & 0xFF);
// Les 1 byte data fra adresse 0x35 (53)
int raw = ((byte) device.read (0x35) & 0x0F);
// Konverter temperaturkalibreringsverdiene til 10-bits
T0 = ((rå & 0x03) * 256) + T0;
T1 = ((rå & 0x0C) * 64) + T1;
// Les 1 byte data fra adresse 0x3C (60)
val [0] = (byte) device.read (0x3C);
// Les 1 byte data fra adresse 0x3D (61)
val [1] = (byte) device.read (0x3D);
int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Les 1 byte data fra adresse 0x3E (62)
val [0] = (byte) device.read (0x3E);
// Les 1 byte data fra adresse 0x3F (63)
val [1] = (byte) device.read (0x3F);
int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Les 4 byte med data
// hum msb, hum lsb, temp msb, temp lsb
byte data = ny byte [4]; device.read (0x28 | 0x80, data, 0, 4);
// Konverter dataene
int hum = ((data [1] & 0xFF) * 256) + (data [0] & 0xFF);
int temp = ((data [3] & 0xFF) * 256) + (data [2] & 0xFF);
hvis (temp> 32767)
{
temperatur -= 65536;
}
dobbel fuktighet = ((1,0 * H1) - (1,0 * H0)) * (1,0 * brum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
dobbel cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
dobbelt fTemp = (cTemp * 1,8) + 32;
// Utdata til skjermen
System.out.printf ("Relativ fuktighet: %.2f %% RH %n", fuktighet);
System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);
System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);
}
}
Trinn 4: Søknader:
HTS221 kan brukes i forskjellige forbrukerprodukter som luftfuktere og kjøleskap etc. Denne sensoren finner også sin anvendelse på en bredere arena, inkludert smart hjemmeautomatisering, industriell automatisering, åndedrettsutstyr, eiendeler og varesporing.
Anbefalt:
Hvordan bruke DHT22 fuktighets- og temperatursensor med Arduino: 6 trinn
Hvordan bruke DHT22 fuktighets- og temperatursensor med Arduino: I denne opplæringen lærer vi hvordan du bruker DHT22 fuktighets- og temperatursensor med Arduino og viser verdiene på OLED -skjermen. Se videoen
Raspberry Pi SHT25 Fuktighets- og temperatursensor Python -opplæring: 4 trinn
Raspberry Pi SHT25 Fuktighets- og temperatursensor Pythonopplæring: SHT25 I2C Fuktighets- og temperatursensor ± 1,8%RH ± 0,2 ° C I2C minimodul. SHT25-fuktighets- og temperatursensoren med høy nøyaktighet har blitt en industristandard når det gjelder formfaktor og intelligens, og gir kalibrert, linearisert sensorsignal
Arduino Nano - HTS221 Relativ fuktighets- og temperatursensoropplæring: 4 trinn
Arduino Nano - HTS221 Relativ fuktighet og temperatursensor Opplæring: HTS221 er en ultrakompakt kapasitiv digital sensor for relativ fuktighet og temperatur. Den inkluderer et følerelement og en blandet signalapplikasjonsspesifikk integrert krets (ASIC) for å gi måleinformasjonen gjennom digital seriell
Raspberry Pi - HIH6130 I2C Fuktighets- og temperatursensor Pythonopplæring: 4 trinn
Raspberry Pi - HIH6130 I2C Fuktighets- og temperatursensor Pythonopplæring: HIH6130 er en fuktighets- og temperatursensor med digital utgang. Disse sensorene gir et nøyaktighetsnivå på ± 4% RF. Med bransjeledende langsiktig stabilitet, ekte temperaturkompensert digital I2C, bransjeledende pålitelighet, energieffektivitet
Raspberry Pi - HIH6130 I2C Fuktighets- og temperatursensor Java Opplæring: 4 trinn
Raspberry Pi - HIH6130 I2C Fuktighets- og temperatursensor Java Opplæring: HIH6130 er en fuktighets- og temperatursensor med digital utgang. Disse sensorene gir et nøyaktighetsnivå på ± 4% RF. Med bransjeledende langsiktig stabilitet, ekte temperaturkompensert digital I2C, bransjeledende pålitelighet, energieffektivitet