Måling av fuktighet ved bruk av HYT939 og Raspberry Pi: 4 trinn
Måling av fuktighet ved bruk av HYT939 og Raspberry Pi: 4 trinn
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 bringebær pi. I denne opplæringen er grensesnittet mellom HYT939 sensormodulen og bringebær pi demonstrert, og programmeringen ved hjelp av Java -språk er også illustrert.

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

Trinn 1: Nødvendig maskinvare:

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

Maskinvare som kreves for å utføre oppgaven er som følger:

1. HYT939

2. Bringebær Pi

3. I2C -kabel

4. I2C Shield For Raspberry Pi

5. Ethernet -kabel

-

Trinn 2: Maskinvaretilkobling:

Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling
Maskinvaretilkobling

Maskinvaretilkoblingsdelen forklarer i utgangspunktet ledningsforbindelsene som kreves mellom sensoren og bringebær -pi. Å 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: Java -kode for fuktighetsmåling:

Java -kode for fuktighetsmåling
Java -kode for fuktighetsmåling
Java -kode for fuktighetsmåling
Java -kode for fuktighetsmåling

Fordelen med å bruke bringebær pi er at det gir deg fleksibiliteten til programmeringsspråket der du vil programmere brettet for å koble sensoren til det. Ved å utnytte denne fordelen med dette brettet, demonstrerer vi her programmeringen i Java. Java -koden for HYT939 kan lastes ned fra vårt github -fellesskap som er Dcube Store.

I tillegg til brukernes brukervennlighet, forklarer vi koden også her:

Som det første trinnet i kodingen må du laste ned pi4j -biblioteket i tilfelle java, fordi dette biblioteket støtter funksjonene som brukes i koden. Så for å laste ned biblioteket kan du besøke følgende lenke:

pi4j.com/install.html

Du kan også kopiere den fungerende java -koden for denne sensoren herfra:

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDenhet;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

offentlig klasse HYT939

{

public static void main (String args ) kaster Unntak

{

// Lag I2CBus

I2CBus -buss = I2CFactory.getInstance (I2CBus. BUS_1);

// Få I2C -enhet, HYT939 I2C -adressen er 0x28 (40)

I2CDevice -enhet = bus.getDevice (0x28);

// Send kommando for normal modus

device.write ((byte) 0x80);

Tråd. Sover (500);

// Les 4 byte med data

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

byte data = ny byte [4];

device.read (data, 0, 4);

// Konverter dataene til 14-bits

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

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

dobbelt fTemp = (cTemp * 1,8) + 32;

// Utdata til skjermen

System.out.printf ("Relativ fuktighet er: %.2f %% RH %n", fuktighet);

System.out.printf ("Temperaturen i Celsius er: %.2f C %n", cTemp);

System.out.printf ("Temperaturen i Fahrenheit er: %.2f F %n", fTemp);

}

}

Biblioteket som muliggjør i2c -kommunikasjon mellom sensoren og kortet er pi4j, dets forskjellige pakker I2CBus, I2CDevice og I2CFactory hjelper til med å etablere forbindelsen.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; importer com.pi4j.io.i2c. I2CFactory; importer java.io. IOException;

skrive () og lese () funksjoner brukes til å skrive noen bestemte kommandoer til sensoren for å få den til å fungere i en bestemt modus og lese henholdsvis sensorutgangen. Følgende del av koden illustrerer bruken av disse funksjonene.

// Send normal modus kommando device.write ((byte) 0x80); Tråd. Sover (500); // Les 4 byte med data // fuktighet msb, fuktighet lsb, temp msb, temp lsb byte data = ny byte [4]; device.read (data, 0, 4);

Sensorens utgang er også 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: