Obsah:

Raspberry Pi HTS221 Senzor relatívnej vlhkosti a teploty Java Výukový program: 4 kroky
Raspberry Pi HTS221 Senzor relatívnej vlhkosti a teploty Java Výukový program: 4 kroky

Video: Raspberry Pi HTS221 Senzor relatívnej vlhkosti a teploty Java Výukový program: 4 kroky

Video: Raspberry Pi HTS221 Senzor relatívnej vlhkosti a teploty Java Výukový program: 4 kroky
Video: BME280 Sensor Test with Arduino: pressure, humidity and temperature for the New Chronograph Project 2024, November
Anonim
Image
Image

HTS221 je ultrakompaktný kapacitný digitálny snímač relatívnej vlhkosti a teploty. Obsahuje snímací prvok a integrovaný obvod špecifický pre zmiešaný signál (ASIC) na poskytovanie informácií o meraní prostredníctvom digitálnych sériových rozhraní. Integrovaný s toľkými funkciami, je to jeden z najvhodnejších senzorov pre kritické merania vlhkosti a teploty. Tu je ukážka s java kódom pomocou Raspberry Pi.

Krok 1: Čo potrebujete.. !

Čo potrebuješ..!!
Čo potrebuješ..!!

1. Raspberry Pi

2. HTS221

3. Kábel I²C

4. I²C štít pre Raspberry Pi

5. Ethernetový kábel

Krok 2: Pripojenia:

Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia
Pripojenia

Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.

Potom pripojte jeden koniec kábla I2C k senzoru HTS221 a druhý koniec k štítu I2C.

Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.

Pripojenia sú znázornené na obrázku vyššie.

Krok 3: Kód:

Kód
Kód

Pythonový kód pre HTS221 je možné stiahnuť z nášho úložiska github-Dcube Store

Tu je odkaz na to isté:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

Na kód java sme použili knižnicu pi4j, kroky na inštaláciu pi4j na malinový pi sú popísané tu:

pi4j.com/install.html

Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:

// Distribuované s licenciou slobodnej vôle.

// Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií k ním pridruženým dielam.

// HTS221

// Tento kód je navrhnutý tak, aby fungoval s mini modulom HTS221_I2CS I2C.

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

public class HTS221 {public static void main (String args ) throws Exception

{

// Vytvorte I2CBus

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

// Získať zariadenie I2C, adresa HTS221 I2C je 0x5F (95)

I2CDevice zariadenie = bus.getDevice (0x5F);

// Vyberte priemerný konfiguračný register

// Priemerné teplotné vzorky = 16, priemerné vlhkostné vzorky = 32

device.write (0x10, (byte) 0x1B);

// Vyberte riadiaci register1

// Zapnutie, aktualizácia blokovaných údajov, dátový tok o/p = 1 Hz

device.write (0x20, (byte) 0x85);

Thread.sleep (500);

// Prečítajte hodnoty kalibrácie z energeticky nezávislej pamäte zariadenia

// Hodnoty kalibrácie vlhkosti

bajt val = nový bajt [2];

// Prečítajte 1 bajt údajov z adresy 0x30 (48)

val [0] = (bajt) device.read (0x30);

// Prečítajte 1 bajt údajov z adresy 0x31 (49)

val [1] = (bajt) device.read (0x31);

int H0 = (val [0] & 0xFF) / 2;

int H1 = (val [1] & 0xFF) / 2;

// Prečítajte 1 bajt údajov z adresy 0x36 (54)

val [0] = (bajt) device.read (0x36);

// Prečítajte 1 bajt údajov z adresy 0x37 (55)

val [1] = (bajt) device.read (0x37);

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Prečítajte 1 bajt údajov z adresy 0x3A (58)

val [0] = (bajt) device.read (0x3A);

// Prečítajte 1 bajt údajov z adresy 0x3B (59)

val [1] = (bajt) device.read (0x3B);

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Hodnoty kalibrácie teploty

// Prečítajte 1 bajt údajov z adresy 0x32 (50)

int T0 = ((byte) device.read (0x32) & 0xFF);

// Prečítajte 1 bajt údajov z adresy 0x33 (51)

int T1 = ((byte) device.read (0x33) & 0xFF);

// Prečítajte 1 bajt údajov z adresy 0x35 (53)

int raw = ((byte) device.read (0x35) & 0x0F);

// Konvertujte hodnoty kalibrácie teploty na 10-bitové

T0 = ((surový & 0x03) * 256) + T0;

T1 = ((surový & 0x0C) * 64) + T1;

// Prečítajte 1 bajt údajov z adresy 0x3C (60)

val [0] = (bajt) device.read (0x3C);

// Prečítajte 1 bajt údajov z adresy 0x3D (61)

val [1] = (bajt) device.read (0x3D);

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Prečítajte 1 bajt údajov z adresy 0x3E (62)

val [0] = (bajt) device.read (0x3E);

// Prečítajte 1 bajt údajov z adresy 0x3F (63)

val [1] = (bajt) device.read (0x3F);

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// Prečítajte 4 bajty údajov

// hum msb, hum lsb, temp msb, temp lsb

bajt dáta = nový bajt [4]; device.read (0x28 | 0x80, data, 0, 4);

// Previesť údaje

int hum = ((údaje [1] & 0xFF) * 256) + (údaje [0] & 0xFF);

int temp = ((údaje [3] & 0xFF) * 256) + (údaje [2] & 0xFF);

ak (teplota> 32767)

{

teplota -= 65536;

}

dvojnásobná vlhkosť = ((1,0 * H1) - (1,0 * H0)) * (1,0 * hukot - 1,0 * H2) / (1,0 * H3 - 1,0 * H2) + (1,0 * H0);

dvojnásobná teplota c = ((T1 - T0) / 8,0) * (teplota - T2) / (T3 - T2) + (T0 / 8,0);

dvojnásobok fTemp = (cTemp * 1,8) + 32;

// Výstup údajov na obrazovku

System.out.printf ("Relatívna vlhkosť: %.2f %% relatívna vlhkosť %n", vlhkosť);

System.out.printf ("Teplota v stupňoch Celzia: %.2f C %n", cTemp);

System.out.printf ("Teplota vo Fahrenheite: %.2f F %n", fTemp);

}

}

Krok 4: Aplikácie:

HTS221 je možné použiť v rôznych spotrebiteľských výrobkoch, ako sú zvlhčovače vzduchu a chladničky atď. Tento senzor nachádza svoje uplatnenie aj v širšej oblasti, vrátane inteligentnej domácej automatizácie, priemyselnej automatizácie, respiračných zariadení, sledovania majetku a tovaru.

Odporúča: