Spisu treści:
- Krok 1: Wymagany sprzęt:
- Krok 2: Podłączenie sprzętu:
- Krok 3: Kod do pomiaru wilgotności i temperatury:
- Krok 4: Aplikacje:
Wideo: Pomiar wilgotności i temperatury za pomocą HTS221 i Raspberry Pi: 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.
W tym samouczku zademonstrowano interfejs modułu czujnika HTS221 z raspberry pi oraz zilustrowano jego programowanie w języku python. Do odczytu wartości wilgotności i temperatury użyliśmy raspberry pi z adapterem I2C. Ten adapter I2C sprawia, że połączenie z modułem czujnika jest łatwe i bardziej niezawodne.
Krok 1: Wymagany sprzęt:
Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:
1. HTS221
2. Raspberry Pi
3. Kabel I2C
4. Tarcza I2C dla malinowego pi
5. Kabel Ethernet
Krok 2: Podłączenie sprzętu:
Sekcja dotycząca podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a raspberry pi. Zapewnienie prawidłowych połączeń jest podstawową koniecznością podczas pracy na dowolnym systemie o pożądanej mocy. Tak więc wymagane połączenia są następujące:
HTS221 będzie działał przez I2C. Oto przykładowy schemat okablowania, pokazujący, jak okablować każdy interfejs czujnika.
Po wyjęciu z pudełka, płyta jest skonfigurowana do interfejsu I2C, dlatego zalecamy korzystanie z tego podłączenia, jeśli jesteś agnostykiem.
Wszystko czego potrzebujesz to cztery przewody! Wymagane są tylko cztery połączenia Vcc, Gnd, SCL i SDA, które są połączone za pomocą kabla I2C.
Połączenia te są pokazane na powyższych zdjęciach.
Krok 3: Kod do pomiaru wilgotności i temperatury:
Zaletą korzystania z raspberry pi jest to, że zapewnia elastyczność języka programowania, w którym chcesz zaprogramować płytkę w celu połączenia z nią czujnika. Wykorzystując tę zaletę tej płyty, demonstrujemy tutaj jej programowanie w pytonie. Kod Pythona dla HTS221 można pobrać z naszej społeczności github, czyli Control Everything Community.
Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:
Jako pierwszy krok kodowania musisz pobrać bibliotekę smbus w przypadku pythona, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:
pypi.python.org/pypi/smbus-cffi/0.5.1
Możesz również skopiować działający kod Pythona dla tego czujnika:
importuj smbus
czas importu
# Uzyskaj magistralę I2C
autobus = smbus. SMBus(1)
# Adres HTS221, 0x5F(95)
# Wybierz średni rejestr konfiguracji, 0x10(16)
# 0x1B(27) Średnia temperatura próbek = 256, Średnia wilgotność próbek = 512
bus.write_byte_data(0x5F, 0x10, 0x1B)
# Adres HTS221, 0x5F(95)
# Wybierz rejestr kontrolny1, 0x20(32)
# 0x85(133) Zasilanie włączone, ciągła aktualizacja, szybkość transmisji danych = 1 Hz
bus.write_byte_data(0x5F, 0x20, 0x85)
czas.sen(0.5)
# adres HTS221, 0x5F(95)
# Odczyt wartości kalibracji z nieulotnej pamięci urządzenia
# Wartości kalibracji wilgotności
# Odczytaj dane z powrotem z 0x30(48), 1 bajt
val = magistrala.odczyt_bajtów_danych (0x5F, 0x30)
H0 = wartość / 2
# Odczytaj dane z powrotem z 0x31(49), 1 bajt
val = magistrala.odczyt_bajtów_danych (0x5F, 0x31)
H1 = wartość /2
# Odczytaj dane z powrotem z 0x36(54), 2 bajty
val0 = magistrala.odczyt_bajtów_danych (0x5F, 0x36)
val1 = magistrala.odczyt_bajtów_danych (0x5F, 0x37)
H2 = ((wart1 i 0xFF) * 256) + (wart0 i 0xFF)
# Odczytaj dane z powrotem z 0x3A(58), 2 bajty
val0 = magistrala.odczyt_bajtu_danych (0x5F, 0x3A)
val1 = bus.read_byte_data(0x5F, 0x3B)
H3 = ((wart1 i 0xFF) * 256) + (wart0 i 0xFF)
# Wartości kalibracji temperatury
# Odczytaj dane z powrotem z 0x32(50), 1 bajt
T0 = magistrala.odczyt_bajtów_danych (0x5F, 0x32)
T0 = (T0 i 0xFF)
# Odczytaj dane z powrotem z 0x32(51), 1 bajt
T1 = magistrala.odczyt_bajtów_danych (0x5F, 0x33)
T1 = (T1 i 0xFF)
# Odczytaj dane z powrotem z 0x35(53), 1 bajt
surowy = magistrala.odczyt_bajtów_danych (0x5F, 0x35)
surowy = (surowy i 0x0F)
# Konwertuj wartości kalibracji temperatury na 10 bitów
T0 = ((surowe i 0x03) * 256) + T0
T1 = ((surowy i 0x0C) * 64) + T1
# Odczytaj dane z powrotem z 0x3C(60), 2 bajty
val0 = magistrala.odczyt_bajtu_danych (0x5F, 0x3C)
val1 = bus.read_byte_data(0x5F, 0x3D)
T2 = ((wart1 i 0xFF) * 256) + (wart0 i 0xFF)
# Odczytaj dane z powrotem z 0x3E(62), 2 bajty
val0 = magistrala.odczyt_bajtów_danych (0x5F, 0x3E)
val1 = magistrala.odczyt_bajtów_danych (0x5F, 0x3F)
T3 = ((wart1 i 0xFF) * 256) + (wart0 i 0xFF)
# Odczytaj dane z 0x28(40) za pomocą rejestru poleceń 0x80(128), 4 bajty
# wilgotność msb, wilgotność lsb, temp msb, temp lsb
dane = bus.read_i2c_block_data(0x5F, 0x28 | 0x80, 4)
# Konwertuj dane
wilgotność = (dane[1] * 256) + dane[0]
wilgotność = ((1,0 * H1) - (1,0 * H0)) * (1,0 * wilgotność - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0)
temp = (dane [3] * 256) + dane [2]
jeśli temp > 32767:
temp. -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1,8) + 32
# Dane wyjściowe na ekran
print "Wilgotność względna: %.2f %%" %humidity
print "Temperatura w stopniach Celsjusza: %.2f C" %cTemp
print "Temperatura w stopniach Fahrenheita: %.2f F" %fTemp
Wspomniana poniżej część kodu zawiera biblioteki wymagane do poprawnego wykonania kodów Pythona.
importuj smbus
czas importu
Kod można wykonać, wpisując w wierszu polecenia poniższe polecenie.
$> Python HTS221.py
Wyjście czujnika pokazano również na powyższym obrazku w celach informacyjnych dla użytkownika.
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:
Pomiar wilgotności i temperatury za pomocą HIH6130 i Arduino Nano: 4 kroki
Pomiar wilgotności i temperatury za pomocą HIH6130 i Arduino Nano: 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ą
Pomiar wilgotności i temperatury za pomocą HTS221 i Arduino Nano: 4 kroki
Pomiar wilgotności i temperatury za pomocą HTS221 i Arduino Nano: 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
Pomiar wilgotności i temperatury za pomocą HIH6130 i Raspberry Pi: 4 kroki
Pomiar wilgotności i temperatury Przy użyciu HIH6130 i Raspberry Pi: 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ą
Pomiar temperatury i wilgotności za pomocą HDC1000 i Raspberry Pi: 4 kroki
Pomiar temperatury i wilgotności za pomocą HDC1000 i Raspberry Pi: HDC1000 to cyfrowy czujnik wilgotności ze zintegrowanym czujnikiem temperatury, który zapewnia doskonałą dokładność pomiaru przy bardzo małej mocy. Urządzenie mierzy wilgotność w oparciu o nowatorski czujnik pojemnościowy. Czujniki wilgotności i temperatury są prz
Pomiar wilgotności i temperatury za pomocą HTS221 i Particle Photon: 4 kroki
Pomiar wilgotności i temperatury przy użyciu HTS221 i Particle Photon: 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