Spisu treści:

Pomiar wilgotności za pomocą HYT939 i Arduino Nano: 4 kroki
Pomiar wilgotności za pomocą HYT939 i Arduino Nano: 4 kroki

Wideo: Pomiar wilgotności za pomocą HYT939 i Arduino Nano: 4 kroki

Wideo: Pomiar wilgotności za pomocą HYT939 i Arduino Nano: 4 kroki
Wideo: Amatorskie pomiary parametrów atmosferycznych 2024, Listopad
Anonim
Image
Image

HYT939 to cyfrowy czujnik wilgotności działający na protokole komunikacyjnym I2C. Wilgotność jest kluczowym parametrem, jeśli chodzi o systemy medyczne i laboratoria, więc aby osiągnąć te cele, spróbowaliśmy połączyć HYT939 z arduino nano. W tym samouczku zademonstrowano interfejs modułu czujnika HYT939 z arduino nano.

Aby odczytać wartości wilgotności, użyliśmy arduino z adapterem I2c. Ten adapter I2C sprawia, że połączenie z modułem czujnika jest łatwe i bardziej niezawodne.

Protokół komunikacyjny na którym pracuje czujnik to I2C. I2C oznacza układ scalony. Jest to protokół komunikacyjny, w którym komunikacja odbywa się za pośrednictwem linii SDA (dane szeregowe) i SCL (zegar szeregowy). Umożliwia podłączenie wielu urządzeń jednocześnie. Jest to jeden z najprostszych i najbardziej wydajnych protokołów komunikacyjnych.

Krok 1: Wymagany sprzęt:

Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt

Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:

1. HYT939

2. Arduino Nano

3. Kabel I2C

4. Osłona I2C dla Arduino nano

Krok 2: Podłączenie sprzętu:

Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu

Sekcja podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a arduino nano. 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 Arduino do pomiaru wilgotności:

Kod Arduino do pomiaru wilgotności
Kod Arduino do pomiaru wilgotności
Kod Arduino do pomiaru wilgotności
Kod Arduino do pomiaru wilgotności

Zacznijmy teraz od kodu Arduinoo.

Korzystając z modułu czujnika z Arduino, dołączamy bibliotekę Wire.h. Biblioteka "Wire" zawiera funkcje ułatwiające komunikację i2c pomiędzy czujnikiem a płytką Arduino.

Cały kod Arduino podano poniżej dla wygody użytkownika:

#włączać

// HYT939 adres I2C to 0x28(40)

#define Addr 0x28

pusta konfiguracja()

{

// Zainicjuj komunikację I2C jako MASTER

Wire.początek();

// Zainicjuj komunikację szeregową

Serial.początek(9600);

opóźnienie(300);

}

pusta pętla()

{

dane int bez znaku[4];

// Rozpocznij transmisję I2C

Wire.beginTransmisja(Addr);

// Wyślij polecenie trybu normalnego

Wire.write(0x80);

// Zatrzymaj transmisję I2C

Wire.endTransmission();

opóźnienie(300);

// Żądaj 4 bajtów danych

Wire.requestFrom(Addr, 4);

// Odczytaj 4 bajty danych

// wilgotność msb, wilgotność lsb, temp msb, temp lsb

if(Przewód.dostępny() == 4)

{

dane[0] = Przewód.odczyt();

dane[1] = Drut.odczyt();

dane[2] = Przewód.odczyt();

dane[3] = Przewód.odczyt();

// Konwertuj dane na 14-bitowe

wilgotność pływakowa = (((data[0] & 0x3F) * 256,0) + dane[1]) * (100,0 / 16383,0);

float cTemp = (((dane[2] * 256,0) + (dane[3] & 0xFC)) / 4) * (165,0 / 16383,0) - 40;

pływak fTemp = (cTemp * 1,8) + 32;

// Dane wyjściowe do monitora szeregowego

Serial.print("Wilgotność względna: ");

Serial.print(wilgotność);

Serial.println("%RH");

Serial.print("Temperatura w stopniach Celsjusza: ");

druk.seryjny(cTemp);

Serial.println("C");

Serial.print("Temperatura w stopniach Fahrenheita: ");

Serial.print(fTemp);

Serial.println(" F");

}

opóźnienie(300);

}

W bibliotece przewodów Wire.write() i Wire.read() są używane do zapisywania poleceń i odczytywania wyjścia czujnika. Kolejna część kodu ilustruje odczyt wyjścia czujnika.

// Odczyt 4 bajtów danych // wilgotność msb, wilgotność lsb, temp msb, temp lsb if(Wire.available() == 4) { data[0] = Wire.read(); dane[1] = Drut.odczyt(); dane[2] = Przewód.odczyt(); dane[3] = Przewód.odczyt();

}

Wyjście czujnika pokazano na powyższym obrazku.

Krok 4: Aplikacje:

Aplikacje
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.

Zalecana: