Indholdsfortegnelse:
Video: Raspberry Pi HTS221 Relativ fugtigheds- og temperatursensor Java Tutorial: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digitale serielle grænseflader. Integreret med så mange funktioner er dette en af de mest passende sensorer til kritiske fugtigheds- og temperaturmålinger. Her er demonstrationen med en java -kode ved hjælp af Raspberry Pi.
Trin 1: Hvad du har brug for..
1. Hindbær Pi
2. HTS221
3. I²C -kabel
4. I²C Shield til Raspberry Pi
5. Ethernet -kabel
Trin 2: Forbindelser:
Tag et I2C -skjold til hindbærpi og skub det forsigtigt hen over gpio -benene på hindbærpi.
Tilslut derefter den ene ende af I2C -kablet til HTS221 -sensoren og den anden ende til I2C -skærmen.
Tilslut også Ethernet -kablet til pi'en, eller du kan bruge et WiFi -modul.
Forbindelser er vist på billedet ovenfor.
Trin 3: Kode:
Python-koden til HTS221 kan downloades fra vores github repository-Dcube Store
Her er linket til det samme:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Vi har brugt pi4j bibliotek til java -kode, trinene til at installere pi4j på hindbær pi er beskrevet her:
pi4j.com/install.html
Du kan også kopiere koden herfra, den er givet som følger:
// Distribueret med en fri vilje licens.
// Brug den, som du vil, profit eller gratis, forudsat at den passer ind i licenserne til de tilhørende værker.
// HTS221
// Denne kode er designet til at fungere med HTS221_I2CS I2C Mini Module.
importer com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
public class HTS221 {public static void main (String args ) kaster undtagelse
{
// Opret I2CBus
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Hent I2C -enhed, HTS221 I2C -adresse er 0x5F (95)
I2CDevice -enhed = bus.getDevice (0x5F);
// Vælg gennemsnitligt konfigurationsregister
// Temperatur gennemsnitlige prøver = 16, gennemsnitlige fugtighedsprøver = 32
device.write (0x10, (byte) 0x1B);
// Vælg kontrolregister1
// Tænd, blokdataopdatering, datahastighed o/p = 1 Hz
device.write (0x20, (byte) 0x85);
Tråd. Sover (500);
// Læs kalibreringsværdier fra enhedens ikke-flygtige hukommelse
// Fugtighedskalibreringsværdier
byte val = ny byte [2];
// Læs 1 byte data fra adresse 0x30 (48)
val [0] = (byte) device.read (0x30);
// Læs 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;
// Læs 1 byte data fra adresse 0x36 (54)
val [0] = (byte) device.read (0x36);
// Læs 1 byte data fra adresse 0x37 (55)
val [1] = (byte) device.read (0x37);
int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Læs 1 byte data fra adresse 0x3A (58)
val [0] = (byte) device.read (0x3A);
// Læs 1 byte data fra adresse 0x3B (59)
val [1] = (byte) device.read (0x3B);
int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Temperaturkalibreringsværdier
// Læs 1 byte data fra adresse 0x32 (50)
int T0 = ((byte) device.read (0x32) & 0xFF);
// Læs 1 byte data fra adresse 0x33 (51)
int T1 = ((byte) device.read (0x33) & 0xFF);
// Læs 1 byte data fra adresse 0x35 (53)
int raw = ((byte) device.read (0x35) & 0x0F);
// Konverter temperaturkalibreringsværdierne til 10-bit
T0 = ((rå & 0x03) * 256) + T0;
T1 = ((rå & 0x0C) * 64) + T1;
// Læs 1 byte data fra adresse 0x3C (60)
val [0] = (byte) device.read (0x3C);
// Læs 1 byte data fra adresse 0x3D (61)
val [1] = (byte) device.read (0x3D);
int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Læs 1 byte data fra adresse 0x3E (62)
val [0] = (byte) device.read (0x3E);
// Læs 1 byte data fra adresse 0x3F (63)
val [1] = (byte) device.read (0x3F);
int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Læs 4 bytes 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)
{
temp -= 65536;
}
dobbelt luftfugtighed = ((1,0 * H1) - (1,0 * H0)) * (1,0 * brum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
dobbelt cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
dobbelt fTemp = (cTemp * 1,8) + 32;
// Output data til skærmen
System.out.printf ("Relativ luftfugtighed: %.2f %% RH %n", fugtighed);
System.out.printf ("Temperatur i Celsius: %.2f C %n", cTemp);
System.out.printf ("Temperatur i Fahrenheit: %.2f F %n", fTemp);
}
}
Trin 4: Ansøgninger:
HTS221 kan bruges i forskellige forbrugerprodukter som luftfugtere og køleskabe osv. Denne sensor finder også sin anvendelse i en bredere arena, herunder smart hjemmeautomatisering, industriel automatisering, åndedrætsudstyr, aktiv- og varesporing.
Anbefalede:
Sådan bruges DHT22 fugtigheds- og temperatursensor med Arduino: 6 trin
Sådan bruges DHT22 fugtigheds- og temperatursensor med Arduino: I denne vejledning lærer vi, hvordan du bruger DHT22 fugtigheds- og temperatursensor med Arduino og viser værdierne på OLED -displayet. Se videoen
Raspberry Pi SHT25 Fugtigheds- og temperatursensor Python -tutorial: 4 trin
Raspberry Pi SHT25 Fugtigheds- og temperatursensor Python -vejledning: SHT25 I2C Fugtigheds- og temperatursensor ± 1,8%relativ luftfugtighed ± 0,2 ° C I2C mini -modul. SHT25-fugtigheds- og temperatursensoren med høj nøjagtighed er blevet en industristandard med hensyn til formfaktor og intelligens, hvilket giver kalibreret, lineariseret sensorsignal
Arduino Nano - HTS221 Relativ luftfugtighed og temperatursensor Tutorial: 4 trin
Arduino Nano - HTS221 Relativ luftfugtighed og temperatursensor Tutorial: HTS221 er en ultrakompakt kapacitiv digital sensor til relativ luftfugtighed og temperatur. Det inkluderer et følerelement og et blandet signal applikationsspecifikt integreret kredsløb (ASIC) til at levere måleoplysningerne gennem digital seriel
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python -tutorial: 4 trin
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Python Tutorial: HIH6130 er en fugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: 4 trin
Raspberry Pi - HIH6130 I2C Fugtigheds- og temperatursensor Java Tutorial: HIH6130 er en fugtigheds- og temperatursensor med digital udgang. Disse sensorer giver et nøjagtighedsniveau på ± 4% RF. Med brancheførende langsigtet stabilitet, ægte temperaturkompenseret digital I2C, brancheførende pålidelighed, energieffektivitet