Spisu treści:
Wideo: Pomiar wilgotności za pomocą HYT939 i Raspberry Pi: 4 kroki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
HYT939 to cyfrowy czujnik wilgotności działający na protokole komunikacyjnym I2C. Wilgotność jest kluczowym parametrem w systemach medycznych i laboratoriach, więc aby osiągnąć te cele, spróbowaliśmy połączyć HYT939 z raspberry pi. W tym samouczku zademonstrowano interfejs modułu czujnika HYT939 z raspberry pi oraz zilustrowano jego programowanie w języku Java.
Do odczytu wartości wilgotności 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:
Sprzęt wymagany do wykonania zadania to:
1. HYT939
2. Raspberry Pi
3. Kabel I2C
4. Osłona I2C dla Raspberry 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:
HYT939 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 Java do pomiaru wilgotności:
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 Javie. Kod Java dla HYT939 można pobrać z naszej społeczności github, czyli Dcube Store.
Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:
Jako pierwszy krok kodowania musisz pobrać bibliotekę pi4j w przypadku java, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:
pi4j.com/install.html
Możesz skopiować działający kod java dla tego czujnika również stąd:
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
importuj com.pi4j.io.i2c. I2CFabryka;
import java.io. IOException;
klasa publiczna HYT939
{
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 HYT939 I2C to 0x28(40)
Urządzenie I2CDevice = bus.getDevice(0x28);
// Wyślij polecenie trybu normalnego
urządzenie.write((bajt)0x80);
Wątek.sen(500);
// Odczytaj 4 bajty danych
// wilgotność msb, wilgotność lsb, temp msb, temp lsb
bajt dane = nowy bajt[4];
urządzenie.odczyt(dane, 0, 4);
// Konwertuj dane na 14-bitowe
podwójna wilgotność = (((data[0] & 0x3F) * 256) + (data[1] & 0xFF)) * (100.0 / 16383.0);
podwójne cTemp = ((((dane[2] & 0xFF) * 256) + (dane[3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;
podwójne fTemp = (cTemp * 1,8) + 32;
// Prześlij dane na ekran
System.out.printf("Wilgotność względna wynosi: %.2f %%RH %n", wilgotność);
System.out.printf("Temperatura w stopniach Celsjusza to: %.2f C %n", cTemp);
System.out.printf("Temperatura w stopniach Fahrenheita wynosi: %.2f F %n", fTemp);
}
}
Biblioteka, która ułatwia komunikację i2c między czujnikiem a płytą to pi4j, jej różne pakiety I2CBus, I2CDevice i I2CFactory pomagają w nawiązaniu połączenia.
importuj com.pi4j.io.i2c. I2CBus; importuj com.pi4j.io.i2c. I2CDurządzenie; importuj com.pi4j.io.i2c. I2CFabryka; import java.io. IOException;
Funkcje write() i read() służą do zapisywania określonych poleceń do czujnika, aby działał on w określonym trybie i odpowiednio odczytywał dane wyjściowe czujnika. Poniższa część kodu ilustruje użycie tych funkcji.
// Wyślij polecenie trybu normalnego device.write((byte)0x80); Wątek.sen(500); // Odczytaj 4 bajty danych // wilgotność msb, wilgotność lsb, temp msb, temp lsb byte data = new byte[4]; urządzenie.odczyt(dane, 0, 4);
Wyjście czujnika pokazano również na powyższym obrazku.
Krok 4: Aplikacje:
HYT939 jako wydajny cyfrowy czujnik wilgotności są stosowane w systemach medycznych, autoklawach. Ten moduł czujnika również znajduje zastosowanie w systemach pomiaru ciśnieniowego punktu rosy i suszenia. W różnych laboratoriach, w których odpowiedni poziom wilgotności jest kluczowym parametrem podczas przeprowadzania eksperymentów, czujnik ten można tam zastosować do pomiarów wilgotności.