Мазмұны:

Photon Particle - HDC1000 температура сенсорының оқулығы: 4 қадам
Photon Particle - HDC1000 температура сенсорының оқулығы: 4 қадам

Бейне: Photon Particle - HDC1000 температура сенсорының оқулығы: 4 қадам

Бейне: Photon Particle - HDC1000 температура сенсорының оқулығы: 4 қадам
Бейне: How to interface with HDC1080 humidity and temperature sensor with Arduino using I2C 2024, Қыркүйек
Anonim
Image
Image

HDC1000 - өте төмен қуатта өлшеудің дәлдігін қамтамасыз ететін кіріктірілген температура сенсоры бар цифрлық ылғалдылық сенсоры. Құрылғы жаңа сыйымдылық сенсорының негізінде ылғалдылықты өлшейді. Ылғалдылық пен температура сенсорлары зауытта калибрленген. Ол -40 ° C -тан +125 ° C -қа дейінгі температура аралығында жұмыс істейді. Міне, оның фотондық бөлшектермен демонстрациясы.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Бөлшек фотон

2. HDC1000

3. I²C кабелі

4. Бөлшек фотонға арналған I²C қалқаны

2 -қадам: Қосылу:

Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу

Бөлшек фотоны үшін I2C қалқаншасын алыңыз және оны фотон бөлшектерінің түйреуіштерінен ақырын итеріңіз.

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

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

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

Код
Код

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

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

github.com/DcubeTechVentures/HDC1000…

HDC1000 мәліметтер кестесін мына жерден табуға болады:

www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf

Біз бөлшек коды үшін екі кітапхананы қолдандық, олар application.h және spark_wiring_i2c.h. Сенсормен I2C байланысын жеңілдету үшін Spark_wiring_i2c кітапханасы қажет.

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

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

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

// HDC1000

// Бұл код Dcube дүкенінде қол жетімді HDC1000_I2CS I2C шағын модулімен жұмыс істеуге арналған.

#қосу

#қосу

// HDC1000 I2C мекенжайы - 0x40 (64)

#анықтайтын Addr 0x40

float cTemp = 0,0, fTemp = 0,0, ылғалдылық = 0,0;

int temp = 0, hum = 0;

жарамсыз орнату ()

{

// Айнымалыны орнатыңыз

Particle.variable («i2cdevice», «HDC1000»);

Бөлшек.өзгермелі («ылғалдылық», ылғалдылық);

Particle.variable («cTemp», cTemp);

// I2C байланысын бастаңыз

Wire.begin ();

// Сериялық байланысты орнатыңыз, жіберу жылдамдығы = 9600

Serial.begin (9600);

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Конфигурация регистрін таңдаңыз

Wire.write (0x02);

// Температура, ылғалдылық қосылған, ажыратымдылық = 14 бит, жылытқыш қосулы

Wire.write (0x30);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (300);

}

бос цикл ()

{

қол қойылмаған int деректері [2];

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Температураны өлшеу пәрменін жіберіңіз

Wire.write (0x00);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (500);

// 2 байт деректерді сұрау

Wire.requestFrom (Addr, 2);

// 2 байт деректерді оқу

// temp msb, temp lsb

егер (Wire.available () == 2)

{

деректер [0] = Wire.read ();

деректер [1] = Wire.read ();

}

// Деректерді түрлендіру

temp = ((деректер [0] * 256) + деректер [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Ылғалдылықты өлшеу пәрменін жіберіңіз

Wire.write (0x01);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (500);

// 2 байт деректерді сұрау

Wire.requestFrom (Addr, 2);

// 2 байт деректерді оқу

// temp msb, temp lsb

егер (Wire.available () == 2)

{

деректер [0] = Wire.read ();

деректер [1] = Wire.read ();

}

// Деректерді түрлендіру

hum = ((деректер [0] * 256) + деректер [1]);

ылғалдылық = (хум / 65536,0) * 100,0;

// Деректерді бақылау тақтасына шығару

Particle.publish («Салыстырмалы ылғалдылық:», Жол (ылғалдылық));

Particle.publish («Цельсий бойынша температура:», String (cTemp));

Particle.publish («Фаренгейт температурасы:», String (fTemp));

кешіктіру (1000);

}

4 -қадам: Өтініштер:

HDC1000 жылыту, желдету және кондиционерлеу (HVAC), ақылды термостаттар мен бөлме мониторларында қолдануға болады. Бұл сенсор сонымен қатар принтерлерде, қол өлшегіштерде, медициналық құрылғыларда, жүктерді тасымалдауда, сондай -ақ автокөлік әйнектерін тазартуда қолданылады.

Ұсынылған: