Indholdsfortegnelse:

Fugtighedsmåling ved hjælp af HYT939 og Arduino Nano: 4 trin
Fugtighedsmåling ved hjælp af HYT939 og Arduino Nano: 4 trin

Video: Fugtighedsmåling ved hjælp af HYT939 og Arduino Nano: 4 trin

Video: Fugtighedsmåling ved hjælp af HYT939 og Arduino Nano: 4 trin
Video: Hygrometer - DKvolt.DK 2024, November
Anonim
Image
Image

HYT939 er en digital fugtighedsføler, der fungerer på I2C kommunikationsprotokol. Fugtighed er en afgørende parameter, når det kommer til medicinske systemer og laboratorier, så for at nå disse mål forsøgte vi at interface HYT939 med arduino nano. I denne vejledning demonstreres grænsefladen mellem HYT939 sensormodulet og arduino nano.

For at aflæse fugtighedsværdierne har vi brugt arduino med en I2c -adapter. Denne I2C -adapter gør forbindelsen til sensormodulet let og mere pålidelig.

Kommunikationsprotokollen, som sensoren fungerer på, er I2C. I2C står for det interintegrerede kredsløb. Det er en kommunikationsprotokol, hvor kommunikationen finder sted gennem SDA (serielle data) og SCL (serielle ur) linjer. Det tillader tilslutning af flere enheder på samme tid. Det er en af de enkleste og mest effektive kommunikationsprotokoller.

Trin 1: Påkrævet hardware:

Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet
Hardware påkrævet

De materialer, vi har brug for for at nå vores mål, omfatter følgende hardwarekomponenter:

1. HYT939

2. Arduino Nano

3. I2C -kabel

4. I2C -skjold til Arduino nano

Trin 2: Hardware -tilslutning:

Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning
Hardware -tilslutning

Hardwaretilslutningssektionen forklarer dybest set de nødvendige ledningsforbindelser mellem sensoren og arduino nano. At sikre korrekte forbindelser er den grundlæggende nødvendighed, mens du arbejder på et hvilket som helst system til den ønskede output. Så de nødvendige forbindelser er som følger:

HYT939 fungerer over I2C. Her er eksemplet på ledningsdiagram, der viser, hvordan du tilslutter hver grænseflade på sensoren.

Out-of-the-box er tavlen konfigureret til en I2C-grænseflade, som sådan anbefaler vi at bruge denne tilslutning, hvis du ellers er agnostiker. Alt du behøver er fire ledninger!

Der kræves kun fire tilslutninger Vcc, Gnd, SCL og SDA ben, og disse er forbundet ved hjælp af I2C kabel.

Disse forbindelser er vist på billederne ovenfor.

Trin 3: Arduino -kode til måling af fugtighed:

Arduino -kode til måling af fugtighed
Arduino -kode til måling af fugtighed
Arduino -kode til måling af fugtighed
Arduino -kode til måling af fugtighed

Lad os starte med Arduinoo -koden nu.

Mens vi bruger sensormodulet med Arduino, inkluderer vi Wire.h -biblioteket. "Wire" -biblioteket indeholder de funktioner, der letter i2c -kommunikationen mellem sensoren og Arduino -kortet.

Hele Arduino -koden er angivet nedenfor for brugerens bekvemmelighed:

#omfatte

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

#define Addr 0x28

ugyldig opsætning ()

{

// Initialiser I2C -kommunikation som MASTER

Wire.begin ();

// Initialiser seriel kommunikation

Serial.begin (9600);

forsinkelse (300);

}

hulrum ()

{

usignerede int -data [4];

// Start I2C -transmission

Wire.beginTransmission (Addr);

// Send kommando i normal tilstand

Wire.write (0x80);

// Stop I2C -transmission

Wire.endTransmission ();

forsinkelse (300);

// Anmod om 4 bytes data

Wire.requestFrom (Addr, 4);

// Læs 4 bytes data

// fugtigheds msb, fugtighed 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-bit

flydefugtighed = (((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;

// Output data til seriel skærm

Serial.print ("Relativ fugtighed:");

Serielt tryk (fugtighed);

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 bruges Wire.write () og Wire.read () til at skrive kommandoer og læse sensoroutput. Følgende del af koden illustrerer aflæsning af sensoroutput.

// Læs 4 byte data // fugtigheds msb, fugtighed 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 ();

}

Sensorudgangen er vist på billedet ovenfor.

Trin 4: Ansøgninger:

Ansøgninger
Ansøgninger

HYT939, der er en effektiv digital fugtighedsføler, bruges i medicinske systemer, Autoclaves. Trykdugmåling og tørringssystemer finder også brugen af dette sensormodul. I forskellige laboratorier, hvor passende luftfugtighedsniveau er en central parameter for at udføre eksperimenter, kan denne sensor indsættes der til fugtighedsmålinger.

Anbefalede: