Агуулгын хүснэгт:

Raspberry Pi HTS221 харьцангуй чийгшил ба температур мэдрэгч Java заавар: 4 алхам
Raspberry Pi HTS221 харьцангуй чийгшил ба температур мэдрэгч Java заавар: 4 алхам

Видео: Raspberry Pi HTS221 харьцангуй чийгшил ба температур мэдрэгч Java заавар: 4 алхам

Видео: Raspberry Pi HTS221 харьцангуй чийгшил ба температур мэдрэгч Java заавар: 4 алхам
Видео: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Арваннэгдүгээр
Anonim
Image
Image

HTS221 бол харьцангуй чийгшил, температурын хэт авсаархан багтаамжтай дижитал мэдрэгч юм. Энэ нь дижитал цуваа интерфэйсээр хэмжилтийн мэдээллийг өгөх мэдрэгч элемент ба холимог дохионы хэрэглээний тусгай нэгдсэн хэлхээг (ASIC) агуулдаг. Олон тооны онцлог шинж чанар бүхий энэ нь чийгшил, температурыг хэмжих хамгийн тохиромжтой мэдрэгч юм. Raspberry Pi ашиглан java код бүхий жагсаал энд байна.

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Raspberry Pi

2. HTS221

3. I²C кабель

4. Raspberry Pi -ийн I²C бамбай

5. Ethernet кабель

Алхам 2: Холболтууд:

Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд

Бөөрөлзгөнө pi -д зориулсан I2C бамбай аваад бөөрөлзгөнө pi -ийн gpio тээглүүрээр зөөлөн дарна уу.

Дараа нь I2C кабелийн нэг үзүүрийг HTS221 мэдрэгч рүү, нөгөө үзүүрийг I2C бамбай руу холбоно.

Мөн Ethernet кабелийг pi руу холбоно уу, эсвэл WiFi модулийг ашиглаж болно.

Холболтыг дээрх зураг дээр харуулав.

Алхам 3: Код:

Код
Код

HTS221-ийн питон кодыг манай github репозитор-Dcube дэлгүүрээс татаж авах боломжтой

Үүнтэй ижил холбоос энд байна:

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

Бид java кодын хувьд pi4j номын санг ашигласан бөгөөд бөөрөлзгөнө pi дээр pi4j суулгах алхамуудыг энд тайлбарласан болно.

pi4j.com/install.html

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

// Хүсэл зоригийн лицензээр тараасан.

// Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй нийцсэн тохиолдолд ашиг, үнэгүй ашиглах боломжтой.

// HTS221

// Энэ код нь HTS221_I2CS I2C Mini модультай ажиллахад зориулагдсан болно.

com.pi4j.io.i2c. I2CBus импортлох;

com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох;

com.pi4j.io.i2c. I2CFactory импортлох;

java.io. IOException импортлох;

public class HTS221 {public static void main (String args ) онцгой тохиолдлыг шиддэг

{

// I2CBus үүсгэх

I2CBus автобус = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C төхөөрөмж авах, HTS221 I2C хаяг нь 0x5F (95)

I2CDevice төхөөрөмж = bus.getDevice (0x5F);

// Дундаж тохиргооны бүртгэлийг сонгоно уу

// Температурын дундаж дээж = 16, чийгшлийн дундаж дээж = 32

device.write (0x10, (байт) 0x1B);

// Хяналтын бүртгэлийг сонгоно уу1

// Асаах, өгөгдлийн шинэчлэлтийг хаах, өгөгдлийн хурд o/p = 1 Гц

төхөөрөмж. бичих (0x20, (байт) 0x85);

Thread.sleep (500);

// Төхөөрөмжийн санах ойгоос тохируулгын утгыг уншина уу

// Чийгийн шалгалт тохируулгын утга

байт val = шинэ байт [2];

// 0x30 (48) хаягаас 1 байт өгөгдлийг уншина уу

val [0] = (байт) төхөөрөмж. унших (0x30);

// 0x31 (49) хаягаас 1 байт өгөгдлийг уншина уу

val [1] = (байт) төхөөрөмж. унших (0x31);

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

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

// 0x36 (54) хаягаас 1 байтын өгөгдлийг уншина уу

val [0] = (байт) төхөөрөмж. унших (0x36);

// 0x37 (55) хаягаас 1 байтын өгөгдлийг уншина уу

val [1] = (байт) төхөөрөмж. унших (0x37);

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

// 0x3A (58) хаягаас 1 байт өгөгдлийг уншина уу

val [0] = (байт) төхөөрөмж. унших (0x3A);

// 0x3B (59) хаягаас 1 байтын өгөгдлийг уншина уу

val [1] = (байт) төхөөрөмж. унших (0x3B);

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

// Температурын тохируулгын утга

// 0x32 (50) хаягаас 1 байт өгөгдлийг уншина уу

int T0 = ((байт) төхөөрөмж. унших (0x32) & 0xFF);

// 0x33 (51) хаягаас 1 байтын өгөгдлийг уншина уу

int T1 = ((байт) төхөөрөмж. унших (0x33) & 0xFF);

// 0x35 (53) хаягаас 1 байт өгөгдлийг уншина уу

int raw = ((байт) төхөөрөмж. унших (0x35) & 0x0F);

// Температурын тохируулгын утгыг 10 бит болгон хөрвүүлнэ

T0 = ((түүхий & 0x03) * 256) + T0;

T1 = ((түүхий & 0x0C) * 64) + T1;

// 0x3C (60) хаягаас 1 байт өгөгдлийг уншина уу

val [0] = (байт) төхөөрөмж. унших (0x3C);

// 0x3D (61) хаягаас 1 байтын өгөгдлийг уншина уу

val [1] = (байт) төхөөрөмж. унших (0x3D);

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

// 0x3E (62) хаягаас 1 байтын өгөгдлийг уншина уу

val [0] = (байт) төхөөрөмж. унших (0x3E);

// 0x3F (63) хаягаас 1 байт өгөгдлийг уншина уу

val [1] = (байт) төхөөрөмж. унших (0x3F);

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

// 4 байтын өгөгдлийг уншина уу

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

байт өгөгдөл = шинэ байт [4]; device.read (0x28 | 0x80, өгөгдөл, 0, 4);

// Өгөгдлийг хөрвүүлэх

int hum = ((өгөгдөл [1] & 0xFF) * 256) + (өгөгдөл [0] & 0xFF);

int temp = ((өгөгдөл [3] & 0xFF) * 256) + (өгөгдөл [2] & 0xFF);

хэрэв (температур> 32767)

{

температур -= 65536;

}

давхар чийгшил = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

давхар cTemp = ((T1 - T0) / 8.0) * (температур - T2) / (T3 - T2) + (T0 / 8.0);

давхар fTemp = (cTemp * 1.8) + 32;

// Дэлгэц рүү өгөгдөл гаргана

System.out.printf ("Харьцангуй чийгшил: %.2f %% RH %n", чийгшил);

System.out.printf ("Цельсийн температур: %.2f C %n", cTemp);

System.out.printf ("Фаренгейт дэх температур: %.2f F %n", fTemp);

}

}

Алхам 4: Өргөдөл:

HTS221 -ийг агаарын чийгшүүлэгч, хөргөгч гэх мэт өргөн хэрэглээний бүтээгдэхүүнүүдэд ашиглаж болно. Энэхүү мэдрэгч нь ухаалаг гэрийн автоматжуулалт, үйлдвэрлэлийн автоматжуулалт, амьсгалын төхөөрөмж, эд хөрөнгө, бараа бүтээгдэхүүний хяналт зэрэг өргөн хүрээнд хэрэглэгддэг.

Зөвлөмж болгож буй: