Sommario:

Misurazione dell'umidità con HYT939 e Raspberry Pi: 4 passaggi
Misurazione dell'umidità con HYT939 e Raspberry Pi: 4 passaggi

Video: Misurazione dell'umidità con HYT939 e Raspberry Pi: 4 passaggi

Video: Misurazione dell'umidità con HYT939 e Raspberry Pi: 4 passaggi
Video: Monitoring temperature and humidity using the Particle Photon 2024, Novembre
Anonim
Image
Image

HYT939 è un sensore di umidità digitale che funziona su protocollo di comunicazione I2C. L'umidità è un parametro fondamentale quando si tratta di sistemi e laboratori medici, quindi per raggiungere questi obiettivi abbiamo cercato di interfacciare HYT939 con lampone pi. In questo tutorial viene dimostrata l'interfacciamento del modulo sensore HYT939 con raspberry pi ed è stata anche illustrata la sua programmazione in linguaggio Java.

Per leggere i valori di umidità, abbiamo utilizzato Raspberry Pi con un adattatore I2c. Questo adattatore I2C rende la connessione al modulo sensore facile e più affidabile.

Passaggio 1: hardware richiesto:

Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto
Hardware richiesto

L'hardware necessario per eseguire l'attività è il seguente:

1. HYT939

2. Raspberry Pi

3. Cavo I2C

4. Scudo I2C per Raspberry Pi

5. Cavo Ethernet

-

Passaggio 2: collegamento hardware:

Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware

La sezione relativa ai collegamenti hardware spiega sostanzialmente le connessioni di cablaggio necessarie tra il sensore e il Raspberry Pi. Garantire connessioni corrette è la necessità di base mentre si lavora su qualsiasi sistema per l'output desiderato. Quindi, i collegamenti necessari sono i seguenti:

L'HYT939 funzionerà su I2C. Ecco lo schema elettrico di esempio, che mostra come cablare ciascuna interfaccia del sensore.

Di default, la scheda è configurata per un'interfaccia I2C, quindi consigliamo di utilizzare questo collegamento se sei altrimenti agnostico. Tutto ciò di cui hai bisogno sono quattro fili!

Sono necessarie solo quattro connessioni pin Vcc, Gnd, SCL e SDA e questi sono collegati con l'aiuto del cavo I2C.

Queste connessioni sono mostrate nelle immagini sopra.

Passaggio 3: codice Java per la misurazione dell'umidità:

Codice Java per la misurazione dell'umidità
Codice Java per la misurazione dell'umidità
Codice Java per la misurazione dell'umidità
Codice Java per la misurazione dell'umidità

Il vantaggio dell'utilizzo di raspberry pi è che fornisce la flessibilità del linguaggio di programmazione in cui si desidera programmare la scheda per interfacciare il sensore con essa. Sfruttando questo vantaggio di questa scheda, dimostriamo qui la sua programmazione in Java. Il codice java per HYT939 può essere scaricato dalla nostra comunità github che è Dcube Store.

Oltre che per la facilità degli utenti, spieghiamo anche qui il codice:

Come primo passo della codifica è necessario scaricare la libreria pi4j in caso di java, perché questa libreria supporta le funzioni utilizzate nel codice. Quindi, per scaricare la libreria puoi visitare il seguente link:

pi4j.com/install.html

Puoi copiare il codice Java funzionante per questo sensore anche da qui:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

classe pubblica HYT939

{

public static void main(String args) genera un'eccezione

{

// Crea I2CBus

I2CBus bus = I2CFactory.getInstance(I2CBus. BUS_1);

// Ottieni il dispositivo I2C, l'indirizzo I2C HYT939 è 0x28(40)

I2CDevice device = bus.getDevice(0x28);

// Invia il comando in modalità normale

device.write((byte)0x80);

Thread.sleep(500);

// Legge 4 byte di dati

// umidità msb, umidità lsb, temp msb, temp lsb

byte dati = nuovo byte[4];

device.read(data, 0, 4);

// Converti i dati in 14 bit

doppia umidità = (((data[0] & 0x3F) * 256) + (data[1] & 0xFF)) * (100.0 / 16383.0);

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

doppia fTemp = (cTemp * 1.8) + 32;

// Invia i dati allo schermo

System.out.printf("L'umidità relativa è: %.2f %%UR %n", umidità);

System.out.printf("La temperatura in gradi Celsius è: %.2f C %n", cTemp);

System.out.printf("La temperatura in Fahrenheit è: %.2f F %n", fTemp);

}

}

La libreria che facilita la comunicazione i2c tra il sensore e la scheda è pi4j, i suoi vari pacchetti I2CBus, I2CDevice e I2CFactory aiutano a stabilire la connessione.

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

Le funzioni write() e read() vengono utilizzate per scrivere alcuni comandi particolari sul sensore per farlo funzionare in una modalità particolare e leggere rispettivamente l'output del sensore. La parte seguente del codice illustra l'utilizzo di queste funzioni.

// Invia il comando in modalità normale device.write((byte)0x80); Thread.sleep(500); // Legge 4 byte di dati // umidità msb, umidità lsb, temp msb, temp lsb byte data = new byte[4]; device.read(data, 0, 4);

L'uscita del sensore è mostrata anche nell'immagine sopra.

Passaggio 4: applicazioni:

Applicazioni
Applicazioni

HYT939 essendo un efficiente sensore di umidità digitale sono impiegati in sistemi medici, autoclavi. Anche la misurazione del punto di rugiada in pressione e i sistemi di asciugatura trovano l'uso di questo modulo sensore. In vari laboratori in cui il livello di umidità appropriato è un parametro fondamentale per condurre esperimenti, questo sensore può essere utilizzato per le misurazioni dell'umidità.

Consigliato: