Sommario:

Misurazione dell'umidità con HYT939 e Arduino Nano: 4 passaggi
Misurazione dell'umidità con HYT939 e Arduino Nano: 4 passaggi

Video: Misurazione dell'umidità con HYT939 e Arduino Nano: 4 passaggi

Video: Misurazione dell'umidità con HYT939 e Arduino Nano: 4 passaggi
Video: Monitoring temperature and humidity using the Particle Photon 2024, Luglio
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 arduino nano. In questo tutorial viene dimostrato l'interfacciamento del modulo sensore HYT939 con arduino nano.

Per leggere i valori di umidità, abbiamo utilizzato arduino con un adattatore I2c. Questo adattatore I2C rende la connessione al modulo sensore semplice e affidabile.

Il protocollo di comunicazione su cui funziona il sensore è I2C. I2C sta per il circuito inter-integrato. È un protocollo di comunicazione in cui la comunicazione avviene tramite le linee SDA (dati seriali) e SCL (orologio seriale). Consente di collegare più dispositivi contemporaneamente. È uno dei protocolli di comunicazione più semplici ed efficienti.

Passaggio 1: hardware richiesto:

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

I materiali di cui abbiamo bisogno per raggiungere il nostro obiettivo includono i seguenti componenti hardware:

1. HYT939

2. Arduino Nano

3. Cavo I2C

4. Scudo I2C per Arduino nano

Passaggio 2: collegamento hardware:

Collegamento hardware
Collegamento hardware
Collegamento hardware
Collegamento hardware

La sezione di collegamento hardware spiega fondamentalmente le connessioni di cablaggio richieste tra il sensore e l'arduino nano. 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 Arduino per la misurazione dell'umidità:

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

Iniziamo ora con il codice Arduinoo.

Durante l'utilizzo del modulo sensore con Arduino, includiamo la libreria Wire.h. La libreria "Wire" contiene le funzioni che facilitano la comunicazione i2c tra il sensore e la scheda Arduino.

L'intero codice Arduino è riportato di seguito per comodità dell'utente:

#includere

// L'indirizzo I2C HYT939 è 0x28(40)

#define Indirizzo 0x28

configurazione nulla()

{

// Inizializza la comunicazione I2C come MASTER

Wire.begin();

// Inizializza la comunicazione seriale

Serial.begin(9600);

ritardo(300);

}

ciclo vuoto()

{

dati int non firmati[4];

// Avvia la trasmissione I2C

Wire.beginTransmission(Addr);

// Invia il comando in modalità normale

Wire.write(0x80);

// Interrompe la trasmissione I2C

Wire.endTransmission();

ritardo(300);

// Richiedi 4 byte di dati

Wire.requestFrom(Addr, 4);

// Legge 4 byte di dati

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

if(Filo.disponibile() == 4)

{

data[0] = Wire.read();

data[1] = Wire.read();

data[2] = Wire.read();

data[3] = Wire.read();

// Converti i dati in 14 bit

umidità galleggiante = (((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;

// Invia i dati al monitor seriale

Serial.print("Umidità relativa: ");

Serial.print(umidità);

Serial.println("%RH");

Serial.print("Temperatura in gradi Celsius: ");

Serial.print(cTemp);

Serial.println("C");

Serial.print("Temperatura in Fahrenheit: ");

Serial.print(fTemp);

Serial.println("F");

}

ritardo(300);

}

Nella libreria wire Wire.write() e Wire.read() viene utilizzato per scrivere i comandi e leggere l'output del sensore. La parte seguente del codice illustra la lettura dell'uscita del sensore.

// Legge 4 byte di dati // umidità msb, umidità lsb, temp msb, temp lsb if(Wire.available() == 4) { data[0] = Wire.read(); data[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read();

}

L'uscita del sensore è mostrata 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: