Innholdsfortegnelse:

Måling av fuktighet ved bruk av HYT939 og Arduino Nano: 4 trinn
Måling av fuktighet ved bruk av HYT939 og Arduino Nano: 4 trinn

Video: Måling av fuktighet ved bruk av HYT939 og Arduino Nano: 4 trinn

Video: Måling av fuktighet ved bruk av HYT939 og Arduino Nano: 4 trinn
Video: Concept of LoRa Transmitter, BME280 Sensor and WiFi Webserver based on Arduino ESP32 (EP07) 2024, Juli
Anonim
Image
Image

HYT939 er en digital fuktighetssensor som fungerer på I2C kommunikasjonsprotokoll. Fuktighet er en sentral parameter når det gjelder medisinske systemer og laboratorier. Så for å nå disse målene prøvde vi å koble HYT939 til arduino nano. I denne opplæringen er grensesnittet mellom HYT939 sensormodulen og arduino nano demonstrert.

For å lese fuktighetsverdiene har vi brukt arduino med en I2c -adapter. Denne I2C -adapteren gjør tilkoblingen til sensormodulen enkel og mer pålitelig.

Kommunikasjonsprotokollen som sensoren fungerer på er I2C. I2C står for den interintegrerte kretsen. Det er en kommunikasjonsprotokoll der kommunikasjonen foregår gjennom SDA (seriell data) og SCL (seriell klokke) linjer. Det tillater tilkobling av flere enheter samtidig. Det er en av de enkleste og mest effektive kommunikasjonsprotokoller.

Trinn 1: Nødvendig maskinvare:

Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves
Maskinvare som kreves

Materialene vi trenger for å nå målet vårt inkluderer følgende maskinvarekomponenter:

1. HYT939

2. Arduino Nano

3. I2C -kabel

4. I2C -skjold for Arduino nano

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvarekoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og arduino nano. Å sikre riktige tilkoblinger er den grunnleggende nødvendigheten mens du arbeider på et hvilket som helst system for ønsket utgang. Så de nødvendige tilkoblingene er som følger:

HYT939 fungerer over I2C. Her er eksempel på koblingsskjema, som viser hvordan du kobler til hvert grensesnitt på sensoren.

Uten boksen er brettet konfigurert for et I2C-grensesnitt, derfor anbefaler vi å bruke denne tilkoblingen hvis du ellers er agnostiker. Alt du trenger er fire ledninger!

Bare fire tilkoblinger kreves Vcc, Gnd, SCL og SDA -pinner, og disse er koblet til ved hjelp av I2C -kabel.

Disse sammenhengene er vist på bildene ovenfor.

Trinn 3: Arduino -kode for fuktighetsmåling:

Arduino -kode for fuktighetsmåling
Arduino -kode for fuktighetsmåling
Arduino -kode for fuktighetsmåling
Arduino -kode for fuktighetsmåling

La oss begynne med Arduinoo -koden nå.

Mens vi bruker sensormodulen med Arduino, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket inneholder funksjonene som letter i2c -kommunikasjonen mellom sensoren og Arduino -kortet.

Hele Arduino -koden er gitt nedenfor for brukerens bekvemmelighet:

#inkludere

// HYT939 I2C -adressen er 0x28 (40)

#define Addr 0x28

ugyldig oppsett ()

{

// Initialiser I2C -kommunikasjon som MASTER

Wire.begin ();

// Initialiser seriekommunikasjon

Serial.begin (9600);

forsinkelse (300);

}

hulrom ()

{

usignerte int -data [4];

// Start I2C -overføring

Wire.beginTransmission (Addr);

// Send kommando for normal modus

Wire.write (0x80);

// Stopp I2C -overføring

Wire.endTransmission ();

forsinkelse (300);

// Be om 4 byte med data

Wire.requestFrom (Addr, 4);

// Les 4 byte med data

// fuktighet msb, fuktighet lsb, temp msb, temp lsb

hvis (Wire.available () == 4)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

// Konverter dataene til 14-bits

flytefuktighet = (((data [0] & 0x3F) * 256,0) + data [1]) * (100,0 / 16383,0);

float cTemp = (((data [2] * 256.0) + (data [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float fTemp = (cTemp * 1.8) + 32;

// Utdata til seriell skjerm

Serial.print ("Relativ fuktighet:");

Serial.print (fuktighet);

Serial.println (" %RH");

Serial.print ("Temperatur i Celsius:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Temperatur i Fahrenheit:");

Serial.print (fTemp);

Serial.println ("F");

}

forsinkelse (300);

}

I trådbiblioteket brukes Wire.write () og Wire.read () til å skrive kommandoene og lese sensorutgangen. Følgende del av koden illustrerer lesingen av sensorutgang.

// Les 4 byte med data // fuktighet msb, fuktighet lsb, temp msb, temp lsb hvis (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read ();

}

Sensorutgangen er vist på bildet ovenfor.

Trinn 4: Søknader:

Applikasjoner
Applikasjoner

HYT939 er en effektiv digital fuktighetssensor og brukes i medisinske systemer, Autoclaves. Trykkduggmåling og tørkesystemer finner også bruken av denne sensormodulen. I forskjellige laboratorier der passende fuktighetsnivå er en sentral parameter for å utføre eksperimenter, kan denne sensoren brukes der for fuktighetsmålinger.

Anbefalt: