Мазмұны:

Raspberry Pi HTS221 салыстырмалы ылғалдылық пен температура сенсоры Java оқулығы: 4 қадам
Raspberry Pi HTS221 салыстырмалы ылғалдылық пен температура сенсоры Java оқулығы: 4 қадам

Бейне: Raspberry Pi HTS221 салыстырмалы ылғалдылық пен температура сенсоры Java оқулығы: 4 қадам

Бейне: Raspberry Pi HTS221 салыстырмалы ылғалдылық пен температура сенсоры Java оқулығы: 4 қадам
Бейне: Raspberry Pi HTS221 Relative Humidity and Temperature Sensor Java Tutorial 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 -қадам: Қосылымдар:

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Таңқурай пи үшін I2C қалқанын алыңыз және оны таңқурай пи gpio түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын HTS221 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Ethernet кабелін pi -ге қосыңыз немесе WiFi модулін қолдана аласыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

3 -қадам: код:

Код
Код

HTS221 үшін питон кодын біздің github репозиторийінен-Dcube дүкенінен жүктеуге болады

Міне, сол үшін сілтеме:

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

Біз Java коды үшін pi4j кітапханасын қолдандық, таңқурайға pi4j орнату қадамдары осында сипатталған:

pi4j.com/install.html

Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:

// Ерікті лицензиямен таратылды.

// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.

// HTS221

// Бұл код HTS221_I2CS I2C шағын модулімен жұмыс жасауға арналған.

com.pi4j.io.i2c. I2CBus импорттау;

com.pi4j.io.i2c. I2CDevice импорттау;

com.pi4j.io.i2c. I2CFactory импорттау;

java.io. IOException импорттау;

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 Гц

device.write (0x20, (байт) 0x85);

Thread.sleep (500);

// Құрылғының тұрақты емес жадынан калибрлеу мәндерін оқыңыз

// Ылғалдылықты калибрлеу мәндері

байт вал = жаңа байт [2];

// 0x30 (48) адресінен 1 байт деректерді оқу

val [0] = (байт) device.read (0x30);

// 0x31 (49) адресінен 1 байт деректерді оқу

val [1] = (байт) device.read (0x31);

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

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

// 0x36 (54) адресінен 1 байт деректерді оқу

val [0] = (байт) device.read (0x36);

// 0x37 (55) адресінен 1 байт деректерді оқу

val [1] = (байт) device.read (0x37);

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

// 0x3A (58) адресінен 1 байт деректерді оқу

val [0] = (байт) device.read (0x3A);

// 0x3B (59) адресінен 1 байт деректерді оқу

val [1] = (байт) device.read (0x3B);

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

// Температураны калибрлеу мәндері

// 0x32 (50) адресінен 1 байт деректерді оқу

int T0 = ((байт) device.read (0x32) & 0xFF);

// 0x33 (51) адресінен 1 байт деректерді оқу

int T1 = ((байт) device.read (0x33) & 0xFF);

// 0x35 (53) адресінен 1 байт деректерді оқу

int raw = ((байт) device.read (0x35) & 0x0F);

// Температураны калибрлеу мәндерін 10 битке түрлендіру

T0 = ((шикі & 0x03) * 256) + T0;

T1 = ((шикі & 0x0C) * 64) + T1;

// 0x3C (60) адресінен 1 байт деректерді оқу

val [0] = (байт) device.read (0x3C);

// 0x3D (61) адресінен 1 байт деректерді оқу

val [1] = (байт) device.read (0x3D);

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

// 0x3E (62) адресінен 1 байт деректерді оқу

val [0] = (байт) device.read (0x3E);

// 0x3F (63) адресінен 1 байт деректерді оқу

val [1] = (байт) device.read (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 ауаны ылғалдандырғыштар мен тоңазытқыштар сияқты әр түрлі тұтыну өнімдерінде қолданыла алады. Бұл сенсор ақылды үйді автоматтандыру, өнеркәсіптік автоматтандыру, тыныс алу құралдары, активтер мен тауарларды бақылау сияқты кең ауқымда қолданылады.

Ұсынылған: