Sadržaj:
Video: Raspberry Pi HTS221 senzor relativne vlažnosti i temperature Java Vodič: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži osjetljivi element i integrirano kolo za mješoviti signal (ASIC) za mješoviti signal za pružanje mjernih informacija putem digitalnih serijskih sučelja. Integriran s toliko funkcija, ovo je jedan od najprikladnijih senzora za mjerenje kritične vlažnosti i temperature. Evo demonstracije s java kodom pomoću Raspberry Pi.
Korak 1: Šta vam treba..
1. Malina Pi
2. HTS221
3. I²C kabel
4. I²C štit za Raspberry Pi
5. Ethernet kabel
Korak 2: Veze:
Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.
Zatim spojite jedan kraj I2C kabela na HTS221 senzor, a drugi kraj na I2C štit.
Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.
Veze su prikazane na gornjoj slici.
Korak 3: Kod:
Python kod za HTS221 može se preuzeti sa našeg github spremišta-Dcube Store
Evo linka za isto:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Za java kod koristili smo biblioteku pi4j, koraci za instaliranje pi4j na malinu pi opisani su ovdje:
pi4j.com/install.html
Kôd možete i kopirati odavde, dat je na sljedeći način:
// Distribuirano s licencom za slobodnu volju.
// Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.
// HTS221
// Ovaj kod je dizajniran za rad s HTS221_I2CS I2C mini modulom.
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
javna klasa HTS221 {public static void main (String args ) baca iznimku
{
// Kreiranje I2CBus -a
I2CBus sabirnica = I2CFactory.getInstance (I2CBus. BUS_1);
// Nabavite I2C uređaj, HTS221 I2C adresa je 0x5F (95)
I2CDevice uređaj = bus.getDevice (0x5F);
// Odabir prosječnog registra konfiguracije
// Prosječni uzorci temperature = 16, prosječni uzorci vlažnosti = 32
device.write (0x10, (bajt) 0x1B);
// Odaberite kontrolni registar1
// Uključivanje, blokiranje ažuriranja podataka, brzina prijenosa o/p = 1 Hz
device.write (0x20, (bajt) 0x85);
Thread.sleep (500);
// Očitavanje kalibracijskih vrijednosti iz energetske memorije uređaja
// Vrijednosti kalibracije vlažnosti
bajt val = novi bajt [2];
// Očitavanje 1 bajta podataka s adrese 0x30 (48)
val [0] = (bajt) device.read (0x30);
// Očitavanje 1 bajta podataka s adrese 0x31 (49)
val [1] = (bajt) device.read (0x31);
int H0 = (val [0] & 0xFF) / 2;
int H1 = (val [1] & 0xFF) / 2;
// Očitavanje 1 bajta podataka s adrese 0x36 (54)
val [0] = (bajt) device.read (0x36);
// Očitavanje 1 bajta podataka s adrese 0x37 (55)
val [1] = (bajt) device.read (0x37);
int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Očitavanje 1 bajta podataka s adrese 0x3A (58)
val [0] = (bajt) device.read (0x3A);
// Očitavanje 1 bajta podataka s adrese 0x3B (59)
val [1] = (bajt) device.read (0x3B);
int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Vrijednosti kalibracije temperature
// Očitavanje 1 bajta podataka s adrese 0x32 (50)
int T0 = ((byte) device.read (0x32) & 0xFF);
// Očitavanje 1 bajta podataka s adrese 0x33 (51)
int T1 = ((byte) device.read (0x33) & 0xFF);
// Očitavanje 1 bajta podataka s adrese 0x35 (53)
int raw = ((byte) device.read (0x35) & 0x0F);
// Pretvorimo temperaturne kalibracijske vrijednosti u 10-bitne
T0 = ((neobrađeno & 0x03) * 256) + T0;
T1 = ((neobrađeno & 0x0C) * 64) + T1;
// Očitavanje 1 bajta podataka s adrese 0x3C (60)
val [0] = (bajt) device.read (0x3C);
// Očitavanje 1 bajta podataka s adrese 0x3D (61)
val [1] = (bajt) device.read (0x3D);
int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Očitavanje 1 bajta podataka s adrese 0x3E (62)
val [0] = (bajt) device.read (0x3E);
// Očitavanje 1 bajta podataka s adrese 0x3F (63)
val [1] = (bajt) device.read (0x3F);
int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Očitavanje 4 bajta podataka
// hum msb, hum lsb, temp msb, temp lsb
bajt podatak = novi bajt [4]; device.read (0x28 | 0x80, podaci, 0, 4);
// Pretvorimo podatke
int hum = ((podaci [1] & 0xFF) * 256) + (podaci [0] & 0xFF);
int temp = ((podaci [3] & 0xFF) * 256) + (podaci [2] & 0xFF);
if (temp> 32767)
{
temp -= 65536;
}
dvostruka vlažnost = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
dvostruki cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
dvostruki fTemp = (cTemp * 1.8) + 32;
// Iznos podataka na ekran
System.out.printf ("Relativna vlažnost: %.2f %% RH %n", vlažnost);
System.out.printf ("Temperatura u Celzijusima: %.2f C %n", cTemp);
System.out.printf ("Temperatura u Fahrenheitu: %.2f F %n", fTemp);
}
}
Korak 4: Aplikacije:
HTS221 se može koristiti u raznim proizvodima široke potrošnje poput ovlaživača zraka i hladnjaka itd. Ovaj senzor svoju primjenu nalazi i u široj areni uključujući automatizaciju pametnih kuća, industrijsku automatizaciju, respiratornu opremu, praćenje imovine i robe.
Preporučuje se:
Raspberry Pi SHT25 Senzor vlažnosti i temperature Python Vodič: 4 koraka
Raspberry Pi SHT25 Senzor vlažnosti i temperature Python Vodič: SHT25 I2C Senzor vlažnosti i temperature ± 1,8%RH ± 0,2 ° C I2C mini modul. Senzor vlažnosti i temperature SHT25 visoke preciznosti postao je industrijski standard u pogledu faktora oblika i inteligencije, pružajući kalibrirani, linearizirani signal senzora
Arduino Nano - HTS221 Vodič za senzor relativne vlažnosti i temperature: 4 koraka
Arduino Nano - HTS221 Vodič za senzor relativne vlažnosti i temperature: HTS221 je ultra kompaktni kapacitivni digitalni senzor za relativnu vlažnost i temperaturu. Sadrži senzorski element i integrirano kolo za mješoviti signal specifično za aplikacije (ASIC) za pružanje mjernih informacija putem digitalne serijske
Raspberry Pi - HIH6130 I2C Senzor vlažnosti i temperature Python Vodič: 4 koraka
Raspberry Pi - HIH6130 I2C Senzor vlažnosti i temperature Python Vodič: HIH6130 je senzor vlažnosti i temperature s digitalnim izlazom. Ovi senzori pružaju nivo preciznosti od ± 4% RH. Uz dugoročnu stabilnost, vodeću u industriji, digitalni I2C s kompenzacijom temperature, vodeću pouzdanost u industriji, energetsku učinkovitost
Raspberry Pi - TMP100 senzor temperature Java Vodič: 4 koraka
Raspberry Pi-TMP100 senzor temperature Java Vodič: TMP100 I2C MINI modul visoke preciznosti, male snage, digitalni senzor temperature. TMP100 je idealan za produženo mjerenje temperature. Ovaj uređaj nudi preciznost od ± 1 ° C bez potrebe za kalibracijom ili prilagođavanjem signala vanjske komponente. On
Raspberry Pi - HIH6130 I2C senzor vlažnosti i temperature Java Tutorial: 4 koraka
Raspberry Pi - HIH6130 I2C senzor vlažnosti i temperature Java vodič: HIH6130 je senzor vlažnosti i temperature s digitalnim izlazom. Ovi senzori pružaju nivo preciznosti od ± 4% RH. Uz dugoročnu stabilnost, vodeću u industriji, digitalni I2C s kompenzacijom temperature, vodeću pouzdanost u industriji, energetsku učinkovitost