Spisu treści:
Wideo: Raspberry Pi HTS221 Czujnik wilgotności względnej i temperatury Samouczek Java: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
HTS221 to ultrakompaktowy pojemnościowy czujnik cyfrowy do pomiaru wilgotności względnej i temperatury. Zawiera element czujnikowy i układ scalony ASIC (ang. Mixed Signal Integrated Circuit) dostarczający informacje pomiarowe za pośrednictwem cyfrowych interfejsów szeregowych. Zintegrowany z tak wieloma funkcjami, jest jednym z najbardziej odpowiednich czujników do krytycznych pomiarów wilgotności i temperatury. Oto demonstracja z kodem java przy użyciu Raspberry Pi.
Krok 1: Czego potrzebujesz.
1. Raspberry Pi
2. HTS221
3. Kabel I²C
4. Osłona I²C dla Raspberry Pi
5. Kabel Ethernet
Krok 2: Połączenia:
Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.
Następnie podłącz jeden koniec kabla I2C do czujnika HTS221, a drugi koniec do ekranu I2C.
Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.
Połączenia prezentuje powyższy obrazek.
Krok 3: Kod:
Kod Pythona dla HTS221 można pobrać z naszego repozytorium github-Dcube Store
Oto link do tego samego:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Użyliśmy biblioteki pi4j do kodu java, kroki instalacji pi4j na raspberry pi są opisane tutaj:
pi4j.com/install.html
Możesz również skopiować kod stąd, jest on podany w następujący sposób:
// Rozprowadzane z wolną licencją.
// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.
// HTS221
// Ten kod jest przeznaczony do pracy z minimodułem HTS221_I2CS I2C.
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
importuj com.pi4j.io.i2c. I2CFabryka;
import java.io. IOException;
public class HTS221{ public static void main(String args) wyrzuca wyjątek
{
// Utwórz magistralę I2CBus
Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);
// Pobierz urządzenie I2C, adres HTS221 I2C to 0x5F(95)
Urządzenie I2CDevice = bus.getDevice(0x5F);
// Wybierz średni rejestr konfiguracji
// Średnia temperatura próbek = 16, średnia wilgotność próbek = 32
urządzenie.write(0x10, (bajt)0x1B);
// Wybierz rejestr kontrolny1
// Włączanie, aktualizacja danych bloku, szybkość transmisji danych o/p = 1 Hz
urządzenie.write(0x20, (bajt)0x85);
Wątek.sen(500);
// Odczyt wartości kalibracji z nieulotnej pamięci urządzenia
// Wartości kalibracji wilgotności
bajt val = nowy bajt[2];
// Odczytaj 1 bajt danych z adresu 0x30(48)
val[0] = (bajt)urządzenie.odczyt(0x30);
// Odczytaj 1 bajt danych z adresu 0x31(49)
val[1] = (bajt)urządzenie.odczyt(0x31);
int H0 = (val[0] & 0xFF) / 2;
int H1 = (val[1] & 0xFF) / 2;
// Odczytaj 1 bajt danych z adresu 0x36(54)
val[0] = (bajt)urządzenie.odczyt(0x36);
// Odczytaj 1 bajt danych z adresu 0x37(55)
val[1] = (bajt)urządzenie.odczyt(0x37);
int H2 = ((wart[1] & 0xFF) * 256) + (wart[0] & 0xFF);
// Odczytaj 1 bajt danych z adresu 0x3A(58)
val[0] = (bajt)urządzenie.odczyt(0x3A);
// Odczytaj 1 bajt danych z adresu 0x3B(59)
val[1] = (bajt)urządzenie.odczyt(0x3B);
int H3 = ((wart[1] & 0xFF) * 256) + (wart[0] & 0xFF);
// Wartości kalibracji temperatury
// Odczytaj 1 bajt danych z adresu 0x32(50)
int T0 = ((bajt)urządzenie.odczyt(0x32) & 0xFF);
// Odczytaj 1 bajt danych z adresu 0x33(51)
int T1 = ((bajt)urządzenie.odczyt(0x33) & 0xFF);
// Odczytaj 1 bajt danych z adresu 0x35(53)
int raw = ((byte)device.read(0x35) & 0x0F);
// Konwertuj wartości kalibracji temperatury na 10-bitowe
T0 = ((surowe i 0x03) * 256) + T0;
T1 = ((surowy i 0x0C) * 64) + T1;
// Odczytaj 1 bajt danych z adresu 0x3C(60)
val[0] = (bajt)urządzenie.odczyt(0x3C);
// Odczytaj 1 bajt danych z adresu 0x3D(61)
val[1] = (bajt)urządzenie.odczyt(0x3D);
int T2 = ((val[1] & 0xFF) * 256) + (val[0] & 0xFF);
// Odczytaj 1 bajt danych z adresu 0x3E(62)
val[0] = (bajt)urządzenie.odczyt(0x3E);
// Odczytaj 1 bajt danych z adresu 0x3F(63)
val[1] = (bajt)urządzenie.odczyt(0x3F);
int T3 = ((wartości[1] i 0xFF) * 256) + (wartości[0] i 0xFF);
// Odczytaj 4 bajty danych
// szum msb, szum lsb, temp msb, temp lsb
bajt dane = nowy bajt[4]; urządzenie.odczyt(0x28 | 0x80, dane, 0, 4);
// Konwertuj dane
int szum = ((data[1] & 0xFF) * 256) + (data[0] & 0xFF);
int temp = ((dane [3] i 0xFF) * 256) + (dane [2] i 0xFF);
jeśli (temp > 32767)
{
temp -= 65536;
}
podwójna wilgotność = ((1,0 * H1) - (1,0 * H0)) * (1,0 * szum - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);
podwójny cTemp = ((T1 - T0) / 8,0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
podwójne fTemp = (cTemp * 1,8) + 32;
// Prześlij dane na ekran
System.out.printf("Wilgotność względna: %.2f %% RH %n", wilgotność);
System.out.printf("Temperatura w stopniach Celsjusza: %.2f C %n", cTemp);
System.out.printf("Temperatura w stopniach Fahrenheita: %.2f F %n", fTemp);
}
}
Krok 4: Aplikacje:
HTS221 może być stosowany w różnych produktach konsumenckich, takich jak nawilżacze powietrza, lodówki itp. Ten czujnik znajduje również zastosowanie w szerszej dziedzinie, w tym w automatyce inteligentnego domu, automatyce przemysłowej, sprzęcie do oddychania, śledzeniu zasobów i towarów.
Zalecana:
Arduino Nano - samouczek dotyczący czujnika wilgotności względnej i temperatury HTS221: 4 kroki
Arduino Nano - samouczek dotyczący czujnika wilgotności względnej i temperatury HTS221: HTS221 to ultrakompaktowy pojemnościowy czujnik cyfrowy do pomiaru wilgotności względnej i temperatury. Zawiera element czujnikowy i układ scalony przeznaczony do aplikacji sygnałów mieszanych (ASIC), aby zapewnić informacje pomiarowe za pośrednictwem cyfrowego
Raspberry Pi - HIH6130 I2C Czujnik wilgotności i temperatury Samouczek Pythona: 4 kroki
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Python Tutorial: HIH6130 to czujnik wilgotności i temperatury z wyjściem cyfrowym. Czujniki te zapewniają poziom dokładności ±4% RH. Z wiodącą w branży długoterminową stabilnością, cyfrowym I2C z prawdziwą kompensacją temperatury, wiodącą w branży niezawodnością, energooszczędnością
Raspberry Pi - czujnik temperatury TMP100 - samouczek Java: 4 kroki
Raspberry Pi - Czujnik temperatury TMP100 Java Tutorial: Moduł TMP100 o wysokiej dokładności i niskim poborze mocy, cyfrowy czujnik temperatury I2C MINI. TMP100 jest idealny do rozszerzonego pomiaru temperatury. To urządzenie zapewnia dokładność ±1°C bez konieczności kalibracji lub kondycjonowania sygnału komponentu zewnętrznego. On
Raspberry Pi - HIH6130 I2C Czujnik wilgotności i temperatury Samouczek Java: 4 kroki
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Java Tutorial: HIH6130 to czujnik wilgotności i temperatury z wyjściem cyfrowym. Czujniki te zapewniają poziom dokładności ±4% RH. Z wiodącą w branży długoterminową stabilnością, cyfrowym I2C z prawdziwą kompensacją temperatury, wiodącą w branży niezawodnością, energooszczędnością
Rejestrator temperatury, wilgotności względnej i ciśnienia atmosferycznego za pomocą Raspberry Pi i TE Connectivity MS8607-02BA01: 22 kroki (ze zdjęciami)
Rejestrator temperatury, wilgotności względnej i ciśnienia atmosferycznego za pomocą Raspberry Pi i TE Connectivity MS8607-02BA01: Wprowadzenie:W tym projekcie pokażę, jak krok po kroku zbudować konfigurację systemu rejestrowania temperatury, wilgotności i ciśnienia atmosferycznego. Ten projekt jest oparty na chipie czujnika środowiskowego Raspberry Pi 3 Model B i TE Connectivity MS8607-02BA